2009-08-14 7 views
0

Ich habe eine Nachricht von einer externen Firma, die mit unserem öffentlichen Schlüssel mit Java verschlüsselt wurde.Interoperabilität mit Java und C++ Cryptography

Insbesondere der Java-Code, um die Verschlüsselung durchzuführen ist -

//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); 

Ich brauche diese Nachricht zu entschlüsseln, um unsere privaten Schlüssel mit C/C++ auf Solaris verwenden. Ich habe versucht, die Crypto ++ Bibliothek zu verwenden und kann erfolgreich decodieren Nachrichten nur mit Crypto ++, aber bin nicht in der Lage herauszufinden, wie die verschlüsselte Nachricht von der Java-Seite zu entschlüsseln.

Speziell habe ich versucht, mit einem RSAES_PKCS1v15_Decryptor, aber das scheint nicht zu funktionieren.

Hat jemand irgendwelche Vorschläge, wie ich die Entschlüsselung durchführen kann, wie

  1. Der Crypto ++ Code erforderlich (ideal)
  2. Alternativen zu RSA/EZB/PKCS1Padding von der Java-Seite zu verwenden
  3. Alternative Open-Source-C-Bibliotheken ich
  4. Alles andere versuchen könnte ...

Antwort

2

ich es geschafft, diese Funktion zu erhalten durch den Java-Code zu ändern

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

Dies ist dann zu verwenden, passt sich mit RSAES_PKCS1v15_Decryptor auf der Crypto ++ Seite.

Verwandte Themen