diff --git a/src/com/amazon/pay/api/SignatureHelper.java b/src/com/amazon/pay/api/SignatureHelper.java index 20e6cce..0343c97 100644 --- a/src/com/amazon/pay/api/SignatureHelper.java +++ b/src/com/amazon/pay/api/SignatureHelper.java @@ -20,6 +20,7 @@ import org.bouncycastle.util.encoders.Hex; import java.net.URI; +import java.nio.charset.StandardCharsets; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.MessageDigest; @@ -125,7 +126,7 @@ public String generateSignature(final String stringToSign, final PrivateKey priv ServiceConstants.MASK_GENERATION_FUNCTION, mgf1ParameterSpec, SALT_LENGTH, TRAILER_FIELD); signature.setParameter(pssParameterSpec); signature.initSign(privateKey); - signature.update(stringToSign.getBytes()); + signature.update(stringToSign.getBytes(StandardCharsets.UTF_8)); return new String(Base64.encode(signature.sign())); } @@ -321,7 +322,7 @@ private String getCanonicalizedURI(final String path) throws AmazonPayClientExce */ private String hashThenHexEncode(final String requestPayload) throws NoSuchAlgorithmException { final MessageDigest md = MessageDigest.getInstance(ServiceConstants.HASH_ALGORITHM); - md.update(requestPayload.getBytes()); + md.update(requestPayload.getBytes(StandardCharsets.UTF_8)); final byte[] digest = md.digest(); final String contentSha256 = new String((Hex.encode(digest)));