Author: dkulp
Date: Thu Mar 10 02:39:08 2011
New Revision: 1080110
URL: http://svn.apache.org/viewvc?rev=1080110&view=rev
Log:
Slight performance bump by allowing existing WSSConfig to be passed into
WSSecBase objects instead of creating a new default instance in the constructor.
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSecurityEngine.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/EncryptionAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureConfirmationAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/TimestampAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenSignedAction.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecBase.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKEncrypt.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDerivedKeyBase.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureBase.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureConfirmation.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecTimestamp.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecUsernameToken.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/SAMLUtil.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/misc/FaultCodeTest.java
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSecurityEngine.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSecurityEngine.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSecurityEngine.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSecurityEngine.java
Thu Mar 10 02:39:08 2011
@@ -372,7 +372,7 @@ public class WSSecurityEngine {
QName el = new QName(node.getNamespaceURI(),
node.getLocalName());
// Check for multiple timestamps
- if (wssConfig.isWsiBSPCompliant()) {
+ if (requestData.getWssConfig().isWsiBSPCompliant()) {
if (foundTimestamp && el.equals(TIMESTAMP)) {
if (doDebug) {
log.debug(
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/EncryptionAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/EncryptionAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/EncryptionAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/EncryptionAction.java
Thu Mar 10 02:39:08 2011
@@ -31,8 +31,7 @@ import org.w3c.dom.Document;
public class EncryptionAction implements Action {
public void execute(WSHandler handler, int actionToDo, Document doc,
RequestData reqData)
throws WSSecurityException {
- WSSecEncrypt wsEncrypt = new WSSecEncrypt();
- wsEncrypt.setWsConfig(reqData.getWssConfig());
+ WSSecEncrypt wsEncrypt = new WSSecEncrypt(reqData.getWssConfig());
if (reqData.getEncKeyId() != 0) {
wsEncrypt.setKeyIdentifierType(reqData.getEncKeyId());
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java
Thu Mar 10 02:39:08 2011
@@ -62,8 +62,7 @@ public class SAMLTokenSignedAction imple
throw new WSSecurityException("WSHandler: Signed SAML: no SAML
token received");
}
- WSSecSignatureSAML wsSign = new WSSecSignatureSAML();
- wsSign.setWsConfig(reqData.getWssConfig());
+ WSSecSignatureSAML wsSign = new
WSSecSignatureSAML(reqData.getWssConfig());
String password =
handler.getPassword(reqData.getUsername(),
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java
Thu Mar 10 02:39:08 2011
@@ -31,8 +31,7 @@ public class SAMLTokenUnsignedAction ext
public void execute(WSHandler handler, int actionToDo, Document doc,
RequestData reqData)
throws WSSecurityException {
- WSSecSAMLToken builder = new WSSecSAMLToken();
- builder.setWsConfig(reqData.getWssConfig());
+ WSSecSAMLToken builder = new WSSecSAMLToken(reqData.getWssConfig());
SAMLIssuer saml = loadSamlIssuer(handler, reqData);
AssertionWrapper assertion = saml.newAssertion();
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureAction.java
Thu Mar 10 02:39:08 2011
@@ -37,8 +37,7 @@ public class SignatureAction implements
WSHandlerConstants.PW_CALLBACK_CLASS,
WSHandlerConstants.PW_CALLBACK_REF, reqData
);
- WSSecSignature wsSign = new WSSecSignature();
- wsSign.setWsConfig(reqData.getWssConfig());
+ WSSecSignature wsSign = new WSSecSignature(reqData.getWssConfig());
if (reqData.getSigKeyId() != 0) {
wsSign.setKeyIdentifierType(reqData.getSigKeyId());
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureConfirmationAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureConfirmationAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureConfirmationAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/SignatureConfirmationAction.java
Thu Mar 10 02:39:08 2011
@@ -74,7 +74,7 @@ public class SignatureConfirmationAction
//
// prepare a SignatureConfirmation token
//
- WSSecSignatureConfirmation wsc = new WSSecSignatureConfirmation();
+ WSSecSignatureConfirmation wsc = new
WSSecSignatureConfirmation(reqData.getWssConfig());
List<WSEncryptionPart> signatureParts = reqData.getSignatureParts();
if (signatureActions.size() > 0) {
if (log.isDebugEnabled()) {
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/TimestampAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/TimestampAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/TimestampAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/TimestampAction.java
Thu Mar 10 02:39:08 2011
@@ -32,8 +32,7 @@ public class TimestampAction implements
//
// add the Timestamp to the SOAP Envelope
//
- WSSecTimestamp timeStampBuilder = new WSSecTimestamp();
- timeStampBuilder.setWsConfig(reqData.getWssConfig());
+ WSSecTimestamp timeStampBuilder = new
WSSecTimestamp(reqData.getWssConfig());
timeStampBuilder.setTimeToLive(handler.decodeTimeToLive(reqData));
timeStampBuilder.build(doc, reqData.getSecHeader());
}
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenAction.java
Thu Mar 10 02:39:08 2011
@@ -43,8 +43,7 @@ public class UsernameTokenAction impleme
String providedUsername = callbackData.getIdentifier();
String password = callbackData.getPassword();
- WSSecUsernameToken builder = new WSSecUsernameToken();
- builder.setWsConfig(reqData.getWssConfig());
+ WSSecUsernameToken builder = new
WSSecUsernameToken(reqData.getWssConfig());
builder.setPasswordType(reqData.getPwType());
builder.setPasswordsAreEncoded(reqData.getWssConfig().getPasswordsAreEncoded());
builder.setUserInfo(providedUsername, password);
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenSignedAction.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenSignedAction.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenSignedAction.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/action/UsernameTokenSignedAction.java
Thu Mar 10 02:39:08 2011
@@ -51,8 +51,7 @@ public class UsernameTokenSignedAction i
WSHandlerConstants.PW_CALLBACK_CLASS,
WSHandlerConstants.PW_CALLBACK_REF, reqData).getPassword();
- WSSecUsernameToken builder = new WSSecUsernameToken();
- builder.setWsConfig(reqData.getWssConfig());
+ WSSecUsernameToken builder = new
WSSecUsernameToken(reqData.getWssConfig());
if (reqData.isUseDerivedKey()) {
int iterations = reqData.getDerivedKeyIterations();
@@ -84,8 +83,7 @@ public class UsernameTokenSignedAction i
// after "prepare" the Signature XML element is ready and may prepend
// this to the security header.
- WSSecSignature sign = new WSSecSignature();
- sign.setWsConfig(reqData.getWssConfig());
+ WSSecSignature sign = new WSSecSignature(reqData.getWssConfig());
sign.setCustomTokenValueType(WSConstants.USERNAMETOKEN_NS +
"#UsernameToken");
sign.setCustomTokenId(builder.getId());
sign.setSecretKey(builder.getSecretKey());
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecBase.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecBase.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecBase.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecBase.java
Thu Mar 10 02:39:08 2011
@@ -45,11 +45,17 @@ public class WSSecBase {
protected List<WSEncryptionPart> parts = null;
protected boolean doDebug = false;
-
- protected WSSConfig wssConfig = WSSConfig.getNewInstance();
protected CallbackLookup callbackLookup;
+
+ private WSSConfig wssConfig;
+ public WSSecBase() {
+ }
+ public WSSecBase(WSSConfig config) {
+ wssConfig = config;
+ }
+
/**
* @param callbackLookup The CallbackLookup object to retrieve elements
*/
@@ -106,6 +112,14 @@ public class WSSecBase {
public void setWsConfig(WSSConfig wsConfig) {
this.wssConfig = wsConfig;
}
+
+ public WSSConfig getWsConfig() {
+ if (wssConfig == null) {
+ wssConfig = WSSConfig.getNewInstance();
+ }
+ return wssConfig;
+ }
+
/**
* Looks up or adds a body id. <p/> First try to locate the
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKEncrypt.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKEncrypt.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKEncrypt.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKEncrypt.java
Thu Mar 10 02:39:08 2011
@@ -21,6 +21,7 @@ package org.apache.ws.security.message;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSEncryptionPart;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.conversation.ConversationException;
import org.apache.ws.security.message.token.Reference;
@@ -46,6 +47,13 @@ public class WSSecDKEncrypt extends WSSe
protected String symEncAlgo = WSConstants.AES_128;
+ public WSSecDKEncrypt() {
+ super();
+ }
+ public WSSecDKEncrypt(WSSConfig config) {
+ super(config);
+ }
+
public Document build(Document doc, WSSecHeader secHeader)
throws WSSecurityException, ConversationException {
@@ -105,7 +113,7 @@ public class WSSecDKEncrypt extends WSSe
List<String> encDataRefs =
WSSecEncrypt.doEncryption(
- document, wssConfig, keyInfo, key, symEncAlgo, references,
callbackLookup
+ document, getWsConfig(), keyInfo, key, symEncAlgo, references,
callbackLookup
);
if (dataRef == null) {
dataRef =
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java
Thu Mar 10 02:39:08 2011
@@ -24,6 +24,7 @@ import org.apache.commons.logging.LogFac
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSDocInfo;
import org.apache.ws.security.WSEncryptionPart;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.conversation.ConversationException;
import org.apache.ws.security.message.token.Reference;
@@ -80,6 +81,13 @@ public class WSSecDKSign extends WSSecDe
private Element securityHeader = null;
+ public WSSecDKSign() {
+ super();
+ }
+ public WSSecDKSign(WSSConfig config) {
+ super(config);
+ }
+
public Document build(Document doc, WSSecHeader secHeader)
throws WSSecurityException, ConversationException {
@@ -123,7 +131,7 @@ public class WSSecDKSign extends WSSecDe
try {
C14NMethodParameterSpec c14nSpec = null;
- if (wssConfig.isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
+ if (getWsConfig().isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
List<String> prefixes =
getInclusivePrefixes(secHeader.getSecurityHeader(), false);
c14nSpec = new ExcC14NParameterSpec(prefixes);
@@ -137,10 +145,10 @@ public class WSSecDKSign extends WSSecDe
);
}
- keyInfoUri = wssConfig.getIdAllocator().createSecureId("KI-", keyInfo);
+ keyInfoUri = getWsConfig().getIdAllocator().createSecureId("KI-",
keyInfo);
secRef = new SecurityTokenReference(doc);
- strUri = wssConfig.getIdAllocator().createSecureId("STR-", secRef);
+ strUri = getWsConfig().getIdAllocator().createSecureId("STR-", secRef);
secRef.setID(strUri);
Reference refUt = new Reference(document);
@@ -188,7 +196,7 @@ public class WSSecDKSign extends WSSecDe
wsDocInfo,
signatureFactory,
secHeader,
- wssConfig,
+ getWsConfig(),
digestAlgo
);
}
@@ -234,7 +242,7 @@ public class WSSecDKSign extends WSSecDe
signedInfo,
keyInfo,
null,
- wssConfig.getIdAllocator().createId("SIG-", null),
+ getWsConfig().getIdAllocator().createId("SIG-", null),
null);
//
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDerivedKeyBase.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDerivedKeyBase.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDerivedKeyBase.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDerivedKeyBase.java
Thu Mar 10 02:39:08 2011
@@ -20,6 +20,7 @@
package org.apache.ws.security.message;
import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.conversation.ConversationConstants;
import org.apache.ws.security.conversation.ConversationException;
@@ -112,6 +113,15 @@ public abstract class WSSecDerivedKeyBas
private String customValueType;
+
+ public WSSecDerivedKeyBase() {
+ super();
+ }
+ public WSSecDerivedKeyBase(WSSConfig config) {
+ super(config);
+ }
+
+
/**
* @param ephemeralKey The ephemeralKey to set.
*/
@@ -204,7 +214,7 @@ public abstract class WSSecDerivedKeyBas
// Add the DKTs
dkt = new DerivedKeyToken(wscVersion, document);
- dktId = wssConfig.getIdAllocator().createId("DK-", dkt);
+ dktId = getWsConfig().getIdAllocator().createId("DK-", dkt);
dkt.setOffset(offset);
dkt.setLength(length);
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=1080110&r1=1080109&r2=1080110&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
Thu Mar 10 02:39:08 2011
@@ -90,7 +90,14 @@ public class WSSecEncrypt extends WSSecE
* True if the encKeyId is a direct reference to a key identifier instead
of a URI to a key
*/
private boolean encKeyIdDirectId;
-
+
+ public WSSecEncrypt() {
+ super();
+ }
+ public WSSecEncrypt(WSSConfig config) {
+ super(config);
+ }
+
/**
* Sets the key to use during embedded encryption.
*
@@ -173,7 +180,6 @@ public class WSSecEncrypt extends WSSecE
* @throws WSSecurityException
*/
public void prepare(Document doc, Crypto crypto) throws
WSSecurityException {
-
document = doc;
//
@@ -320,7 +326,7 @@ public class WSSecEncrypt extends WSSecE
KeyInfo keyInfo = createKeyInfo();
List<String> encDataRefs =
doEncryption(
- document, wssConfig, keyInfo, symmetricKey, symEncAlgo,
references, callbackLookup
+ document, getWsConfig(), keyInfo, symmetricKey, symEncAlgo,
references, callbackLookup
);
if (dataRef == null) {
dataRef =
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java
Thu Mar 10 02:39:08 2011
@@ -29,6 +29,7 @@ import javax.crypto.IllegalBlockSizeExce
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.components.crypto.Crypto;
import org.apache.ws.security.components.crypto.CryptoType;
@@ -119,6 +120,13 @@ public class WSSecEncryptedKey extends W
* Defaults to 128
*/
protected int keySize = 128;
+
+ public WSSecEncryptedKey() {
+ super();
+ }
+ public WSSecEncryptedKey(WSSConfig config) {
+ super(config);
+ }
/**
* Set the user name to get the encryption certificate.
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java
Thu Mar 10 02:39:08 2011
@@ -22,6 +22,7 @@ package org.apache.ws.security.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.saml.ext.AssertionWrapper;
import org.apache.ws.security.util.WSSecurityUtil;
@@ -43,6 +44,13 @@ public class WSSecSAMLToken extends WSSe
private AssertionWrapper saml = null;
+ public WSSecSAMLToken() {
+ super();
+ }
+ public WSSecSAMLToken(WSSConfig config) {
+ super(config);
+ }
+
/**
* Creates a SAML token.
*
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
Thu Mar 10 02:39:08 2011
@@ -24,6 +24,7 @@ import org.apache.commons.logging.LogFac
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSDocInfo;
import org.apache.ws.security.WSEncryptionPart;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.components.crypto.Crypto;
import org.apache.ws.security.components.crypto.CryptoType;
@@ -106,6 +107,12 @@ public class WSSecSignature extends WSSe
private X509Certificate useThisCert = null;
private Element securityHeader = null;
+ public WSSecSignature() {
+ super();
+ }
+ public WSSecSignature(WSSConfig config) {
+ super(config);
+ }
/**
* Initialize a WSSec Signature.
@@ -142,7 +149,7 @@ public class WSSecSignature extends WSSe
try {
C14NMethodParameterSpec c14nSpec = null;
- if (wssConfig.isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
+ if (getWsConfig().isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
List<String> prefixes =
getInclusivePrefixes(secHeader.getSecurityHeader(), false);
c14nSpec = new ExcC14NParameterSpec(prefixes);
@@ -156,9 +163,9 @@ public class WSSecSignature extends WSSe
);
}
- keyInfoUri = wssConfig.getIdAllocator().createSecureId("KI-", keyInfo);
+ keyInfoUri = getWsConfig().getIdAllocator().createSecureId("KI-",
keyInfo);
secRef = new SecurityTokenReference(doc);
- strUri = wssConfig.getIdAllocator().createSecureId("STR-", secRef);
+ strUri = getWsConfig().getIdAllocator().createSecureId("STR-", secRef);
secRef.setID(strUri);
//
@@ -371,7 +378,7 @@ public class WSSecSignature extends WSSe
wsDocInfo,
signatureFactory,
secHeader,
- wssConfig,
+ getWsConfig(),
digestAlgo
);
}
@@ -469,7 +476,7 @@ public class WSSecSignature extends WSSe
signedInfo,
keyInfo,
null,
- wssConfig.getIdAllocator().createId("SIG-", null),
+ getWsConfig().getIdAllocator().createId("SIG-", null),
null);
//
@@ -737,7 +744,7 @@ public class WSSecSignature extends WSSe
new Object[] { user, "signature" }
);
}
- certUri = wssConfig.getIdAllocator().createSecureId("X509-",
certs[0]);
+ certUri = getWsConfig().getIdAllocator().createSecureId("X509-",
certs[0]);
//
// If no signature algorithm was set try to detect it according to
the
// data stored in the certificate.
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureBase.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureBase.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureBase.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureBase.java
Thu Mar 10 02:39:08 2011
@@ -53,6 +53,13 @@ public class WSSecSignatureBase extends
private static Log log =
LogFactory.getLog(WSSecSignatureBase.class.getName());
+ public WSSecSignatureBase() {
+ super();
+ }
+ public WSSecSignatureBase(WSSConfig config) {
+ super(config);
+ }
+
/**
* This method adds references to the Signature.
*
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureConfirmation.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureConfirmation.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureConfirmation.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignatureConfirmation.java
Thu Mar 10 02:39:08 2011
@@ -21,6 +21,7 @@ package org.apache.ws.security.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.message.token.SignatureConfirmation;
import org.apache.ws.security.util.WSSecurityUtil;
import org.w3c.dom.Document;
@@ -39,6 +40,13 @@ public class WSSecSignatureConfirmation
byte[] signatureValue = null;
+ public WSSecSignatureConfirmation() {
+ super();
+ }
+ public WSSecSignatureConfirmation(WSSConfig config) {
+ super(config);
+ }
+
/**
* Set the Signature value to store in this SignatureConfirmation.
*
@@ -60,7 +68,7 @@ public class WSSecSignatureConfirmation
*/
public void prepare(Document doc) {
sc = new SignatureConfirmation(doc, signatureValue);
- sc.setID(wssConfig.getIdAllocator().createId("SC-", sc));
+ sc.setID(getWsConfig().getIdAllocator().createId("SC-", sc));
}
/**
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecTimestamp.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecTimestamp.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecTimestamp.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecTimestamp.java
Thu Mar 10 02:39:08 2011
@@ -21,6 +21,7 @@ package org.apache.ws.security.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.message.token.Timestamp;
import org.apache.ws.security.util.WSSecurityUtil;
import org.w3c.dom.Document;
@@ -40,7 +41,13 @@ public class WSSecTimestamp extends WSSe
private Timestamp ts = null;
private int timeToLive = 300; // time between Created and Expires
-
+
+ public WSSecTimestamp() {
+ super();
+ }
+ public WSSecTimestamp(WSSConfig config) {
+ super(config);
+ }
/**
* Set the time to live. This is the time difference in seconds between the
* <code>Created</code> and the <code>Expires</code> in
@@ -63,8 +70,8 @@ public class WSSecTimestamp extends WSSe
* @param doc The SOAP envelope as W3C document
*/
public void prepare(Document doc) {
- ts = new Timestamp(wssConfig.isPrecisionInMilliSeconds(), doc,
timeToLive);
- String tsId = wssConfig.getIdAllocator().createId("TS-", ts);
+ ts = new Timestamp(getWsConfig().isPrecisionInMilliSeconds(), doc,
timeToLive);
+ String tsId = getWsConfig().getIdAllocator().createId("TS-", ts);
ts.setID(tsId);
}
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecUsernameToken.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecUsernameToken.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecUsernameToken.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecUsernameToken.java
Thu Mar 10 02:39:08 2011
@@ -22,6 +22,7 @@ package org.apache.ws.security.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.message.token.UsernameToken;
import org.apache.ws.security.util.Base64;
@@ -50,6 +51,12 @@ public class WSSecUsernameToken extends
private int secretKeyLength = WSConstants.WSE_DERIVED_KEY_LEN;
private boolean passwordsAreEncoded = false;
+ public WSSecUsernameToken() {
+ super();
+ }
+ public WSSecUsernameToken(WSSConfig config) {
+ super(config);
+ }
/**
* Defines how to construct the password element of the
@@ -198,7 +205,7 @@ public class WSSecUsernameToken extends
* @param doc The SOAP envelope as W3C document
*/
public void prepare(Document doc) {
- ut = new UsernameToken(wssConfig.isPrecisionInMilliSeconds(), doc,
passwordType);
+ ut = new UsernameToken(getWsConfig().isPrecisionInMilliSeconds(), doc,
passwordType);
ut.setPasswordsAreEncoded(passwordsAreEncoded);
ut.setName(user);
if (useDerivedKey) {
@@ -211,9 +218,9 @@ public class WSSecUsernameToken extends
ut.addNonce(doc);
}
if (created) {
- ut.addCreated(wssConfig.isPrecisionInMilliSeconds(), doc);
+ ut.addCreated(getWsConfig().isPrecisionInMilliSeconds(), doc);
}
- ut.setID(wssConfig.getIdAllocator().createId("UsernameToken-", ut));
+ ut.setID(getWsConfig().getIdAllocator().createId("UsernameToken-",
ut));
}
/**
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=1080110&r1=1080109&r2=1080110&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
Thu Mar 10 02:39:08 2011
@@ -93,7 +93,6 @@ public class SecurityTokenReference {
if (!STR_QNAME.equals(el)) {
throw new WSSecurityException(WSSecurityException.FAILURE,
"badElement", null);
}
-
if (bspCompliant) {
checkBSPCompliance();
}
@@ -791,7 +790,6 @@ public class SecurityTokenReference {
WSSecurityException.INVALID_SECURITY, "invalidDataRef"
);
}
-
if ("KeyIdentifier".equals(child.getLocalName())
&& WSConstants.WSSE_NS.equals(child.getNamespaceURI())) {
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java
Thu Mar 10 02:39:08 2011
@@ -47,6 +47,7 @@ public class SAMLTokenProcessor implemen
if (log.isDebugEnabled()) {
log.debug("Found SAML Assertion element");
}
+
AssertionWrapper assertion = handleSAMLToken(elem, data, wsDocInfo);
wsDocInfo.addTokenElement(elem);
WSSecurityEngineResult result = null;
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/SAMLUtil.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/SAMLUtil.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/SAMLUtil.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/SAMLUtil.java
Thu Mar 10 02:39:08 2011
@@ -22,7 +22,6 @@ package org.apache.ws.security.saml;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSDocInfo;
import org.apache.ws.security.WSPasswordCallback;
-import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityEngine;
import org.apache.ws.security.WSSecurityEngineResult;
import org.apache.ws.security.WSSecurityException;
@@ -286,8 +285,6 @@ public class SAMLUtil {
QName el = new QName(node.getNamespaceURI(),
node.getLocalName());
if (el.equals(WSSecurityEngine.ENCRYPTED_KEY)) {
EncryptedKeyProcessor proc = new EncryptedKeyProcessor();
- WSSConfig config = WSSConfig.getNewInstance();
- config.setWsiBSPCompliant(bspCompliant);
List<WSSecurityEngineResult> result =
proc.handleToken((Element)node, data, docInfo);
byte[] secret =
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java
Thu Mar 10 02:39:08 2011
@@ -24,6 +24,7 @@ import org.apache.commons.logging.LogFac
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSDocInfo;
import org.apache.ws.security.WSEncryptionPart;
+import org.apache.ws.security.WSSConfig;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.components.crypto.Crypto;
import org.apache.ws.security.components.crypto.CryptoType;
@@ -78,6 +79,14 @@ public class WSSecSignatureSAML extends
* Constructor.
*/
public WSSecSignatureSAML() {
+ super();
+ doDebug = log.isDebugEnabled();
+ }
+ /**
+ * Constructor.
+ */
+ public WSSecSignatureSAML(WSSConfig config) {
+ super(config);
doDebug = log.isDebugEnabled();
}
@@ -254,9 +263,10 @@ public class WSSecSignatureSAML extends
if (secretKey == null) {
RequestData data = new RequestData();
data.setSigCrypto(userCrypto);
+ data.setWssConfig(getWsConfig());
SAMLKeyInfo samlKeyInfo =
SAMLUtil.getCredentialFromSubject(
- assertion, data, wsDocInfo,
wssConfig.isWsiBSPCompliant()
+ assertion, data, wsDocInfo,
getWsConfig().isWsiBSPCompliant()
);
publicKey = samlKeyInfo.getPublicKey();
certs = samlKeyInfo.getCerts();
@@ -300,7 +310,7 @@ public class WSSecSignatureSAML extends
try {
C14NMethodParameterSpec c14nSpec = null;
- if (wssConfig.isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
+ if (getWsConfig().isWsiBSPCompliant() &&
canonAlgo.equals(WSConstants.C14N_EXCL_OMIT_COMMENTS)) {
List<String> prefixes =
getInclusivePrefixes(secHeader.getSecurityHeader(), false);
c14nSpec = new ExcC14NParameterSpec(prefixes);
@@ -314,13 +324,13 @@ public class WSSecSignatureSAML extends
);
}
- keyInfoUri = wssConfig.getIdAllocator().createSecureId("KeyId-",
keyInfo);
+ keyInfoUri = getWsConfig().getIdAllocator().createSecureId("KeyId-",
keyInfo);
secRef = new SecurityTokenReference(doc);
- strUri = wssConfig.getIdAllocator().createSecureId("STRId-", secRef);
+ strUri = getWsConfig().getIdAllocator().createSecureId("STRId-",
secRef);
secRef.setID(strUri);
if (certs != null && certs.length != 0) {
- certUri = wssConfig.getIdAllocator().createSecureId("CertId-",
certs[0]);
+ certUri = getWsConfig().getIdAllocator().createSecureId("CertId-",
certs[0]);
}
//
@@ -334,7 +344,7 @@ public class WSSecSignatureSAML extends
try {
if (senderVouches) {
secRefSaml = new SecurityTokenReference(doc);
- secRefID =
wssConfig.getIdAllocator().createSecureId("STRSAMLId-", secRefSaml);
+ secRefID =
getWsConfig().getIdAllocator().createSecureId("STRSAMLId-", secRefSaml);
secRefSaml.setID(secRefID);
if (useDirectReferenceToAssertion) {
@@ -495,7 +505,7 @@ public class WSSecSignatureSAML extends
signedInfo,
keyInfo,
null,
- wssConfig.getIdAllocator().createId("SIG-", null),
+ getWsConfig().getIdAllocator().createId("SIG-", null),
null);
org.w3c.dom.Element securityHeaderElement =
secHeader.getSecurityHeader();
Modified:
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/misc/FaultCodeTest.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/misc/FaultCodeTest.java?rev=1080110&r1=1080109&r2=1080110&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/misc/FaultCodeTest.java
(original)
+++
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/misc/FaultCodeTest.java
Thu Mar 10 02:39:08 2011
@@ -56,7 +56,7 @@ public class FaultCodeTest extends org.j
*/
@org.junit.Test
public void testFailedCheck() throws Exception {
- WSSecEncrypt builder = new WSSecEncrypt();
+ WSSecEncrypt builder = new WSSecEncrypt(secEngine.getWssConfig());
builder.setUserInfo("16c73ab6-b892-458f-abf5-2f875f74882e",
"security");
builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG);
@@ -81,6 +81,7 @@ public class FaultCodeTest extends org.j
@org.junit.Test
public void testUnsupportedAlgorithm() throws Exception {
try {
+ secEngine.getWssConfig();
WSSecurityUtil.getCipherInstance("Bad Algorithm");
} catch (WSSecurityException ex) {
assertTrue(ex.getErrorCode() == 2);
@@ -99,6 +100,7 @@ public class FaultCodeTest extends org.j
@org.junit.Test
public void testSecurityTokenUnavailable() throws Exception {
try {
+ secEngine.getWssConfig();
crypto.loadCertificate(new java.io.ByteArrayInputStream(new
byte[]{}));
} catch (WSSecurityException ex) {
assertTrue(ex.getErrorCode() == 7);
@@ -115,7 +117,7 @@ public class FaultCodeTest extends org.j
*/
@org.junit.Test
public void testMessageExpired() throws Exception {
- WSSecTimestamp builder = new WSSecTimestamp();
+ WSSecTimestamp builder = new WSSecTimestamp(secEngine.getWssConfig());
builder.setTimeToLive(-1);
Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG);
@@ -140,7 +142,7 @@ public class FaultCodeTest extends org.j
*/
@org.junit.Test
public void testFailedAuthentication() throws Exception {
- WSSecUsernameToken builder = new WSSecUsernameToken();
+ WSSecUsernameToken builder = new
WSSecUsernameToken(secEngine.getWssConfig());
builder.addCreated();
builder.addNonce();
builder.setUserInfo("16c73ab6-b892-458f-abf5-2f875f74882e",
"security");
@@ -167,7 +169,7 @@ public class FaultCodeTest extends org.j
*/
@org.junit.Test
public void testInvalidSecurityToken() throws Exception {
- WSSecUsernameToken builder = new WSSecUsernameToken();
+ WSSecUsernameToken builder = new
WSSecUsernameToken(secEngine.getWssConfig());
builder.addCreated();
builder.addNonce();
builder.setUserInfo(null, "security");