Skip to content

Commit

Permalink
Fix invalid paths for the keys
Browse files Browse the repository at this point in the history
  • Loading branch information
Nuvindu committed Oct 11, 2024
1 parent 196ec3a commit a243770
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions native/src/main/java/org/wssec/WsSecurity.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
import org.w3c.dom.Element;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
Expand All @@ -59,13 +58,10 @@
import javax.crypto.SecretKey;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import javax.xml.namespace.QName;

import static org.apache.wss4j.common.WSS4JConstants.AES_128_GCM;
import static org.apache.wss4j.common.WSS4JConstants.HMAC_SHA1;
import static org.apache.wss4j.common.WSS4JConstants.RSA_SHA1;
import static org.apache.wss4j.common.WSS4JConstants.SHA1;
import static org.apache.wss4j.dom.WSConstants.CUSTOM_KEY_IDENTIFIER;
import static org.apache.wss4j.dom.WSConstants.X509_KEY_IDENTIFIER;
import static org.wssec.Constants.DERIVED_KEY_DIGEST;
Expand Down Expand Up @@ -291,21 +287,25 @@ public List<WSSecurityEngineResult> handleToken(Element elem, RequestData data)

public static Object decryptEnvelope(BObject documentBuilder, BMap<BString, Object> config) {
Document encryptedDocument = (Document) documentBuilder.getNativeData(NATIVE_DOCUMENT);
BMap<BString, BString> keyStore = (BMap<BString, BString>) config
.getMapValue(StringUtils.fromString("keystore"));
String path = keyStore.get(StringUtils.fromString("path")).toString();
String password = keyStore.get(StringUtils.fromString("password")).toString();
WSSecHeader secHeader = new WSSecHeader(encryptedDocument);
WSSecurityEngine secEngine = new WSSecurityEngine();
RequestData requestData = new RequestData();
Properties properties = new Properties();
properties.put("org.apache.ws.security.crypto.provider", "org.apache.wss4j.common.crypto.Merlin");
properties.put("org.apache.ws.security.crypto.merlin.keystore.file", "/Users/nuvindu/Ballerina/hardrock/digest-value/src/main/resources/keystore.jks");
properties.put("org.apache.ws.security.crypto.merlin.keystore.password", "password");
properties.put("org.apache.ws.security.crypto.merlin.keystore.file", path);
properties.put("org.apache.ws.security.crypto.merlin.keystore.password", password);
try {
Crypto crypto = CryptoFactory.getInstance(properties);
requestData.setSigVerCrypto(crypto);
requestData.setDecCrypto(crypto);
requestData.setSecHeader(secHeader);
CallbackHandler passwordCallbackHandler = callbacks -> {
for (Callback callback: callbacks) {
((WSPasswordCallback) callback).setPassword("password");
((WSPasswordCallback) callback).setPassword(password);
}
};
requestData.setCallbackHandler(passwordCallbackHandler);
Expand Down

0 comments on commit a243770

Please sign in to comment.