Author: coheigea
Date: Tue Mar  1 17:09:15 2011
New Revision: 1075926

URL: http://svn.apache.org/viewvc?rev=1075926&view=rev
Log:
Always set the SAML AssertionWrapper instance on the CustomPrincipal.

Modified:
    
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java

Modified: 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java?rev=1075926&r1=1075925&r2=1075926&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java
 (original)
+++ 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java
 Tue Mar  1 17:09:15 2011
@@ -134,7 +134,7 @@ public class SignatureSTRParser implemen
                         certs = new X509Certificate[]{foundCerts[0]};
                     }
                     secretKey = samlKi.getSecret();
-                    principal = createPrincipalFromSAMLKeyInfo(samlKi, 
assertion);
+                    principal = createPrincipalFromSAML(assertion);
                 } else if (el.equals(WSSecurityEngine.ENCRYPTED_KEY)){
                     EncryptedKeyProcessor proc = 
                         new EncryptedKeyProcessor();
@@ -201,7 +201,7 @@ public class SignatureSTRParser implemen
                     }
                     secretKey = keyInfo.getSecret();
                     publicKey = keyInfo.getPublicKey();
-                    principal = createPrincipalFromSAMLKeyInfo(keyInfo, 
assertion);
+                    principal = createPrincipalFromSAML(assertion);
                 }
             }
         } else if (secRef.containsX509Data() || 
secRef.containsX509IssuerSerial()) {
@@ -229,7 +229,7 @@ public class SignatureSTRParser implemen
                 }
                 secretKey = samlKi.getSecret();
                 publicKey = samlKi.getPublicKey();
-                principal = createPrincipalFromSAMLKeyInfo(samlKi, assertion);
+                principal = createPrincipalFromSAML(assertion);
             } else {
                 X509Certificate[] foundCerts = secRef.getKeyIdentifier(crypto);
                 if (foundCerts != null) {
@@ -333,23 +333,15 @@ public class SignatureSTRParser implemen
     }
     
     /**
-     * A method to create a Principal from a SAML KeyInfo
-     * @param samlKeyInfo The SAML KeyInfo object
+     * A method to create a Principal from a SAML Assertion
      * @param assertion An AssertionWrapper object
      * @return A principal
      */
-    private static Principal createPrincipalFromSAMLKeyInfo(
-        SAMLKeyInfo samlKeyInfo,
+    private static Principal createPrincipalFromSAML(
         AssertionWrapper assertion
     ) {
-        X509Certificate[] samlCerts = samlKeyInfo.getCerts();
-        Principal principal = null;
-        if (samlCerts != null && samlCerts.length > 0) {
-            principal = samlCerts[0].getSubjectX500Principal();
-        } else {
-            principal = new CustomTokenPrincipal(assertion.getId());
-            ((CustomTokenPrincipal)principal).setTokenObject(assertion);
-        }
+        Principal principal = new CustomTokenPrincipal(assertion.getId());
+        ((CustomTokenPrincipal)principal).setTokenObject(assertion);
         return principal;
     }
     


Reply via email to