Skip to content

Commit f0ca290

Browse files
committed
fixing failed to sign issue, which was due to wrong pwd used while signing the request
1 parent d0850b4 commit f0ca290

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

java/src/main/java/com/cybersource/ws/client/Identity.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ public class Identity {
4040
private long lastModifiedDate;
4141

4242
private static final String SERVER_ALIAS = "CyberSource_SJC_US";
43-
43+
44+
private char[] pswd;
45+
4446
private Logger logger = null;
4547

4648
/**
@@ -122,11 +124,8 @@ public Identity(MerchantConfig merchantConfig,X509Certificate x509Certificate, P
122124
*/
123125

124126
public boolean isValid(File keyFile) {
125-
126127
boolean changeKeyFileStatus=(this.lastModifiedDate == keyFile.lastModified());
127-
128128
if (!changeKeyFileStatus) {
129-
130129
logger.log(Logger.LT_INFO, "Key file changed");
131130
logger.log(Logger.LT_INFO, "Timestamp of current key file:"+keyFile.lastModified());
132131
}
@@ -142,6 +141,7 @@ private void setUpMerchant() throws SignException {
142141
throw new SignException("Exception while obtaining private key from KeyStore with alias, '" + merchantConfig.getKeyAlias() + "'");
143142
}
144143
name = merchantConfig.getMerchantID();
144+
pswd = merchantConfig.getKeyPassword().toCharArray();
145145
serialNumber = subjectDNrray[1];
146146
keyAlias = "serialNumber=" + serialNumber + ",CN=" + name;
147147
} else {
@@ -197,8 +197,11 @@ public String getSerialNumber() {
197197

198198
return serialNumber;
199199
}
200-
201-
200+
201+
public char[] getPswd() {
202+
return pswd;
203+
}
204+
202205
public void setSerialNumber(String serialNumber) {
203206
this.serialNumber = serialNumber;
204207
}

java/src/main/java/com/cybersource/ws/client/MessageHandlerKeyStore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void addIdentityToKeyStore(Identity id, Logger logger) throws SignEncrypt
2626
try {
2727
if (privateKey != null) {
2828
X509Certificate[] certChain = {certificate};
29-
getKeyStore().setKeyEntry(id.getKeyAlias(), privateKey, id.getName().toCharArray(), certChain);
29+
getKeyStore().setKeyEntry(id.getKeyAlias(), privateKey, id.getPswd(), certChain);
3030
} else {
3131
getKeyStore().setCertificateEntry(id.getKeyAlias(), certificate);
3232
}

0 commit comments

Comments
 (0)