You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2010/12/20 18:05:22 UTC
svn commit: r1051210 - in
/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message:
WSSecEncrypt.java token/SecurityTokenReference.java
Author: coheigea
Date: Mon Dec 20 17:05:21 2010
New Revision: 1051210
URL: http://svn.apache.org/viewvc?rev=1051210&view=rev
Log:
[WSS-260] - WSS4J now calls back to a CallbackHandler to get SAML Assertions tha
t are not in the message.
- Also fixing a regression in WSSecEncrypt.
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java
Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java?rev=1051210&r1=1051209&r2=1051210&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java (original)
+++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java Mon Dec 20 17:05:21 2010
@@ -499,7 +499,6 @@ public class WSSecEncrypt extends WSSecE
private KeyInfo createKeyInfo() throws WSSecurityException {
KeyInfo keyInfo = new KeyInfo(document);
-
if (keyIdentifierType == WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER) {
SecurityTokenReference secToken = new SecurityTokenReference(document);
secToken.addWSSENamespace();
@@ -515,6 +514,7 @@ public class WSSecEncrypt extends WSSecE
} else if (SecurityTokenReference.SAML_ID_URI.equals(customReferenceValue)) {
SecurityTokenReference secToken = new SecurityTokenReference(document);
secToken.setSAMLKeyIdentifier((encKeyIdDirectId ? "":"#") + encKeyId);
+ keyInfo.addUnknownElement(secToken.getElement());
} else if (securityTokenReference != null) {
Element tmpE = securityTokenReference.getElement();
tmpE.setAttributeNS(
Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java?rev=1051210&r1=1051209&r2=1051210&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java (original)
+++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java Mon Dec 20 17:05:21 2010
@@ -261,7 +261,8 @@ public class SecurityTokenReference {
//
// Try to find a custom token
//
- if (WSConstants.WSC_SCT.equals(type) && cb != null) {
+ if (cb != null && (WSConstants.WSC_SCT.equals(type) ||
+ WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(type) || assertionStr.equals(type))) {
//try to find a custom token
WSPasswordCallback pwcb =
new WSPasswordCallback(id, WSPasswordCallback.CUSTOM_TOKEN);