hello,
Not sure is it because i change from original JWEHeader jweHeader = JWEHeader.parse(Base64URL.from(b64EncodedHeader));
to JWEHeader jweHeader = JWEHeader.parse(Base64URL.encode(b64EncodedHeader));
The difference of change is from as it having a compilation error if not change from to encode.
Hope someone will help.
java.text.ParseException: Invalid JSON: Unexpected token
eyJraWQiOiIyYzUyMzQ1My1lMzJlLTQ2MTItYTQ2MS0zNmJlYzA3MzU4NGMiLCJjdHkiOiJhcHBsaWNhdGlvblwveG1sIiwidHlwIjoiSk9TRSIsImVuYyI6IkEyNTZHQ00iLCJ0YWciOiJDaFhrWnlfMG5KVXkwaTUzX0RMNHBnIiwiaWF0IjoxNjM5MTIwNjQyMzA0LCJhbGciOiJBMjU2R0NNS1ciLCJpdiI6ImFlekstQmlMQ2hCZkFMWnMifQ at position 258.
at com.nimbusds.jose.util.JSONObjectUtils.parse(JSONObjectUtils.java:75)
at com.nimbusds.jose.JWEHeader.parse(JWEHeader.java:1271)
at com.nimbusds.jose.JWEHeader.parse(JWEHeader.java:1288)
at cms.redpay.api.jwe.EncryptionUtilsTest.createAndDecryptJweTestUsingSharedSecretWithXmlPayload(EncryptionUtilsTest.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Hi @shahreen,
Thanks for trying the JWS JWE sample code. Please also download the User Guide from the General Assets of your project dashboard. It has useful information for creating, verifying, and decrypting JWS-JWE.
thanks Stacey. I go thru the document.
Meanwhile, having a question on Decrypting a JWE Using RSA:
Is Visa having a sample working java program for encrypt and decrypt? hopefully I can get to refer.
I'm currently try to decrypt follow on the document given, but have stuck on following error:
com.nimbusds.jose.JOSEException: Decryption error
at com.nimbusds.jose.crypto.impl.RSA_OAEP_256.decryptCEK(RSA_OAEP_256.java:123)
at com.nimbusds.jose.crypto.RSADecrypter.decrypt(RSADecrypter.java:278)
at com.nimbusds.jose.JWEObject.decrypt(JWEObject.java:415)
at cms.redpay.api.jwe.RedPayJweUtility.decryptToCardholderInfo(RedPayJweUtility.java:143)
at cms.redpay.api.jwe.RedPayJweUtility.main(RedPayJweUtility.java:65)
Caused by: javax.crypto.BadPaddingException: Decryption error
at sun.security.rsa.RSAPadding.unpadOAEP(Unknown Source)
at sun.security.rsa.RSAPadding.unpad(Unknown Source)
at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:370)
at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:404)
at javax.crypto.Cipher.doFinal(Cipher.java:2168)
at com.nimbusds.jose.crypto.impl.RSA_OAEP_256.decryptCEK(RSA_OAEP_256.java:115)
Hi @shahreen,
Please check out the tutorial below on how to run Java sample code for message level encryption/decryption and feel free to post questions on the page if you have any.