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();