Skip to content

Commit 4596f4e

Browse files
sgramponeBeta Bot
authored andcommitted
Revert branch 'genexuslabs:wss4j' into beta
1 parent 24a2a7d commit 4596f4e

File tree

3 files changed

+38
-72
lines changed

3 files changed

+38
-72
lines changed

wrappercommon/pom.xml

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,12 @@
3434
<artifactId>commons-io</artifactId>
3535
<version>2.11.0</version>
3636
</dependency>
37-
<dependency>
38-
<groupId>org.apache.wss4j</groupId>
39-
<artifactId>wss4j-ws-security-common</artifactId>
40-
<version>2.4.3</version>
41-
<exclusions>
42-
<exclusion>
43-
<groupId>org.apache.geronimo.javamail</groupId>
44-
<artifactId>geronimo-javamail_1.4_mail</artifactId>
45-
</exclusion>
46-
</exclusions>
47-
</dependency>
48-
<dependency>
49-
<groupId>org.apache.wss4j</groupId>
50-
<artifactId>wss4j-ws-security-dom</artifactId>
51-
<version>2.4.3</version>
52-
</dependency>
53-
54-
55-
56-
</dependencies>
37+
<dependency>
38+
<groupId>org.apache.ws.security</groupId>
39+
<artifactId>wss4j</artifactId>
40+
<version>1.6.19</version>
41+
</dependency>
42+
</dependencies>
5743

5844
<build>
5945
<finalName>gxwrappercommon</finalName>

wrapperjakarta/src/main/java/com/genexus/ws/GXHandlerConsumerChain.java

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import java.util.Set;
44
import java.util.HashSet;
55
import java.util.Properties;
6-
import javax.crypto.KeyGenerator;
7-
import javax.crypto.SecretKey;
86
import javax.xml.namespace.QName;
97
import javax.xml.transform.*;
108
import javax.xml.transform.dom.DOMResult;
@@ -14,14 +12,12 @@
1412
import jakarta.xml.ws.handler.soap.SOAPMessageContext;
1513
import jakarta.xml.soap.*;
1614
import javax.xml.parsers.DocumentBuilderFactory;
17-
18-
import org.apache.wss4j.common.crypto.Crypto;
19-
import org.apache.wss4j.common.crypto.CryptoFactory;
20-
import org.apache.wss4j.dom.message.WSSecEncrypt;
21-
import org.apache.wss4j.dom.message.WSSecHeader;
22-
import org.apache.wss4j.dom.message.WSSecSignature;
23-
import org.apache.wss4j.dom.message.WSSecTimestamp;
24-
15+
import org.apache.ws.security.components.crypto.Crypto;
16+
import org.apache.ws.security.components.crypto.CryptoFactory;
17+
import org.apache.ws.security.message.WSSecEncrypt;
18+
import org.apache.ws.security.message.WSSecHeader;
19+
import org.apache.ws.security.message.WSSecSignature;
20+
import org.apache.ws.security.message.WSSecTimestamp;
2521
import org.w3c.dom.*;
2622
import java.io.InputStream;
2723
import java.io.ByteArrayInputStream;
@@ -30,8 +26,6 @@
3026
import com.genexus.diagnostics.core.LogManager;
3127
import com.genexus.common.interfaces.*;
3228

33-
import static org.apache.wss4j.common.util.KeyUtils.getKeyGenerator;
34-
3529
public class GXHandlerConsumerChain implements SOAPHandler<SOAPMessageContext>
3630
{
3731
public static final ILogger logger = LogManager.getLogger(GXHandlerConsumerChain.class);
@@ -162,8 +156,8 @@ public boolean handleMessage(SOAPMessageContext messageContext)
162156
Document doc = messageToDocument(messageContext.getMessage());
163157

164158
//Security header
165-
WSSecHeader secHeader = new WSSecHeader(doc);
166-
secHeader.insertSecurityHeader();
159+
WSSecHeader secHeader = new WSSecHeader();
160+
secHeader.insertSecurityHeader(doc);
167161
Document signedDoc = null;
168162

169163
//Signature
@@ -174,7 +168,7 @@ public boolean handleMessage(SOAPMessageContext messageContext)
174168
signatureProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", wsSignature.getKeystore().getPassword());
175169
signatureProperties.put("org.apache.ws.security.crypto.merlin.file", wsSignature.getKeystore().getSource());
176170
Crypto signatureCrypto = CryptoFactory.getInstance(signatureProperties);
177-
WSSecSignature sign = new WSSecSignature(doc);
171+
WSSecSignature sign = new WSSecSignature();
178172
sign.setKeyIdentifierType(wsSignature.getKeyIdentifierType());
179173
sign.setUserInfo(wsSignature.getAlias(), wsSignature.getKeystore().getPassword());
180174
if (wsSignature.getCanonicalizationalgorithm() != null)
@@ -183,13 +177,13 @@ public boolean handleMessage(SOAPMessageContext messageContext)
183177
sign.setDigestAlgo(wsSignature.getDigest());
184178
if (wsSignature.getSignaturealgorithm() != null)
185179
sign.setSignatureAlgorithm(wsSignature.getSignaturealgorithm());
186-
signedDoc = sign.build( signatureCrypto);
180+
signedDoc = sign.build(doc, signatureCrypto, secHeader);
187181

188182
if (expirationTimeout > 0)
189183
{
190-
WSSecTimestamp timestamp = new WSSecTimestamp(secHeader);
184+
WSSecTimestamp timestamp = new WSSecTimestamp();
191185
timestamp.setTimeToLive(expirationTimeout);
192-
signedDoc = timestamp.build();
186+
signedDoc = timestamp.build(signedDoc, secHeader);
193187
}
194188
}
195189

@@ -201,19 +195,14 @@ public boolean handleMessage(SOAPMessageContext messageContext)
201195
encryptionProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", wsEncryption.getKeystore().getPassword());
202196
encryptionProperties.put("org.apache.ws.security.crypto.merlin.file", wsEncryption.getKeystore().getSource());
203197
Crypto encryptionCrypto = CryptoFactory.getInstance(encryptionProperties);
198+
WSSecEncrypt builder = new WSSecEncrypt();
199+
builder.setUserInfo(wsEncryption.getAlias(), wsEncryption.getKeystore().getPassword());
200+
builder.setKeyIdentifierType(wsEncryption.getKeyIdentifierType());
204201
if (signedDoc == null)
205202
{
206203
signedDoc = doc;
207204
}
208-
WSSecEncrypt builder = new WSSecEncrypt(signedDoc);
209-
builder.setUserInfo(wsEncryption.getAlias(), wsEncryption.getKeystore().getPassword());
210-
builder.setKeyIdentifierType(wsEncryption.getKeyIdentifierType());
211-
//using wss4j default encryption algorithm AES128-CBC
212-
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
213-
keyGenerator.init(128);
214-
SecretKey key = keyGenerator.generateKey();
215-
216-
builder.build(encryptionCrypto, key);
205+
builder.build(signedDoc, encryptionCrypto, secHeader);
217206
}
218207

219208
Document securityDoc = doc;

wrapperjavax/src/main/java/com/genexus/ws/GXHandlerConsumerChain.java

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import java.util.Set;
44
import java.util.HashSet;
55
import java.util.Properties;
6-
import javax.crypto.KeyGenerator;
7-
import javax.crypto.SecretKey;
86
import javax.xml.namespace.QName;
97
import javax.xml.transform.*;
108
import javax.xml.transform.dom.DOMResult;
@@ -14,14 +12,12 @@
1412
import javax.xml.ws.handler.soap.SOAPMessageContext;
1513
import javax.xml.soap.*;
1614
import javax.xml.parsers.DocumentBuilderFactory;
17-
18-
import org.apache.wss4j.common.crypto.Crypto;
19-
import org.apache.wss4j.common.crypto.CryptoFactory;
20-
import org.apache.wss4j.dom.message.WSSecEncrypt;
21-
import org.apache.wss4j.dom.message.WSSecHeader;
22-
import org.apache.wss4j.dom.message.WSSecSignature;
23-
import org.apache.wss4j.dom.message.WSSecTimestamp;
24-
15+
import org.apache.ws.security.components.crypto.Crypto;
16+
import org.apache.ws.security.components.crypto.CryptoFactory;
17+
import org.apache.ws.security.message.WSSecEncrypt;
18+
import org.apache.ws.security.message.WSSecHeader;
19+
import org.apache.ws.security.message.WSSecSignature;
20+
import org.apache.ws.security.message.WSSecTimestamp;
2521
import org.w3c.dom.*;
2622
import java.io.InputStream;
2723
import java.io.ByteArrayInputStream;
@@ -160,8 +156,8 @@ public boolean handleMessage(SOAPMessageContext messageContext)
160156
Document doc = messageToDocument(messageContext.getMessage());
161157

162158
//Security header
163-
WSSecHeader secHeader = new WSSecHeader(doc);
164-
secHeader.insertSecurityHeader();
159+
WSSecHeader secHeader = new WSSecHeader();
160+
secHeader.insertSecurityHeader(doc);
165161
Document signedDoc = null;
166162

167163
//Signature
@@ -172,7 +168,7 @@ public boolean handleMessage(SOAPMessageContext messageContext)
172168
signatureProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", wsSignature.getKeystore().getPassword());
173169
signatureProperties.put("org.apache.ws.security.crypto.merlin.file", wsSignature.getKeystore().getSource());
174170
Crypto signatureCrypto = CryptoFactory.getInstance(signatureProperties);
175-
WSSecSignature sign = new WSSecSignature(doc);
171+
WSSecSignature sign = new WSSecSignature();
176172
sign.setKeyIdentifierType(wsSignature.getKeyIdentifierType());
177173
sign.setUserInfo(wsSignature.getAlias(), wsSignature.getKeystore().getPassword());
178174
if (wsSignature.getCanonicalizationalgorithm() != null)
@@ -181,13 +177,13 @@ public boolean handleMessage(SOAPMessageContext messageContext)
181177
sign.setDigestAlgo(wsSignature.getDigest());
182178
if (wsSignature.getSignaturealgorithm() != null)
183179
sign.setSignatureAlgorithm(wsSignature.getSignaturealgorithm());
184-
signedDoc = sign.build( signatureCrypto);
180+
signedDoc = sign.build(doc, signatureCrypto, secHeader);
185181

186182
if (expirationTimeout > 0)
187183
{
188-
WSSecTimestamp timestamp = new WSSecTimestamp(secHeader);
184+
WSSecTimestamp timestamp = new WSSecTimestamp();
189185
timestamp.setTimeToLive(expirationTimeout);
190-
signedDoc = timestamp.build();
186+
signedDoc = timestamp.build(signedDoc, secHeader);
191187
}
192188
}
193189

@@ -199,19 +195,14 @@ public boolean handleMessage(SOAPMessageContext messageContext)
199195
encryptionProperties.put("org.apache.ws.security.crypto.merlin.keystore.password", wsEncryption.getKeystore().getPassword());
200196
encryptionProperties.put("org.apache.ws.security.crypto.merlin.file", wsEncryption.getKeystore().getSource());
201197
Crypto encryptionCrypto = CryptoFactory.getInstance(encryptionProperties);
198+
WSSecEncrypt builder = new WSSecEncrypt();
199+
builder.setUserInfo(wsEncryption.getAlias(), wsEncryption.getKeystore().getPassword());
200+
builder.setKeyIdentifierType(wsEncryption.getKeyIdentifierType());
202201
if (signedDoc == null)
203202
{
204203
signedDoc = doc;
205204
}
206-
WSSecEncrypt builder = new WSSecEncrypt(signedDoc);
207-
builder.setUserInfo(wsEncryption.getAlias(), wsEncryption.getKeystore().getPassword());
208-
builder.setKeyIdentifierType(wsEncryption.getKeyIdentifierType());
209-
//using wss4j default encryption algorithm AES128-CBC
210-
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
211-
keyGenerator.init(128);
212-
SecretKey key = keyGenerator.generateKey();
213-
214-
builder.build(encryptionCrypto, key);
205+
builder.build(signedDoc, encryptionCrypto, secHeader);
215206
}
216207

217208
Document securityDoc = doc;

0 commit comments

Comments
 (0)