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 2019/01/29 16:28:17 UTC

svn commit: r1852463 [2/2] - in /webservices/wss4j/trunk: integration/src/test/java/org/apache/wss4j/integration/test/kerberos/ ws-security-dom/src/main/java/org/apache/wss4j/dom/action/ ws-security-dom/src/main/java/org/apache/wss4j/dom/message/ ws-se...

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureEncryptionTest.java Tue Jan 29 16:28:17 2019
@@ -36,9 +36,12 @@ import org.junit.Test;
 import org.apache.wss4j.common.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.w3c.dom.Document;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.CallbackHandler;
 import javax.xml.crypto.dsig.SignatureMethod;
 
@@ -115,7 +118,9 @@ public class SignatureEncryptionTest {
         sign.setUserInfo("wss40", "security");
         LOG.info("Before Encryption....");
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("After Encryption....");
@@ -164,7 +169,9 @@ public class SignatureEncryptionTest {
                     "Element");
         encrypt.getParts().add(part);
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("After Encryption....");
@@ -244,7 +251,10 @@ public class SignatureEncryptionTest {
         LOG.info("Before Encryption....");
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
         LOG.info("After Encryption....");
         verify(encryptedSignedDoc);
     }
@@ -275,7 +285,10 @@ public class SignatureEncryptionTest {
         encrypt.getParts().add(encP);
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
         LOG.info("WSS198");
         if (LOG.isDebugEnabled()) {
             String outputString =
@@ -312,7 +325,10 @@ public class SignatureEncryptionTest {
         LOG.info("Before Sign/Encryption....");
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
         if (LOG.isDebugEnabled()) {
             LOG.debug("Signed and encrypted message with IssuerSerial key identifier (both), 3DES:");
             String outputString =
@@ -341,25 +357,26 @@ public class SignatureEncryptionTest {
         WSSecEncryptedKey encrKey = new WSSecEncryptedKey(secHeader);
         encrKey.setKeyIdentifierType(WSConstants.ISSUER_SERIAL);
         encrKey.setUserInfo("wss40", "security");
-        encrKey.setSymmetricEncAlgorithm(WSConstants.AES_192);
-        encrKey.prepare(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_192);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrKey.prepare(crypto, symmetricKey);
 
         WSSecEncrypt encrypt = new WSSecEncrypt(secHeader);
         encrypt.setEncKeyId(encrKey.getId());
         encrypt.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
-        encrypt.setEphemeralKey(encrKey.getSymmetricKey().getEncoded());
         encrypt.setEncryptSymmKey(false);
         encrypt.setEncryptedKeyElement(encrKey.getEncryptedKeyElement());
 
         WSSecSignature sign = new WSSecSignature(secHeader);
         sign.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
         sign.setCustomTokenId(encrKey.getId());
-        sign.setSecretKey(encrKey.getSymmetricKey().getEncoded());
+        sign.setSecretKey(symmetricKey.getEncoded());
         sign.setCustomTokenValueType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
         sign.setSignatureAlgorithm(SignatureMethod.HMAC_SHA1);
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("Signed and encrypted message with IssuerSerial key identifier (both), 3DES:");
@@ -475,7 +492,10 @@ public class SignatureEncryptionTest {
         LOG.info("Before Encryption....");
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
 
         LOG.info("After Encryption....");
         verify(encryptedSignedDoc);

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java Tue Jan 29 16:28:17 2019
@@ -134,13 +134,15 @@ public class SymmetricSignatureTest impl
         WSSecEncryptedKey encrKey = new WSSecEncryptedKey(secHeader);
         encrKey.setKeyIdentifierType(WSConstants.ISSUER_SERIAL);
         encrKey.setUserInfo("wss40", "security");
-        encrKey.setSymmetricEncAlgorithm(WSConstants.AES_192);
-        encrKey.prepare(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_192);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrKey.prepare(crypto, symmetricKey);
 
         WSSecSignature sign = new WSSecSignature(secHeader);
         sign.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
         sign.setCustomTokenId(encrKey.getId());
-        sign.setSecretKey(encrKey.getSymmetricKey().getEncoded());
+        sign.setSecretKey(symmetricKey.getEncoded());
         sign.setSignatureAlgorithm(SignatureMethod.HMAC_SHA1);
         sign.setCustomTokenValueType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
 
@@ -175,13 +177,14 @@ public class SymmetricSignatureTest impl
         WSSecEncryptedKey encrKey = new WSSecEncryptedKey(secHeader);
         encrKey.setKeyIdentifierType(WSConstants.ISSUER_SERIAL);
         encrKey.setUserInfo("wss40", "security");
-        encrKey.setSymmetricEncAlgorithm(WSConstants.AES_192);
-        encrKey.prepare(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_192);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrKey.prepare(crypto, symmetricKey);
 
         WSSecEncrypt encrypt = new WSSecEncrypt(secHeader);
         encrypt.setEncKeyId(encrKey.getId());
         encrypt.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
-        encrypt.setEphemeralKey(encrKey.getSymmetricKey().getEncoded());
         encrypt.setEncryptSymmKey(false);
         encrypt.setEncryptedKeyElement(encrKey.getEncryptedKeyElement());
 
@@ -189,11 +192,11 @@ public class SymmetricSignatureTest impl
         sign.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
         sign.setCustomTokenId(encrKey.getId());
         sign.setCustomTokenValueType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
-        sign.setSecretKey(encrKey.getSymmetricKey().getEncoded());
+        sign.setSecretKey(symmetricKey.getEncoded());
         sign.setSignatureAlgorithm(SignatureMethod.HMAC_SHA1);
 
         sign.build(crypto);
-        Document encryptedSignedDoc = encrypt.build(crypto);
+        Document encryptedSignedDoc = encrypt.build(crypto, symmetricKey);
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("Signed and encrypted message with IssuerSerial key identifier (both), 3DES:");

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/XOPAttachmentTest.java Tue Jan 29 16:28:17 2019
@@ -28,6 +28,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.CallbackHandler;
 
 import org.apache.wss4j.common.WSEncryptionPart;
@@ -35,6 +37,7 @@ import org.apache.wss4j.common.WSS4JCons
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.Attachment;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.common.CustomHandler;
@@ -126,7 +129,9 @@ public class XOPAttachmentTest {
         encrypt.setAttachmentCallbackHandler(attachmentCallbackHandler);
         List<Attachment> encryptedAttachments = attachmentCallbackHandler.getResponseAttachments();
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         // Find the SOAP Body + replace with a xop:Include to the attachment!
         Element soapBody = WSSecurityUtil.findBodyElement(encryptedDoc);
@@ -206,7 +211,9 @@ public class XOPAttachmentTest {
 
         encrypt.getParts().add(new WSEncryptionPart("Body", "http://schemas.xmlsoap.org/soap/envelope/", "Content"));
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         List<Attachment> encryptedAttachments = outboundAttachmentCallback.getResponseAttachments();
         assertNotNull(encryptedAttachments);
@@ -313,7 +320,9 @@ public class XOPAttachmentTest {
         encrypt.getParts().add(new WSEncryptionPart("Body", "http://schemas.xmlsoap.org/soap/envelope/", "Content"));
         encrypt.getParts().add(encP);
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         List<Attachment> encryptedAttachments = outboundAttachmentCallback.getResponseAttachments();
         assertNotNull(encryptedAttachments);
@@ -351,7 +360,9 @@ public class XOPAttachmentTest {
         encrypt.getParts().add(new WSEncryptionPart("Body", "http://schemas.xmlsoap.org/soap/envelope/", "Content"));
         encrypt.getParts().add(encP);
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         List<Attachment> encryptedAttachments = outboundAttachmentCallback.getResponseAttachments();
         assertNotNull(encryptedAttachments);
@@ -382,10 +393,13 @@ public class XOPAttachmentTest {
         encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
         encrKeyBuilder.setAttachmentCallbackHandler(outboundAttachmentCallback);
         encrKeyBuilder.setStoreBytesInAttachment(true);
-        encrKeyBuilder.prepare(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrKeyBuilder.prepare(crypto, symmetricKey);
 
         //Key information from the EncryptedKey
-        byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+        byte[] ek = symmetricKey.getEncoded();
         String tokenIdentifier = encrKeyBuilder.getId();
 
         //Derived key encryption
@@ -432,10 +446,13 @@ public class XOPAttachmentTest {
         encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
         encrKeyBuilder.setAttachmentCallbackHandler(outboundAttachmentCallback);
         encrKeyBuilder.setStoreBytesInAttachment(true);
-        encrKeyBuilder.prepare(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrKeyBuilder.prepare(crypto, symmetricKey);
 
         //Key information from the EncryptedKey
-        byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+        byte[] ek = symmetricKey.getEncoded();
         String tokenIdentifier = encrKeyBuilder.getId();
 
         //Derived key encryption
@@ -491,7 +508,9 @@ public class XOPAttachmentTest {
         encrypt.setStoreBytesInAttachment(true);
         encrypt.getParts().add(new WSEncryptionPart("Body", "http://schemas.xmlsoap.org/soap/envelope/", "Content"));
 
-        Document encryptedDoc = encrypt.build(crypto);
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         List<Attachment> encryptedAttachments = outboundAttachmentCallback.getResponseAttachments();
         assertNotNull(encryptedAttachments);

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java Tue Jan 29 16:28:17 2019
@@ -358,11 +358,10 @@ public class BSTKerberosTest {
 
         WSSecEncrypt builder = new WSSecEncrypt(secHeader);
         builder.setSymmetricEncAlgorithm(WSConstants.AES_128);
-        builder.setSymmetricKey(key);
         builder.setEncryptSymmKey(false);
         builder.setCustomReferenceValue(AP_REQ);
         builder.setEncKeyId(bst.getID());
-        Document encryptedDoc = builder.build(crypto);
+        Document encryptedDoc = builder.build(crypto, key);
 
         if (LOG.isDebugEnabled()) {
             String outputString =
@@ -396,14 +395,13 @@ public class BSTKerberosTest {
 
         WSSecEncrypt builder = new WSSecEncrypt(secHeader);
         builder.setSymmetricEncAlgorithm(WSConstants.AES_128);
-        builder.setSymmetricKey(key);
         builder.setEncryptSymmKey(false);
         builder.setCustomReferenceValue(WSConstants.WSS_KRB_KI_VALUE_TYPE);
 
         byte[] digestBytes = KeyUtils.generateDigest(keyData);
         builder.setEncKeyId(org.apache.xml.security.utils.XMLUtils.encodeToString(digestBytes));
 
-        Document encryptedDoc = builder.build(crypto);
+        Document encryptedDoc = builder.build(crypto, key);
 
         if (LOG.isDebugEnabled()) {
             String outputString =

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/misc/FaultCodeTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/misc/FaultCodeTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/misc/FaultCodeTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/misc/FaultCodeTest.java Tue Jan 29 16:28:17 2019
@@ -21,6 +21,8 @@ package org.apache.wss4j.dom.misc;
 
 import java.io.IOException;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
@@ -81,7 +83,10 @@ public class FaultCodeTest implements Ca
         WSSecEncrypt builder = new WSSecEncrypt(secHeader);
         builder.setUserInfo("wss40", "security");
         builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
-        Document encryptedDoc = builder.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = builder.build(crypto, symmetricKey);
 
         try {
             verify(encryptedDoc);

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/EncryptedKeyDataRefTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/EncryptedKeyDataRefTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/EncryptedKeyDataRefTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/EncryptedKeyDataRefTest.java Tue Jan 29 16:28:17 2019
@@ -21,6 +21,8 @@ package org.apache.wss4j.dom.processor;
 
 import java.util.List;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.CallbackHandler;
 
 import org.apache.wss4j.dom.WSConstants;
@@ -35,6 +37,7 @@ import org.apache.wss4j.dom.handler.WSHa
 import org.apache.wss4j.common.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.dom.message.WSSecHeader;
 import org.junit.Test;
@@ -94,10 +97,13 @@ public class EncryptedKeyDataRefTest {
         builder.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
         LOG.info("Before Encryption Triple DES....");
 
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+
         /*
          * Prepare the Encrypt object with the token, setup data structure
          */
-        builder.prepare(crypto);
+        builder.prepare(crypto, symmetricKey);
 
         /*
          * Set up the parts structure to encrypt the body
@@ -113,7 +119,7 @@ public class EncryptedKeyDataRefTest {
          * the EncryptedKey, and get a ReferenceList that can be put into the EncryptedKey
          * itself as a child.
          */
-        Element refs = builder.encrypt();
+        Element refs = builder.encrypt(symmetricKey);
 
         /*
          * We use this method because we want the reference list to be inside the

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/ReferenceListDataRefTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/ReferenceListDataRefTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/ReferenceListDataRefTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/processor/ReferenceListDataRefTest.java Tue Jan 29 16:28:17 2019
@@ -21,6 +21,8 @@ package org.apache.wss4j.dom.processor;
 
 import java.util.List;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.CallbackHandler;
 
 import org.apache.wss4j.dom.WSConstants;
@@ -35,6 +37,7 @@ import org.apache.wss4j.dom.handler.WSHa
 import org.apache.wss4j.common.WSEncryptionPart;
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.dom.message.WSSecHeader;
 import org.junit.Test;
@@ -94,10 +97,13 @@ public class ReferenceListDataRefTest {
         builder.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
         LOG.info("Before Encryption Triple DES....");
 
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+
         /*
          * Prepare the Encrypt object with the token, setup data structure
          */
-        builder.prepare(crypto);
+        builder.prepare(crypto, symmetricKey);
 
         /*
          * Set up the parts structure to encrypt the body
@@ -114,7 +120,7 @@ public class ReferenceListDataRefTest {
          * Security header. Be sure that the ReferenceList is after the
          * EncryptedKey element in the Security header (strict layout)
          */
-        Element refs = builder.encrypt();
+        Element refs = builder.encrypt(symmetricKey);
         builder.addExternalRefElement(refs);
 
         /*

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlReferenceTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlReferenceTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlReferenceTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/saml/SamlReferenceTest.java Tue Jan 29 16:28:17 2019
@@ -40,6 +40,7 @@ import org.apache.wss4j.common.saml.SAML
 import org.apache.wss4j.common.saml.SAMLUtil;
 import org.apache.wss4j.common.saml.builder.SAML1Constants;
 import org.apache.wss4j.common.saml.builder.SAML2Constants;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.Loader;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
@@ -53,6 +54,8 @@ import java.io.InputStream;
 import java.security.KeyStore;
 import java.util.List;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.CallbackHandler;
 
 import static org.junit.Assert.assertEquals;
@@ -387,7 +390,10 @@ public class SamlReferenceTest {
         WSSecEncrypt builder = new WSSecEncrypt(secHeader);
         builder.setUserInfo("16c73ab6-b892-458f-abf5-2f875f74882e");
         builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
-        Document encryptedDoc = builder.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = builder.build(crypto, symmetricKey);
 
         //
         // Remove the assertion its place in the security header and then append it
@@ -445,14 +451,17 @@ public class SamlReferenceTest {
         builder.setKeyIdentifierType(WSConstants.CUSTOM_KEY_IDENTIFIER);
         builder.setCustomEKTokenValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE);
         builder.setCustomEKTokenId(samlAssertion.getId());
-        builder.prepare(userCrypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+        builder.prepare(userCrypto, symmetricKey);
 
         WSEncryptionPart encP =
             new WSEncryptionPart(
                 "add", "http://ws.apache.org/counter/counter_port_type", "Element"
             );
         builder.getParts().add(encP);
-        Element refElement = builder.encrypt();
+        Element refElement = builder.encrypt(symmetricKey);
         builder.addInternalRefElement(refElement);
         builder.appendToHeader();
 
@@ -521,14 +530,17 @@ public class SamlReferenceTest {
         builder.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
         builder.setCustomEKTokenValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE);
         builder.setCustomEKTokenId(samlAssertion.getId());
-        builder.prepare(userCrypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+        builder.prepare(userCrypto, symmetricKey);
 
         WSEncryptionPart encP =
             new WSEncryptionPart(
                 "add", "http://ws.apache.org/counter/counter_port_type", "Element"
             );
         builder.getParts().add(encP);
-        Element refElement = builder.encrypt();
+        Element refElement = builder.encrypt(symmetricKey);
         builder.addInternalRefElement(refElement);
         builder.appendToHeader();
 
@@ -849,14 +861,17 @@ public class SamlReferenceTest {
         builder.setKeyIdentifierType(WSConstants.CUSTOM_KEY_IDENTIFIER);
         builder.setCustomEKTokenValueType(WSConstants.WSS_SAML2_KI_VALUE_TYPE);
         builder.setCustomEKTokenId(samlAssertion.getId());
-        builder.prepare(userCrypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+        builder.prepare(userCrypto, symmetricKey);
 
         WSEncryptionPart encP =
             new WSEncryptionPart(
                 "add", "http://ws.apache.org/counter/counter_port_type", "Element"
             );
         builder.getParts().add(encP);
-        Element refElement = builder.encrypt();
+        Element refElement = builder.encrypt(symmetricKey);
         builder.addInternalRefElement(refElement);
         builder.appendToHeader();
 
@@ -925,14 +940,17 @@ public class SamlReferenceTest {
         builder.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
         builder.setCustomEKTokenValueType(WSConstants.WSS_SAML2_KI_VALUE_TYPE);
         builder.setCustomEKTokenId(samlAssertion.getId());
-        builder.prepare(userCrypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+        SecretKey symmetricKey = keyGen.generateKey();
+        builder.prepare(userCrypto, symmetricKey);
 
         WSEncryptionPart encP =
             new WSEncryptionPart(
                 "add", "http://ws.apache.org/counter/counter_port_type", "Element"
             );
         builder.getParts().add(encP);
-        Element refElement = builder.encrypt();
+        Element refElement = builder.encrypt(symmetricKey);
         builder.addInternalRefElement(refElement);
         builder.appendToHeader();
 

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AttachmentTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AttachmentTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AttachmentTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/AttachmentTest.java Tue Jan 29 16:28:17 2019
@@ -32,6 +32,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
@@ -49,6 +51,7 @@ import org.apache.wss4j.common.ext.Attac
 import org.apache.wss4j.common.ext.AttachmentResultCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.AttachmentUtils;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.common.SOAPUtil;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
@@ -661,8 +664,10 @@ public class AttachmentTest extends Abst
 
         encrypt.setAttachmentCallbackHandler(attachmentCallbackHandler);
 
-        encrypt.prepare(CryptoFactory.getInstance("transmitter-crypto.properties"));
-        Element refs = encrypt.encrypt();
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        encrypt.prepare(CryptoFactory.getInstance("transmitter-crypto.properties"), symmetricKey);
+        Element refs = encrypt.encrypt(symmetricKey);
         encrypt.addAttachmentEncryptedDataElements();
         encrypt.addExternalRefElement(refs);
         encrypt.prependToHeader();

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/DerivedKeyTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/DerivedKeyTokenTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/DerivedKeyTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/DerivedKeyTokenTest.java Tue Jan 29 16:28:17 2019
@@ -29,6 +29,8 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.dom.DOMSource;
@@ -39,6 +41,7 @@ import org.apache.wss4j.common.crypto.Cr
 import org.apache.wss4j.common.crypto.CryptoType;
 import org.apache.wss4j.common.derivedKey.ConversationConstants;
 import org.apache.wss4j.common.token.SecurityTokenReference;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
@@ -145,10 +148,12 @@ public class DerivedKeyTokenTest extends
             WSSecEncryptedKey encrKeyBuilder = new WSSecEncryptedKey(secHeader);
             encrKeyBuilder.setUserInfo("receiver");
             encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
-            encrKeyBuilder.prepare(crypto);
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKeyBuilder.prepare(crypto, symmetricKey);
 
             //Key information from the EncryptedKey
-            byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+            byte[] ek = symmetricKey.getEncoded();
             String tokenIdentifier = encrKeyBuilder.getId();
 
             //Derived key encryption
@@ -346,10 +351,12 @@ public class DerivedKeyTokenTest extends
             WSSecEncryptedKey encrKeyBuilder = new WSSecEncryptedKey(secHeader);
             encrKeyBuilder.setUserInfo("receiver");
             encrKeyBuilder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
-            encrKeyBuilder.prepare(crypto);
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKeyBuilder.prepare(crypto, symmetricKey);
 
             //Key information from the EncryptedKey
-            byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+            byte[] ek = symmetricKey.getEncoded();
             String tokenIdentifier = encrKeyBuilder.getId();
 
             //Derived key encryption
@@ -470,10 +477,13 @@ public class DerivedKeyTokenTest extends
             encrKeyBuilder.setUserInfo("receiver");
             encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
             Crypto crypto = CryptoFactory.getInstance("transmitter-crypto.properties");
-            encrKeyBuilder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKeyBuilder.prepare(crypto, symmetricKey);
 
             //Key information from the EncryptedKey
-            byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+            byte[] ek = symmetricKey.getEncoded();
             String tokenIdentifier = encrKeyBuilder.getId();
 
             //Derived key encryption
@@ -868,10 +878,13 @@ public class DerivedKeyTokenTest extends
             WSSecEncryptedKey encrKeyBuilder = new WSSecEncryptedKey(secHeader);
             encrKeyBuilder.setUserInfo("receiver");
             encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
-            encrKeyBuilder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKeyBuilder.prepare(crypto, symmetricKey);
 
             //Key information from the EncryptedKey
-            byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+            byte[] ek = symmetricKey.getEncoded();
             String tokenIdentifier = encrKeyBuilder.getId();
 
             //Derived key encryption
@@ -991,10 +1004,13 @@ public class DerivedKeyTokenTest extends
             WSSecEncryptedKey encrKeyBuilder = new WSSecEncryptedKey(secHeader);
             encrKeyBuilder.setUserInfo("receiver");
             encrKeyBuilder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
-            encrKeyBuilder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKeyBuilder.prepare(crypto, symmetricKey);
 
             //Key information from the EncryptedKey
-            byte[] ek = encrKeyBuilder.getSymmetricKey().getEncoded();
+            byte[] ek = symmetricKey.getEncoded();
             String tokenIdentifier = encrKeyBuilder.getId();
 
             //Derived key signature

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java Tue Jan 29 16:28:17 2019
@@ -54,6 +54,7 @@ import org.apache.wss4j.common.bsp.BSPRu
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
@@ -1574,9 +1575,8 @@ public class EncDecryptionTest extends A
 
             WSSecEncrypt builder = new WSSecEncrypt(secHeader);
             builder.setKeyIdentifierType(WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER);
-            builder.setSymmetricKey(key);
             builder.setEncryptSymmKey(false);
-            Document securedDocument = builder.build(null);
+            Document securedDocument = builder.build(null, key);
 
             XPathExpression xPathExpression = getXPath("/soap:Envelope/soap:Body/xenc:EncryptedData/dsig:KeyInfo/wsse:SecurityTokenReference/wsse:KeyIdentifier[@ValueType='http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1']");
             Node node = (Node) xPathExpression.evaluate(securedDocument, XPathConstants.NODE);
@@ -2571,12 +2571,15 @@ public class EncDecryptionTest extends A
             builder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
             builder.setUserInfo("receiver");
             Crypto crypto = CryptoFactory.getInstance("transmitter-crypto.properties");
-            builder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            builder.prepare(crypto, symmetricKey);
 
             WSEncryptionPart encP = new WSEncryptionPart("definitions", "http://schemas.xmlsoap.org/wsdl/", "Element");
             List<WSEncryptionPart> encryptionParts = new ArrayList<>();
             encryptionParts.add(encP);
-            Element ref = builder.encryptForRef(null, encryptionParts);
+            Element ref = builder.encryptForRef(null, encryptionParts, symmetricKey);
             ref.removeChild(ref.getElementsByTagNameNS("http://www.w3.org/2001/04/xmlenc#", "DataReference").item(0));
             builder.addExternalRefElement(ref);
             builder.prependToHeader();
@@ -2615,12 +2618,15 @@ public class EncDecryptionTest extends A
             builder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
             builder.setUserInfo("receiver");
             Crypto crypto = CryptoFactory.getInstance("transmitter-crypto.properties");
-            builder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            builder.prepare(crypto, symmetricKey);
 
             WSEncryptionPart encP = new WSEncryptionPart("definitions", "http://schemas.xmlsoap.org/wsdl/", "Element");
             List<WSEncryptionPart> encryptionParts = new ArrayList<>();
             encryptionParts.add(encP);
-            Element ref = builder.encryptForRef(null, encryptionParts);
+            Element ref = builder.encryptForRef(null, encryptionParts, symmetricKey);
             builder.addExternalRefElement(ref);
             builder.prependToHeader();
 
@@ -2658,12 +2664,15 @@ public class EncDecryptionTest extends A
             builder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
             builder.setUserInfo("receiver");
             Crypto crypto = CryptoFactory.getInstance("transmitter-crypto.properties");
-            builder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            builder.prepare(crypto, symmetricKey);
 
             WSEncryptionPart encP = new WSEncryptionPart("definitions", "http://schemas.xmlsoap.org/wsdl/", "Element");
             List<WSEncryptionPart> encryptionParts = new ArrayList<>();
             encryptionParts.add(encP);
-            Element ref = builder.encryptForRef(null, encryptionParts);
+            Element ref = builder.encryptForRef(null, encryptionParts, symmetricKey);
             builder.prependToHeader();
             //builder.addExternalRefElement(ref, secHeader);
             securityHeaderElement.appendChild(ref);

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/SignatureEncryptionTest.java Tue Jan 29 16:28:17 2019
@@ -28,6 +28,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
@@ -38,6 +39,7 @@ import org.apache.wss4j.common.WSEncrypt
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.CryptoFactory;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
@@ -404,14 +406,17 @@ public class SignatureEncryptionTest ext
             WSSecEncrypt builder = new WSSecEncrypt(secHeader);
             builder.setKeyIdentifierType(WSConstants.THUMBPRINT_IDENTIFIER);
             builder.setUserInfo("receiver");
-            builder.prepare(crypto);
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            builder.prepare(crypto, symmetricKey);
 
             WSEncryptionPart bst = new WSEncryptionPart("BinarySecurityToken", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Element");
             WSEncryptionPart def = new WSEncryptionPart("definitions", "http://schemas.xmlsoap.org/wsdl/", "Element");
             List<WSEncryptionPart> encryptionParts = new ArrayList<>();
             encryptionParts.add(bst);
             encryptionParts.add(def);
-            Element ref = builder.encryptForRef(null, encryptionParts);
+            Element ref = builder.encryptForRef(null, encryptionParts, symmetricKey);
             ref.removeChild(ref.getElementsByTagNameNS("http://www.w3.org/2001/04/xmlenc#", "DataReference").item(0));
             builder.addExternalRefElement(ref);
             builder.prependToHeader();

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/XOPAttachmentTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/XOPAttachmentTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/XOPAttachmentTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/XOPAttachmentTest.java Tue Jan 29 16:28:17 2019
@@ -29,6 +29,8 @@ import java.util.List;
 import java.util.Properties;
 import java.util.UUID;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
@@ -38,6 +40,7 @@ import org.apache.wss4j.common.WSS4JCons
 import org.apache.wss4j.common.crypto.Crypto;
 import org.apache.wss4j.common.crypto.Merlin;
 import org.apache.wss4j.common.ext.Attachment;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.common.SOAPUtil;
@@ -142,7 +145,10 @@ public class XOPAttachmentTest extends A
         sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.file", "transmitter.jks");
         sigProperties.setProperty("org.apache.wss4j.crypto.merlin.keystore.password", "default");
         Crypto crypto = new Merlin(sigProperties, this.getClass().getClassLoader(), null);
-        Document encryptedDoc = encrypt.build(crypto);
+
+        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+        SecretKey symmetricKey = keyGen.generateKey();
+        Document encryptedDoc = encrypt.build(crypto, symmetricKey);
 
         // Find the SOAP Body + replace with a xop:Include to the attachment!
         Element soapBody = WSSecurityUtil.findBodyElement(encryptedDoc);

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLCallbackHandlerImpl.java Tue Jan 29 16:28:17 2019
@@ -26,6 +26,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
@@ -48,6 +50,7 @@ import org.apache.wss4j.common.saml.bean
 import org.apache.wss4j.common.saml.bean.Version;
 import org.apache.wss4j.common.saml.builder.SAML1Constants;
 import org.apache.wss4j.common.saml.builder.SAML2Constants;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.message.WSSecEncryptedKey;
 import org.w3c.dom.Document;
@@ -208,8 +211,11 @@ public class SAMLCallbackHandlerImpl imp
             WSSecEncryptedKey encrKey = new WSSecEncryptedKey(doc);
             encrKey.setKeyIdentifierType(WSConstants.ISSUER_SERIAL);
             encrKey.setUseThisCert(certs[0]);
-            encrKey.prepare(null);
-            ephemeralKey = encrKey.getSymmetricKey().getEncoded();
+
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.AES_128);
+            SecretKey symmetricKey = keyGen.generateKey();
+            encrKey.prepare(null, symmetricKey);
+            ephemeralKey = symmetricKey.getEncoded();
             keyInfo.setEphemeralKey(ephemeralKey);
             Element encryptedKeyElement = encrKey.getEncryptedKeyElement();
 

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenReferenceTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenReferenceTest.java?rev=1852463&r1=1852462&r2=1852463&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenReferenceTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/saml/SAMLTokenReferenceTest.java Tue Jan 29 16:28:17 2019
@@ -27,6 +27,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.dom.DOMSource;
@@ -43,6 +45,7 @@ import org.apache.wss4j.common.saml.Saml
 import org.apache.wss4j.common.saml.bean.Version;
 import org.apache.wss4j.common.saml.builder.SAML1Constants;
 import org.apache.wss4j.common.saml.builder.SAML2Constants;
+import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.wss4j.dom.message.WSSecEncrypt;
@@ -377,7 +380,9 @@ public class SAMLTokenReferenceTest exte
             builder.setCustomEKTokenId(samlAssertion.getId());
 
             Crypto userCrypto = CryptoFactory.getInstance("receiver-crypto.properties");
-            builder.prepare(userCrypto);
+            KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+            SecretKey symmetricKey = keyGen.generateKey();
+            builder.prepare(userCrypto, symmetricKey);
 
             List<WSEncryptionPart> parts = new ArrayList<>();
             WSEncryptionPart encP =
@@ -385,7 +390,7 @@ public class SAMLTokenReferenceTest exte
                             "add", "http://ws.apache.org/counter/counter_port_type", "Element"
                     );
             parts.add(encP);
-            Element refElement = builder.encryptForRef(null, parts);
+            Element refElement = builder.encryptForRef(null, parts, symmetricKey);
             builder.addInternalRefElement(refElement);
             builder.appendToHeader();
 
@@ -462,7 +467,9 @@ public class SAMLTokenReferenceTest exte
              builder.setCustomEKTokenId(samlAssertion.getId());
 
              Crypto userCrypto = CryptoFactory.getInstance("receiver-crypto.properties");
-             builder.prepare(userCrypto);
+             KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
+             SecretKey symmetricKey = keyGen.generateKey();
+             builder.prepare(userCrypto, symmetricKey);
 
              List<WSEncryptionPart> parts = new ArrayList<>();
              WSEncryptionPart encP =
@@ -470,7 +477,7 @@ public class SAMLTokenReferenceTest exte
                              "add", "http://ws.apache.org/counter/counter_port_type", "Element"
                      );
              parts.add(encP);
-             Element refElement = builder.encryptForRef(null, parts);
+             Element refElement = builder.encryptForRef(null, parts, symmetricKey);
              builder.addInternalRefElement(refElement);
              builder.appendToHeader();