You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by MMA_EDFX <ma...@edifixio.com> on 2016/10/03 05:01:21 UTC

RSA encryption does not looks to be working

Exception:

javax.crypto.BadPaddingException: data hash wrong

org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineDoFinal(Unknown
Source)
	javax.crypto.Cipher.doFinal(Cipher.java:2165)

com.mycompany.web.restfulws.EncryptionUtil.rsaDecryptWithRawPrivateKey(EncryptionUtil.java:207)


My Public Key is

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIs7W0XmYFjH415JDrOwuiSTnQOJXzKGOCDN2tbfqmDx+CD9VOs+0xSLKwg8towxmtmYTxF8vZy9Rk3jt3DarRQBlzjaT3dHsbaPZ72BNhfKnbk3WbIU8Eh7Ur1BrRCOxK8b4B7Q+iOCIf4CRF/JbYyebav1CfbbWLSZ1cl8ZUxQIDAQAB

My Private Key

MIICoTAbBgoqhkiG9w0BDAEDMA0ECDoNAO+O/RGtAgEUBIICgBZLXWRz+qpTxbOfxKBtSwvY3i/vcc39rvdgbmI+uFx5uUBrXlPgt0NB8bM7rtqm6OoFLcmyCSdwpmWS7qs9JxDZ5JQf0zsXT2UTsDN6tzeazuJPdrQWbk7VMUeWaI8E8cSFFtPF5R0Ab2bTo0wm/OOboKKtXlGAKL5CHC3KT87z8GpSfikVEfpMXfd/3zG5Q8FvsmcLjL9nnxCVb5CV2/9ghlZrvPknb6kKgUta/1y8ha6h7E9w23fIscjpHLD3TSP2JtigpfFPPv6MjeMaZMkHiuBQdJH7NVuOUM0OBRUsL+K5hsWReoqXqtPGRfAG4GUk6DP2yTwPSjv4dXWin+L5iYBxzgV8A0L+hJssrjUAo/gznMflKFw8xkcQ3UK0moMxSVzHeq/SRIowYfx9by1IJr8yRc1KqEHK+2lPApIMQBXn12Pnz/4ik+NkfOC7/Mk4QT718+SSzQmnJAq4sckh/k3lecxn3fW5T15LwjKiZFrxdXWclnuc0nMUlbQL8xL4Fwkz3bELTCwylECrugYvoHIhkaQx7/nLWO8To6zImWRTN9O6ietHiH3q5BnjDc4M59N8BeCZWIbYU+cJH8UDI596BZRfKo16WJXjguMDz3rJDOqEW/RjxYH90QdHTrxZlktVH5hKpTqKnNAXaUiB6I1+P6E2h7z3gGIgcXG6+rmpxzIpTxXF3I87MBz/wZpZQarBpGeMSXuOGvkVUvaxPiT9q7OxFWDv4Y79lYAlxKbsrgRlQDxJ8VhHmaX7E28EKk+c1h9lPREq2w2/bBQ/N5XrwLnf4K6yWAPLuyvQZYDJH4DunEyP+JKVZwUjxsu4MkvnwucdsM/1hX4Ttgc=

My message is pretty big (Specifically I need to decrypt Big JSON message in
my project). So I will use AES encryption for the message. 

private static int iterations = 65536;
private static int keySize = 128;
	
private final static String TRANSFORMATION =
"RSA/ECB/OAEPWithSHA-256AndMGF1Padding";
private final static String ENCODING = "UTF-8";

private final static String RSA_ALGORITHM = "RSA";

Step1: AES encypt the message.

public static String aesEncryptMessage(String toBeEncrypted) throws
Exception{
	char[] plaintext = toBeEncrypted.toCharArray();
	byte[] saltBytes = getSalt().getBytes();
	SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
	PBEKeySpec spec = new PBEKeySpec(plaintext,saltBytes,iterations,keySize);
	SecretKey secretKey = skf.generateSecret(spec);
	// Encode the secret
	base64EncodedSecretKey =
BaseEncoding.base64().encode(secretKey.getEncoded());
	SecretKeySpec secretSpec = new SecretKeySpec(secretKey.getEncoded(),"AES");
	Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
	cipher.init(Cipher.ENCRYPT_MODE,secretSpec);
	AlgorithmParameters params = cipher.getParameters();
	byte[] ivBytes = params.getParameterSpec(IvParameterSpec.class).getIV();
	base64EncodedIVBytes = BaseEncoding.base64().encode(ivBytes);
	byte[] encryptedTextBytes =
cipher.doFinal(String.valueOf(plaintext).getBytes("UTF-8"));
	return DatatypeConverter.printBase64Binary(encryptedTextBytes);
}

Step2: RES encryption of the base64EncodedSecretKey

public static String rsaEncryptWithRawPublicKey(String rawText,String
publicKey) throws IOException,GeneralSecurityException{
	byte[] publicKeyBase64Encoded = publicKey.getBytes(ENCODING);
	byte[] base64DecodedPublicKeyBytes = BaseEncoding.base64().decode(new
String(publicKeyBase64Encoded).trim());
	X509EncodedKeySpec x509EncodedKeySpec = new
X509EncodedKeySpec(base64DecodedPublicKeyBytes);
	Cipher cipher = Cipher.getInstance(TRANSFORMATION);

cipher.init(Cipher.ENCRYPT_MODE,KeyFactory.getInstance(RSA_ALGORITHM).generatePublic(x509EncodedKeySpec));
	return
org.apache.commons.codec.binary.Base64.encodeBase64String(cipher.doFinal(rawText.getBytes(ENCODING)));
}

Step3: The sender will exchange AES encrypted message + RES encrypted
password and the IVByets to the receiver

Step4: From the receiver end, Since the receiver has private key he will
decrypt the RES encrypted password

public static String rsaDecryptWithRawPrivateKey(String cipherText,String
privateKey) throws GeneralSecurityException, UnsupportedEncodingException{
	byte[] privateKeyBase64Encoded = privateKey.getBytes(ENCODING);
	byte[] base64DecodedPrivateKeyBytes = BaseEncoding.base64().decode(new
String(privateKeyBase64Encoded).trim());

	PKCS8Key pkcs8 = new
PKCS8Key(base64DecodedPrivateKeyBytes,"pleaseChangeit!".toCharArray());

	byte[] decrypted = pkcs8.getDecryptedBytes();
	PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decrypted);

	// A Java PrivateKey object is born.
	PrivateKey pk = null;
	if (pkcs8.isDSA()) {
		pk = KeyFactory.getInstance("DSA").generatePrivate(spec);
	}
	else if (pkcs8.isRSA()) {
		pk = KeyFactory.getInstance("RSA").generatePrivate(spec);
	}

	// For lazier types:
	pk = pkcs8.getPrivateKey();

	PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new
PKCS8EncodedKeySpec(pk.getEncoded());
	Cipher cipher = Cipher.getInstance(TRANSFORMATION);

cipher.init(Cipher.DECRYPT_MODE,KeyFactory.getInstance(RSA_ALGORITHM).generatePrivate(pkcs8EncodedKeySpec));
	try {
		return new
String(cipher.doFinal(org.apache.commons.codec.binary.Base64.decodeBase64(cipherText)),ENCODING);
	}
	catch (BadPaddingException bpe) {
		throw new ServiceFatalException("Bad Padding Exception. Here was the text
to be decrypted ' "+cipherText+" '",bpe);
	}
}

Step5: After getting the RES encoded password, receiver will decrypt the AES
encrypted message

public static String aesDecryptMessage(String encryptedMessage,String
base64EncodedEncryptedSecretKey,String base64EncodedEncryptedIVBytes){
	byte[] decryptedTextBytes = null;
	try {
		byte[] encryptedTextBytes = DatatypeConverter.parseBase64Binary(new
String(encryptedMessage));
		byte[] base64DecodedEncryptedSecretKey =
Base64.getDecoder().decode(base64EncodedEncryptedSecretKey);
		SecretKeySpec secretSpec = new
SecretKeySpec(base64DecodedEncryptedSecretKey,"AES");
		Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
		byte[] base64EncodedEncIVBytes =
Base64.getDecoder().decode(base64EncodedEncryptedIVBytes);
		cipher.init(Cipher.DECRYPT_MODE,secretSpec,new
IvParameterSpec(base64EncodedEncIVBytes));
		decryptedTextBytes = cipher.doFinal(encryptedTextBytes);
	}
	catch (Exception ex) {
			
	}
		return new String(decryptedTextBytes);
}

Overall 

Sender will do :

String toBeEncrypted = "Hi!. How are you?";
String encrypted = aesEncryptMessage(toBeEncrypted);
System.out.println("XXX: "+encrypted);
			
String rsaEncryptedBase64EncodedSecretKey1 =
rsaEncryptWithRawPublicKey(getBase64EncodedSecretKey(),"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIs7W0XmYFjH415JDrOwuiSTnQOJXzKGOCDN2tbfqmDx+CD9VOs+0xSLKwg8towxmtmYTxF8vZy9Rk3jt3DarRQBlzjaT3dHsbaPZ72BNhfKnbk3WbIU8Eh7Ur1BrRCOxK8b4B7Q+iOCIf4CRF/JbYyebav1CfbbWLSZ1cl8ZUxQIDAQAB");
System.out.println(rsaEncryptedBase64EncodedSecretKey1);
System.out.println(getBase64EncodedIVBytes());

From the receiver end

String encryptedMessage = "nlcJhSDU4c3CaeBrNVfsey6LDz1dT+GZT9hy25cmDOE=";
String base64EncodedSecretKey =
"DQJN55vKs1dj43NtvD/MgVqiuDdHEL+y2f56sxWhYcdskVvGZd1sq3PHL1HTAzjvWWLzA/QJGXFfdSH9K/LPGY/DqkOw2dxsTvNVV/EQoPCAGF6O7O5K4IVrez1DH0IxKIF3EcEldWcSIgpT2omJtAS4OKxdqY7MIG1Jd1Ph0P0=";
String base64EncodedIVBytes ="hzdwT6o8zgsqYnVAiP9Yhg==";
String
rsaDecryptedBase64EncodedSecretKey1=rsaDecryptWithRawPrivateKey(base64EncodedSecretKey,"MIICoTAbBgoqhkiG9w0BDAEDMA0ECDoNAO+O/RGtAgEUBIICgBZLXWRz+qpTxbOfxKBtSwvY3i/vcc39rvdgbmI+uFx5uUBrXlPgt0NB8bM7rtqm6OoFLcmyCSdwpmWS7qs9JxDZ5JQf0zsXT2UTsDN6tzeazuJPdrQWbk7VMUeWaI8E8cSFFtPF5R0Ab2bTo0wm/OOboKKtXlGAKL5CHC3KT87z8GpSfikVEfpMXfd/3zG5Q8FvsmcLjL9nnxCVb5CV2/9ghlZrvPknb6kKgUta/1y8ha6h7E9w23fIscjpHLD3TSP2JtigpfFPPv6MjeMaZMkHiuBQdJH7NVuOUM0OBRUsL+K5hsWReoqXqtPGRfAG4GUk6DP2yTwPSjv4dXWin+L5iYBxzgV8A0L+hJssrjUAo/gznMflKFw8xkcQ3UK0moMxSVzHeq/SRIowYfx9by1IJr8yRc1KqEHK+2lPApIMQBXn12Pnz/4ik+NkfOC7/Mk4QT718+SSzQmnJAq4sckh/k3lecxn3fW5T15LwjKiZFrxdXWclnuc0nMUlbQL8xL4Fwkz3bELTCwylECrugYvoHIhkaQx7/nLWO8To6zImWRTN9O6ietHiH3q5BnjDc4M59N8BeCZWIbYU+cJH8UDI596BZRfKo16WJXjguMDz3rJDOqEW/RjxYH90QdHTrxZlktVH5hKpTqKnNAXaUiB6I1+P6E2h7z3gGIgcXG6+rmpxzIpTxXF3I87MBz/wZpZQarBpGeMSXuOGvkVUvaxPiT9q7OxFWDv4Y79lYAlxKbsrgRlQDxJ8VhHmaX7E28EKk+c1h9lPREq2w2/bBQ/N5XrwLnf4K6yWAPLuyvQZYDJH4DunEyP+JKVZwUjxsu4MkvnwucdsM/1hX4Ttgc=");
String decrypted =
aesDecryptMessage(encryptedMessage,rsaDecryptedBase64EncodedSecretKey1,base64EncodedIVBytes);
System.out.println("Decrypted: "+decrypted);
			
This works well if I run it as Java program. But fails to work when I call
the rest webservice in TomEE. I checked by verifying the message,secretkey
and iv bytes. Everything looks ok.





--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/RSA-encryption-does-not-looks-to-be-working-tp4680268.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: RSA encryption does not looks to be working

Posted by MMA_EDFX <ma...@edifixio.com>.
In standalone the Provider was "SunJCE" but in TomEE it was bouncy castle. 
Now I am passing the Provider in the getInstance of Cipher.

It looks to be working after the changes.

 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding","SunJCE");



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/RSA-encryption-does-not-looks-to-be-working-tp4680268p4680285.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: RSA encryption does not looks to be working

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Did you check the getInstance(xxx) returns the same implementation in tomee
and standalone?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2016-10-03 7:01 GMT+02:00 MMA_EDFX <ma...@edifixio.com>:

> Exception:
>
> javax.crypto.BadPaddingException: data hash wrong
>
> org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineDoFinal(
> Unknown
> Source)
>         javax.crypto.Cipher.doFinal(Cipher.java:2165)
>
> com.mycompany.web.restfulws.EncryptionUtil.rsaDecryptWithRawPrivateKey(
> EncryptionUtil.java:207)
>
>
> My Public Key is
>
> MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIs7W0XmYFjH415JDrOwui
> STnQOJXzKGOCDN2tbfqmDx+CD9VOs+0xSLKwg8towxmtmYTxF8vZy9Rk3jt3
> DarRQBlzjaT3dHsbaPZ72BNhfKnbk3WbIU8Eh7Ur1BrRCOxK8b4B7Q+iOCIf4CRF/
> JbYyebav1CfbbWLSZ1cl8ZUxQIDAQAB
>
> My Private Key
>
> MIICoTAbBgoqhkiG9w0BDAEDMA0ECDoNAO+O/RGtAgEUBIICgBZLXWRz+
> qpTxbOfxKBtSwvY3i/vcc39rvdgbmI+uFx5uUBrXlPgt0NB8bM7rtqm6OoFLc
> myCSdwpmWS7qs9JxDZ5JQf0zsXT2UTsDN6tzeazuJPdrQWbk7VMUeWaI8E8c
> SFFtPF5R0Ab2bTo0wm/OOboKKtXlGAKL5CHC3KT87z8GpSfikVEfpMXfd/
> 3zG5Q8FvsmcLjL9nnxCVb5CV2/9ghlZrvPknb6kKgUta/
> 1y8ha6h7E9w23fIscjpHLD3TSP2JtigpfFPPv6MjeMaZMkHiuBQdJH7NVuOUM0OBRUsL+
> K5hsWReoqXqtPGRfAG4GUk6DP2yTwPSjv4dXWin+L5iYBxzgV8A0L+hJssrjUAo/
> gznMflKFw8xkcQ3UK0moMxSVzHeq/SRIowYfx9by1IJr8yRc1KqEHK+
> 2lPApIMQBXn12Pnz/4ik+NkfOC7/Mk4QT718+SSzQmnJAq4sckh/
> k3lecxn3fW5T15LwjKiZFrxdXWclnuc0nMUlbQL8xL4Fwkz3bELTCwylECrugYvoHIhkaQx7/
> nLWO8To6zImWRTN9O6ietHiH3q5BnjDc4M59N8BeCZWIbYU+
> cJH8UDI596BZRfKo16WJXjguMDz3rJDOqEW/RjxYH90QdHTrxZlktVH5hKpTqKnNAX
> aUiB6I1+P6E2h7z3gGIgcXG6+rmpxzIpTxXF3I87MBz/wZpZQarBpGeMSXuOGvkVUvaxPiT9q7
> OxFWDv4Y79lYAlxKbsrgRlQDxJ8VhHmaX7E28EKk+c1h9lPREq2w2/bBQ/
> N5XrwLnf4K6yWAPLuyvQZYDJH4DunEyP+JKVZwUjxsu4MkvnwucdsM/1hX4Ttgc=
>
> My message is pretty big (Specifically I need to decrypt Big JSON message
> in
> my project). So I will use AES encryption for the message.
>
> private static int iterations = 65536;
> private static int keySize = 128;
>
> private final static String TRANSFORMATION =
> "RSA/ECB/OAEPWithSHA-256AndMGF1Padding";
> private final static String ENCODING = "UTF-8";
>
> private final static String RSA_ALGORITHM = "RSA";
>
> Step1: AES encypt the message.
>
> public static String aesEncryptMessage(String toBeEncrypted) throws
> Exception{
>         char[] plaintext = toBeEncrypted.toCharArray();
>         byte[] saltBytes = getSalt().getBytes();
>         SecretKeyFactory skf = SecretKeyFactory.getInstance("
> PBKDF2WithHmacSHA1");
>         PBEKeySpec spec = new PBEKeySpec(plaintext,
> saltBytes,iterations,keySize);
>         SecretKey secretKey = skf.generateSecret(spec);
>         // Encode the secret
>         base64EncodedSecretKey =
> BaseEncoding.base64().encode(secretKey.getEncoded());
>         SecretKeySpec secretSpec = new SecretKeySpec(secretKey.
> getEncoded(),"AES");
>         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
>         cipher.init(Cipher.ENCRYPT_MODE,secretSpec);
>         AlgorithmParameters params = cipher.getParameters();
>         byte[] ivBytes = params.getParameterSpec(
> IvParameterSpec.class).getIV();
>         base64EncodedIVBytes = BaseEncoding.base64().encode(ivBytes);
>         byte[] encryptedTextBytes =
> cipher.doFinal(String.valueOf(plaintext).getBytes("UTF-8"));
>         return DatatypeConverter.printBase64Binary(encryptedTextBytes);
> }
>
> Step2: RES encryption of the base64EncodedSecretKey
>
> public static String rsaEncryptWithRawPublicKey(String rawText,String
> publicKey) throws IOException,GeneralSecurityException{
>         byte[] publicKeyBase64Encoded = publicKey.getBytes(ENCODING);
>         byte[] base64DecodedPublicKeyBytes = BaseEncoding.base64().decode(
> new
> String(publicKeyBase64Encoded).trim());
>         X509EncodedKeySpec x509EncodedKeySpec = new
> X509EncodedKeySpec(base64DecodedPublicKeyBytes);
>         Cipher cipher = Cipher.getInstance(TRANSFORMATION);
>
> cipher.init(Cipher.ENCRYPT_MODE,KeyFactory.getInstance(
> RSA_ALGORITHM).generatePublic(x509EncodedKeySpec));
>         return
> org.apache.commons.codec.binary.Base64.encodeBase64String(cipher.
> doFinal(rawText.getBytes(ENCODING)));
> }
>
> Step3: The sender will exchange AES encrypted message + RES encrypted
> password and the IVByets to the receiver
>
> Step4: From the receiver end, Since the receiver has private key he will
> decrypt the RES encrypted password
>
> public static String rsaDecryptWithRawPrivateKey(String cipherText,String
> privateKey) throws GeneralSecurityException, UnsupportedEncodingException{
>         byte[] privateKeyBase64Encoded = privateKey.getBytes(ENCODING);
>         byte[] base64DecodedPrivateKeyBytes = BaseEncoding.base64().decode(
> new
> String(privateKeyBase64Encoded).trim());
>
>         PKCS8Key pkcs8 = new
> PKCS8Key(base64DecodedPrivateKeyBytes,"pleaseChangeit!".toCharArray());
>
>         byte[] decrypted = pkcs8.getDecryptedBytes();
>         PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decrypted);
>
>         // A Java PrivateKey object is born.
>         PrivateKey pk = null;
>         if (pkcs8.isDSA()) {
>                 pk = KeyFactory.getInstance("DSA").generatePrivate(spec);
>         }
>         else if (pkcs8.isRSA()) {
>                 pk = KeyFactory.getInstance("RSA").generatePrivate(spec);
>         }
>
>         // For lazier types:
>         pk = pkcs8.getPrivateKey();
>
>         PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new
> PKCS8EncodedKeySpec(pk.getEncoded());
>         Cipher cipher = Cipher.getInstance(TRANSFORMATION);
>
> cipher.init(Cipher.DECRYPT_MODE,KeyFactory.getInstance(RSA_ALGORITHM).
> generatePrivate(pkcs8EncodedKeySpec));
>         try {
>                 return new
> String(cipher.doFinal(org.apache.commons.codec.binary.Base64.decodeBase64(
> cipherText)),ENCODING);
>         }
>         catch (BadPaddingException bpe) {
>                 throw new ServiceFatalException("Bad Padding Exception.
> Here was the text
> to be decrypted ' "+cipherText+" '",bpe);
>         }
> }
>
> Step5: After getting the RES encoded password, receiver will decrypt the
> AES
> encrypted message
>
> public static String aesDecryptMessage(String encryptedMessage,String
> base64EncodedEncryptedSecretKey,String base64EncodedEncryptedIVBytes){
>         byte[] decryptedTextBytes = null;
>         try {
>                 byte[] encryptedTextBytes = DatatypeConverter.
> parseBase64Binary(new
> String(encryptedMessage));
>                 byte[] base64DecodedEncryptedSecretKey =
> Base64.getDecoder().decode(base64EncodedEncryptedSecretKey);
>                 SecretKeySpec secretSpec = new
> SecretKeySpec(base64DecodedEncryptedSecretKey,"AES");
>                 Cipher cipher = Cipher.getInstance("AES/CBC/
> PKCS5Padding");
>                 byte[] base64EncodedEncIVBytes =
> Base64.getDecoder().decode(base64EncodedEncryptedIVBytes);
>                 cipher.init(Cipher.DECRYPT_MODE,secretSpec,new
> IvParameterSpec(base64EncodedEncIVBytes));
>                 decryptedTextBytes = cipher.doFinal(encryptedTextBytes);
>         }
>         catch (Exception ex) {
>
>         }
>                 return new String(decryptedTextBytes);
> }
>
> Overall
>
> Sender will do :
>
> String toBeEncrypted = "Hi!. How are you?";
> String encrypted = aesEncryptMessage(toBeEncrypted);
> System.out.println("XXX: "+encrypted);
>
> String rsaEncryptedBase64EncodedSecretKey1 =
> rsaEncryptWithRawPublicKey(getBase64EncodedSecretKey(),"
> MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIs7W0XmYFjH415JDrOwui
> STnQOJXzKGOCDN2tbfqmDx+CD9VOs+0xSLKwg8towxmtmYTxF8vZy9Rk3jt3
> DarRQBlzjaT3dHsbaPZ72BNhfKnbk3WbIU8Eh7Ur1BrRCOxK8b4B7Q+iOCIf4CRF/
> JbYyebav1CfbbWLSZ1cl8ZUxQIDAQAB");
> System.out.println(rsaEncryptedBase64EncodedSecretKey1);
> System.out.println(getBase64EncodedIVBytes());
>
> From the receiver end
>
> String encryptedMessage = "nlcJhSDU4c3CaeBrNVfsey6LDz1dT+GZT9hy25cmDOE=";
> String base64EncodedSecretKey =
> "DQJN55vKs1dj43NtvD/MgVqiuDdHEL+y2f56sxWhYcdskVvGZd1sq3PHL1HTA
> zjvWWLzA/QJGXFfdSH9K/LPGY/DqkOw2dxsTvNVV/EQoPCAGF6O7O5K4IVrez1DH0IxKIF3
> EcEldWcSIgpT2omJtAS4OKxdqY7MIG1Jd1Ph0P0=";
> String base64EncodedIVBytes ="hzdwT6o8zgsqYnVAiP9Yhg==";
> String
> rsaDecryptedBase64EncodedSecretKey1=rsaDecryptWithRawPrivateKey(
> base64EncodedSecretKey,"MIICoTAbBgoqhkiG9w0BDAEDMA0ECD
> oNAO+O/RGtAgEUBIICgBZLXWRz+qpTxbOfxKBtSwvY3i/vcc39rvdgbmI+
> uFx5uUBrXlPgt0NB8bM7rtqm6OoFLcmyCSdwpmWS7qs9JxDZ5JQf0zsXT2UT
> sDN6tzeazuJPdrQWbk7VMUeWaI8E8cSFFtPF5R0Ab2bTo0wm/
> OOboKKtXlGAKL5CHC3KT87z8GpSfikVEfpMXfd/3zG5Q8FvsmcLjL9nnxCVb5CV2/
> 9ghlZrvPknb6kKgUta/1y8ha6h7E9w23fIscjpHLD3TSP2Jti
> gpfFPPv6MjeMaZMkHiuBQdJH7NVuOUM0OBRUsL+K5hsWReoqXqtPGRfAG4GUk6DP2yTwP
> Sjv4dXWin+L5iYBxzgV8A0L+hJssrjUAo/gznMflKFw8xkcQ3UK0moMxSVzHeq/
> SRIowYfx9by1IJr8yRc1KqEHK+2lPApIMQBXn12Pnz/4ik+NkfOC7/
> Mk4QT718+SSzQmnJAq4sckh/k3lecxn3fW5T15LwjKiZFrxdXWclnu
> c0nMUlbQL8xL4Fwkz3bELTCwylECrugYvoHIhkaQx7/nLWO8To6zImWRTN9O6ietHiH3q5Bnj
> Dc4M59N8BeCZWIbYU+cJH8UDI596BZRfKo16WJXjguMDz3rJDOqEW/
> RjxYH90QdHTrxZlktVH5hKpTqKnNAXaUiB6I1+P6E2h7z3gGIgcXG6+rmpxzIpTxXF3I87MBz/
> wZpZQarBpGeMSXuOGvkVUvaxPiT9q7OxFWDv4Y79lYAlxKbsrgRlQDxJ8VhH
> maX7E28EKk+c1h9lPREq2w2/bBQ/N5XrwLnf4K6yWAPLuyvQZYDJH4DunE
> yP+JKVZwUjxsu4MkvnwucdsM/1hX4Ttgc=");
> String decrypted =
> aesDecryptMessage(encryptedMessage,rsaDecryptedBase64EncodedSecre
> tKey1,base64EncodedIVBytes);
> System.out.println("Decrypted: "+decrypted);
>
> This works well if I run it as Java program. But fails to work when I call
> the rest webservice in TomEE. I checked by verifying the message,secretkey
> and iv bytes. Everything looks ok.
>
>
>
>
>
> --
> View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/RSA-encryption-does-not-looks-to-be-working-tp4680268.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>