0

我收到来自外部公司的消息,该消息已使用 Java 使用我们的公钥加密。

具体来说,执行加密的java代码是 -

  //get instance of cipher using BouncyCastle cryptography provider 
  Cipher cipher = Cipher.getInstance( "RSA/ECB/PKCS1Padding", "BC"); 

  //initialize the cipher with the public key pulled from the X509 certificate 
  cipher.init(Cipher.ENCRYPT_MODE, publicKey); 

我需要能够在 Solaris 上使用我们的私钥使用 C/C++ 解密此消息。我已经尝试使用 Crypto++ 库,并且可以成功地使用 Crypto++ 对解码消息进行编码,但我无法弄清楚如何解码从 java 端加密的消息。

具体来说,我尝试使用 RSAES_PKCS1v15_Decryptor 但这似乎不起作用。

有没有人对我如何执行解密有任何建议,例如

  1. 所需的 Crypto++ 代码(理想)
  2. 从 Java 端使用 RSA/ECB/PKCS1Padding 的替代方案
  3. 我可以尝试的替代开源 C 库
  4. 还要别的吗...
4

1 回答 1

2

我设法通过更改要使用的 java 代码来完成这项工作

Cipher cipher = Cipher.getInstance( "RSA/NONE/PKCS1Padding", "BC");

然后这与 Crypto++ 端的 RSAES_PKCS1v15_Decryptor 匹配。

于 2009-08-14T14:28:24.437 回答