Author: ruchithf
Date: Sat Jul  7 07:45:27 2007
New Revision: 554212

URL: http://svn.apache.org/viewvc?view=rev&rev=554212
Log:
Updated SAML token issuer to pick the certificate by the username when 
requesting for a SAML token that includes the requestor's cert authenticated by 
a UsernameToken
Got rid of the depreceated message receiver that STSMessageReceiver extended


Modified:
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java?view=diff&rev=554212&r1=554211&r2=554212
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
 Sat Jul  7 07:45:27 2007
@@ -16,18 +16,18 @@
 
 package org.apache.rahas;
 
-import javax.xml.namespace.QName;
-
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.Parameter;
-import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver;
+import org.apache.axis2.receivers.AbstractInOutMessageReceiver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-public class STSMessageReceiver extends AbstractInOutSyncMessageReceiver {
+import javax.xml.namespace.QName;
+
+public class STSMessageReceiver extends AbstractInOutMessageReceiver {
     
        private static final Log log = 
LogFactory.getLog(STSMessageReceiver.class);
     
@@ -66,5 +66,6 @@
             throw new AxisFault(e.getFaultString(), e.getFaultCode());
         }
     }
+
 
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java?view=diff&rev=554212&r1=554211&r2=554212
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
 Sat Jul  7 07:45:27 2007
@@ -120,6 +120,7 @@
             
             client.getServiceContext().setProperty(RAMPART_POLICY, 
issuerPolicy);
             client.getOptions().setSoapVersionURI(this.soapVersion); 
+            client.engageModule("addressing");
 
             //Process the STS and service policy policy
             this.processPolicy(issuerPolicy, servicePolicy);

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java?view=diff&rev=554212&r1=554211&r2=554212
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
 Sat Jul  7 07:45:27 2007
@@ -332,7 +332,16 @@
                         subjectNameId, null, SAMLNameIdentifier.FORMAT_EMAIL);
 
                 // Create the ds:KeyValue element with the ds:X509Data
-                byte[] clientCertBytes = data.getClientCert().getEncoded();
+                X509Certificate clientCert = data.getClientCert();
+
+                if(clientCert == null) {
+                    X509Certificate[] certs = crypto.getCertificates(
+                            data.getPrincipal().getName());
+                    clientCert = certs[0];
+                }
+
+                byte[] clientCertBytes = clientCert.getEncoded();
+
                 String base64Cert = Base64.encode(clientCertBytes);
 
                 Text base64CertText = doc.createTextNode(base64Cert);
@@ -349,9 +358,7 @@
                 return this.createAuthAssertion(doc,
                         SAMLSubject.CONF_HOLDER_KEY, nameId, keyValueElem,
                         config, crypto, creationTime, expirationTime);
-            } catch (SAMLException e) {
-                throw new TrustException("samlAssertionCreationError", e);
-            } catch (CertificateEncodingException e) {
+            } catch (Exception e) {
                 throw new TrustException("samlAssertionCreationError", e);
             }
         }


Reply via email to