Author: ruchithf
Date: Thu Apr 6 23:13:27 2006
New Revision: 392195
URL: http://svn.apache.org/viewcvs?rev=392195&view=rev
Log:
The derived key can use an external STR element to refer to the token used to
derive the key (This is required to support the usage of
RequestedAttachedReference and RequestedUnattachedReference in the WS-Trust
spec)
Modified:
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
webservices/wss4j/trunk/src/org/apache/ws/security/message/token/DerivedKeyToken.java
Modified:
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
URL:
http://svn.apache.org/viewcvs/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java?rev=392195&r1=392194&r2=392195&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
(original)
+++
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
Thu Apr 6 23:13:27 2006
@@ -84,6 +84,10 @@
*/
protected abstract int getDerivedKeyLength() throws WSSecurityException;
+ /**
+ * The wsse:SecurityTokenReference element to be used
+ */
+ protected Element strElem;
/**
* @param ephemeralKey The ephemeralKey to set.
@@ -93,7 +97,15 @@
this.ephemeralKey = ephemeralKey;
this.tokenIdentifier = tokenIdentifier;
}
-
+
+ /**
+ * @param ephemeralKey The ephemeralKey to set.
+ */
+ public void setExternalKey(byte[] ephemeralKey,
+ Element strElem) {
+ this.ephemeralKey = ephemeralKey;
+ this.strElem = strElem;
+ }
/**
* @return Returns the tokenIdentifier.
@@ -168,12 +180,17 @@
dkt.setNonce(Base64.encode(nonce));
dkt.setOffset(offset);
dkt.setID(dktId);
- //Create the SecurityTokenRef to the Encrypted Key
- SecurityTokenReference strEncKey = new
SecurityTokenReference(document);
- Reference ref = new Reference(document);
- ref.setURI("#" + this.tokenIdentifier);
- strEncKey.setReference(ref);
- dkt.setSecuityTokenReference(strEncKey);
+
+ if(this.strElem == null) {
+ //Create the SecurityTokenRef to the Encrypted Key
+ SecurityTokenReference strEncKey = new
SecurityTokenReference(document);
+ Reference ref = new Reference(document);
+ ref.setURI("#" + this.tokenIdentifier);
+ strEncKey.setReference(ref);
+ dkt.setSecuityTokenReference(strEncKey);
+ } else {
+ dkt.setSecuityTokenReference(this.strElem);
+ }
}
Modified:
webservices/wss4j/trunk/src/org/apache/ws/security/message/token/DerivedKeyToken.java
URL:
http://svn.apache.org/viewcvs/webservices/wss4j/trunk/src/org/apache/ws/security/message/token/DerivedKeyToken.java?rev=392195&r1=392194&r2=392195&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/org/apache/ws/security/message/token/DerivedKeyToken.java
(original)
+++
webservices/wss4j/trunk/src/org/apache/ws/security/message/token/DerivedKeyToken.java
Thu Apr 6 23:13:27 2006
@@ -130,6 +130,11 @@
//WSSecurityUtil.appendChildElement(doc, this.element,
ref.getElement());
this.element.appendChild(ref.getElement());
}
+
+ public void setSecuityTokenReference(Element elem) {
+ this.elementSecurityTokenReference = elem;
+ this.element.appendChild(elem);
+ }
/**
* Returns the SecurityTokenReference of the derived key token
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]