-
Notifications
You must be signed in to change notification settings - Fork 89
Description
Description
Is not possible to decrypt a primitive value other than strings for same decryption path
To Reproduce
String encryptedPayload = "{" +
" "data": {" +
" "iv": "5bb681fb4ca4a8f85a9c80b8f234e87c"," +
" "encryptedKey": "d6819275d3a692bddce0baa10187769e0d683c351fb4e1857ab30f2572fbe1db95c34583d20ea5b224a638e99d26f6935104500b49fc1e855b7af30f34ac1d148090c6393e77e0f16d710614d00817ac862f9af730e9b3596d2c0dacf1349abd18717792ac3040f4ef1cc2e8fd9e0d685a192bfc6800e79022393eb3ce326757ba556107be28c02590390fad73117f7da3d96c05f54aaa36541b05680f23a222f1b7bbe54f1b070515dfbea8e5312708d5c27bfe9d9350e7bb72914351a6db1d83cdefee7d7514d04b73b6e285f334b27c674ad50ec830494ebc2901f1fe1738863b2d7940c98a15e1467d501545bffa724fd97b2d673e92629c9be79ca7381f"," +
" "encryptedValue": "072b6ef69afd42d43b89afdf8f8bb172"," +
" "oaepHashingAlgorithm": "SHA256"" +
" }" +
"}";
FieldLevelEncryptionConfig config = FieldLevelEncryptionConfigBuilder.aFieldLevelEncryptionConfig()
...
.withDecryptionPath("data", "data")
.build();
String payload = FieldLevelEncryption.decryptPayload(encryptedPayload, config);
ERROR:
com.jayway.jsonpath.JsonPathException: length operation cannot be applied to java.lang.Integer
at com.jayway.jsonpath.spi.json.AbstractJsonProvider.length(AbstractJsonProvider.java:157)
at com.mastercard.developer.encryption.FieldLevelEncryption.decryptPayloadPath(FieldLevelEncryption.java:198)
at com.mastercard.developer.encryption.FieldLevelEncryption.decryptPayload(FieldLevelEncryption.java:75)
at com.mastercard.developer.encryption.FieldLevelEncryption.decryptPayload(FieldLevelEncryption.java:62)
Expected behavior
payload = "{"data":1984}"