Skip to content

Commit 1d49eef

Browse files
authored
New methods where added to WSSignature data type. (#469)
Issue: 92013
1 parent c555e80 commit 1d49eef

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

common/src/main/java/com/genexus/common/interfaces/IGXWSSignature.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,11 @@ public interface IGXWSSignature
88
void setKeystore(IGXWSSecurityKeyStore keystore);
99
int getKeyIdentifierType();
1010
void setKeyIdentifierType(int keyIdentifierType);
11+
String getCanonicalizationalgorithm();
12+
void setCanonicalizationalgorithm(String algorithm);
13+
String getDigest();
14+
void setDigest(String digest);
15+
String getSignaturealgorithm();
16+
void setSignaturealgorithm(String algorithm);
1117
}
1218

java/src/main/java/com/genexus/ws/security/GXWSSignature.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ public class GXWSSignature implements IGXWSSignature
88
private IGXWSSecurityKeyStore keystore;
99
private String alias;
1010
private int keyIdentifierType;
11+
private String canonicalizationAlgorithm;
12+
private String digest;
13+
private String signatureAlgorithm;
1114

1215
public GXWSSignature()
1316
{
@@ -44,5 +47,17 @@ public void setKeyIdentifierType(int keyIdentifierType)
4447
{
4548
this.keyIdentifierType = keyIdentifierType;
4649
}
50+
51+
public String getCanonicalizationalgorithm() {return canonicalizationAlgorithm;}
52+
53+
public void setCanonicalizationalgorithm(String algorithm) {this.canonicalizationAlgorithm = algorithm;}
54+
55+
public String getDigest() {return digest;}
56+
57+
public void setDigest(String digest) {this.digest = digest;}
58+
59+
public String getSignaturealgorithm() { return signatureAlgorithm;}
60+
61+
public void setSignaturealgorithm(String algorithm) {this.signatureAlgorithm = algorithm;}
4762
}
4863

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ public boolean handleMessage(SOAPMessageContext messageContext)
151151
WSSecSignature sign = new WSSecSignature();
152152
sign.setKeyIdentifierType(wsSignature.getKeyIdentifierType());
153153
sign.setUserInfo(wsSignature.getAlias(), wsSignature.getKeystore().getPassword());
154+
if (wsSignature.getCanonicalizationalgorithm() != null)
155+
sign.setSigCanonicalization(wsSignature.getCanonicalizationalgorithm());
156+
if (wsSignature.getDigest() != null)
157+
sign.setDigestAlgo(wsSignature.getDigest());
158+
if (wsSignature.getSignaturealgorithm() != null)
159+
sign.setSignatureAlgorithm(wsSignature.getSignaturealgorithm());
154160
signedDoc = sign.build(doc, signatureCrypto, secHeader);
155161

156162
if (expirationTimeout > 0)

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ public boolean handleMessage(SOAPMessageContext messageContext)
151151
WSSecSignature sign = new WSSecSignature();
152152
sign.setKeyIdentifierType(wsSignature.getKeyIdentifierType());
153153
sign.setUserInfo(wsSignature.getAlias(), wsSignature.getKeystore().getPassword());
154+
if (wsSignature.getCanonicalizationalgorithm() != null)
155+
sign.setSigCanonicalization(wsSignature.getCanonicalizationalgorithm());
156+
if (wsSignature.getDigest() != null)
157+
sign.setDigestAlgo(wsSignature.getDigest());
158+
if (wsSignature.getSignaturealgorithm() != null)
159+
sign.setSignatureAlgorithm(wsSignature.getSignaturealgorithm());
154160
signedDoc = sign.build(doc, signatureCrypto, secHeader);
155161

156162
if (expirationTimeout > 0)

0 commit comments

Comments
 (0)