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;
}