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 2013/09/02 16:26:18 UTC
svn commit: r1519450 - in /webservices/wss4j/trunk:
ws-security-common/src/main/java/org/apache/wss4j/common/
ws-security-common/src/main/java/org/apache/wss4j/common/crypto/
ws-security-common/src/test/java/org/apache/wss4j/common/crypto/
ws-security-...
Author: coheigea
Date: Mon Sep 2 14:26:18 2013
New Revision: 1519450
URL: http://svn.apache.org/r1519450
Log:
Renaming default PasswordEncryptor based on Jasypt to allow for different algorithms to be used
Added:
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/JasyptPasswordEncryptor.java
- copied, changed from r1516222, webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/StrongJasyptPasswordEncryptor.java
Removed:
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/StrongJasyptPasswordEncryptor.java
Modified:
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/ConfigurationConstants.java
webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/PasswordEncryptorTest.java
webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java
webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ConfigurationConverter.java
webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/PasswordEncryptorTest.java
Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/ConfigurationConstants.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/ConfigurationConstants.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/ConfigurationConstants.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/ConfigurationConstants.java Mon Sep 2 14:26:18 2013
@@ -828,7 +828,7 @@ public final class ConfigurationConstant
* This holds a reference to a PasswordEncryptor instance, which is used to encrypt or
* decrypt passwords in the Merlin Crypto implementation (or any custom Crypto implementations).
*
- * By default, WSS4J uses the StrongJasyptPasswordEncryptor, which must be instantiated with a
+ * By default, WSS4J uses the JasyptPasswordEncryptor, which must be instantiated with a
* master password to use to decrypt keystore passwords in the Merlin Crypto properties file.
* This master password is obtained via the CallbackHandler defined via PW_CALLBACK_CLASS
* or PW_CALLBACK_REF.
Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/JasyptPasswordEncryptor.java (from r1516222, webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/StrongJasyptPasswordEncryptor.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/JasyptPasswordEncryptor.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/JasyptPasswordEncryptor.java&p1=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/StrongJasyptPasswordEncryptor.java&r1=1516222&r2=1519450&rev=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/StrongJasyptPasswordEncryptor.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/JasyptPasswordEncryptor.java Mon Sep 2 14:26:18 2013
@@ -26,27 +26,39 @@ import javax.security.auth.callback.Call
import javax.security.auth.callback.UnsupportedCallbackException;
import org.apache.wss4j.common.ext.WSPasswordCallback;
-import org.jasypt.util.text.StrongTextEncryptor;
+import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
/**
- * An implementation of PasswordEncryptor that relies on Jasypt's StrongTextEncryptor to encrypt
- * and decrypt passwords.
+ * An implementation of PasswordEncryptor that relies on Jasypt's StandardPBEStringEncryptor to
+ * encrypt and decrypt passwords. The default algorithm that is used is "PBEWithMD5AndTripleDES".
*/
-public class StrongJasyptPasswordEncryptor implements PasswordEncryptor {
+public class JasyptPasswordEncryptor implements PasswordEncryptor {
+
+ public static final String DEFAULT_ALGORITHM = "PBEWithMD5AndTripleDES";
private static final org.slf4j.Logger LOG =
- org.slf4j.LoggerFactory.getLogger(StrongJasyptPasswordEncryptor.class);
+ org.slf4j.LoggerFactory.getLogger(JasyptPasswordEncryptor.class);
+
+ private final StandardPBEStringEncryptor passwordEncryptor;
- private final StrongTextEncryptor passwordEncryptor;
+ public JasyptPasswordEncryptor(String masterPassword) {
+ this(masterPassword, DEFAULT_ALGORITHM);
+ }
- public StrongJasyptPasswordEncryptor(String masterPassword) {
- passwordEncryptor = new StrongTextEncryptor();
+ public JasyptPasswordEncryptor(String masterPassword, String algorithm) {
+ passwordEncryptor = new StandardPBEStringEncryptor();
passwordEncryptor.setPassword(masterPassword);
+ passwordEncryptor.setAlgorithm(algorithm);
+ }
+
+ public JasyptPasswordEncryptor(CallbackHandler callbackHandler) {
+ this(callbackHandler, DEFAULT_ALGORITHM);
}
- public StrongJasyptPasswordEncryptor(CallbackHandler callbackHandler) {
- passwordEncryptor = new StrongTextEncryptor();
+ public JasyptPasswordEncryptor(CallbackHandler callbackHandler, String algorithm) {
+ passwordEncryptor = new StandardPBEStringEncryptor();
+ passwordEncryptor.setAlgorithm(algorithm);
WSPasswordCallback pwCb =
new WSPasswordCallback("", WSPasswordCallback.Usage.PASSWORD_ENCRYPTOR_PASSWORD);
Modified: webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/PasswordEncryptorTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/PasswordEncryptorTest.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/PasswordEncryptorTest.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/PasswordEncryptorTest.java Mon Sep 2 14:26:18 2013
@@ -29,7 +29,7 @@ public class PasswordEncryptorTest exten
public void testStrongJasyptPasswordEncryptor() throws Exception {
PasswordEncryptor passwordEncryptor =
- new StrongJasyptPasswordEncryptor("master-password");
+ new JasyptPasswordEncryptor("master-password");
String encryptedPassword = passwordEncryptor.encrypt("password");
assertNotEquals(encryptedPassword, "password");
String decryptedPassword = passwordEncryptor.decrypt(encryptedPassword);
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java Mon Sep 2 14:26:18 2013
@@ -43,8 +43,8 @@ import org.apache.wss4j.dom.action.Actio
import org.apache.wss4j.common.crypto.AlgorithmSuite;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.crypto.JasyptPasswordEncryptor;
import org.apache.wss4j.common.crypto.PasswordEncryptor;
-import org.apache.wss4j.common.crypto.StrongJasyptPasswordEncryptor;
import org.apache.wss4j.common.ext.WSPasswordCallback;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.common.util.Loader;
@@ -1095,7 +1095,7 @@ public abstract class WSHandler {
CallbackHandler callbackHandler = requestData.getCallbackHandler();
if (callbackHandler != null) {
- return new StrongJasyptPasswordEncryptor(callbackHandler);
+ return new JasyptPasswordEncryptor(callbackHandler);
}
return null;
Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/PasswordEncryptorTest.java Mon Sep 2 14:26:18 2013
@@ -26,8 +26,8 @@ import javax.security.auth.callback.Call
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.crypto.JasyptPasswordEncryptor;
import org.apache.wss4j.common.crypto.PasswordEncryptor;
-import org.apache.wss4j.common.crypto.StrongJasyptPasswordEncryptor;
import org.apache.wss4j.common.util.Loader;
import org.apache.wss4j.common.util.XMLUtils;
import org.apache.wss4j.dom.WSConstants;
@@ -54,7 +54,7 @@ public class PasswordEncryptorTest exten
private WSSecurityEngine secEngine = new WSSecurityEngine();
private CallbackHandler callbackHandler = new KeystoreCallbackHandler();
private PasswordEncryptor passwordEncryptor =
- new StrongJasyptPasswordEncryptor("this-is-a-secret");
+ new JasyptPasswordEncryptor("this-is-a-secret");
private Crypto crypto = null;
@org.junit.AfterClass
Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ConfigurationConverter.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ConfigurationConverter.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ConfigurationConverter.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ConfigurationConverter.java Mon Sep 2 14:26:18 2013
@@ -33,8 +33,8 @@ import org.apache.wss4j.common.Configura
import org.apache.wss4j.common.cache.ReplayCache;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.crypto.JasyptPasswordEncryptor;
import org.apache.wss4j.common.crypto.PasswordEncryptor;
-import org.apache.wss4j.common.crypto.StrongJasyptPasswordEncryptor;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.common.util.Loader;
import org.apache.wss4j.common.util.StringUtil;
@@ -167,7 +167,7 @@ public final class ConfigurationConverte
if (passwordEncryptor == null) {
CallbackHandler callbackHandler = properties.getCallbackHandler();
if (callbackHandler != null) {
- passwordEncryptor = new StrongJasyptPasswordEncryptor(callbackHandler);
+ passwordEncryptor = new JasyptPasswordEncryptor(callbackHandler);
}
}
Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/PasswordEncryptorTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/PasswordEncryptorTest.java?rev=1519450&r1=1519449&r2=1519450&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/PasswordEncryptorTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/PasswordEncryptorTest.java Mon Sep 2 14:26:18 2013
@@ -30,8 +30,8 @@ import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.crypto.JasyptPasswordEncryptor;
import org.apache.wss4j.common.crypto.PasswordEncryptor;
-import org.apache.wss4j.common.crypto.StrongJasyptPasswordEncryptor;
import org.apache.wss4j.dom.handler.WSHandlerConstants;
import org.apache.wss4j.stax.WSSec;
import org.apache.wss4j.stax.ext.OutboundWSSec;
@@ -63,7 +63,7 @@ public class PasswordEncryptorTest exten
Properties properties =
CryptoFactory.getProperties("transmitter-crypto-enc.properties", this.getClass().getClassLoader());
PasswordEncryptor passwordEncryptor =
- new StrongJasyptPasswordEncryptor(new CallbackHandlerImpl());
+ new JasyptPasswordEncryptor(new CallbackHandlerImpl());
securityProperties.setSignatureCryptoProperties(properties, passwordEncryptor);
securityProperties.setSignatureUser("transmitter");
securityProperties.setCallbackHandler(new CallbackHandlerImpl());
@@ -110,7 +110,7 @@ public class PasswordEncryptorTest exten
Properties properties =
CryptoFactory.getProperties("transmitter-crypto-enc.properties", this.getClass().getClassLoader());
PasswordEncryptor passwordEncryptor =
- new StrongJasyptPasswordEncryptor(new CallbackHandlerImpl());
+ new JasyptPasswordEncryptor(new CallbackHandlerImpl());
securityProperties.setEncryptionCryptoProperties(properties, passwordEncryptor);
securityProperties.setEncryptionUser("receiver");