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 に答える