2012-03-26 5 views
2

Ich muss ein Programm schreiben, um eine sichere Kommunikation mit einem USB-Gerät herzustellen. Ich muss den daraus generierten privaten Schlüssel verwenden, der im PKCS # 1-Format gespeichert ist. Da ich Crypto ++ für einen Teil meines Programms verwendet habe, möchte ich es auch für diesen Zweck verwenden.Load RSA PKCS # 1 privaten Schlüssel aus dem Speicher?

Allerdings kann ich keinen Weg finden, RSA privaten Schlüssel aus dem Speicher zu importieren. Er akzeptiert nur den privaten Schlüssel im PKCS # 8-Format. Könnten einige Profis mir einen Beispielcode zeigen, wie es geht? Danke vielmals!

Antwort

2

Das PKCS # 1-Format ist ASN.1-codiert. Für RSAPublicKey und RSAPrivateKey, seine so einfach wie:

RSA::PublicKey publicKey(...); 

ByteQueue queue; 
publicKey.Save(queue); 

// The public key is now in the ByteQueue in PKCS #1 format 

// ------------ 

// Load a PKCS #1 private key 
byte key[] = {...} 
ArraySource arr(key, sizeof(key)); 

RSA::PrivateKey privateKey; 
privateKey.Load(arr); 

// The private key is now ready to use 

Speichern und Laden von Tasten näher an der Wiki unter Keys and Formats ++ Crypto diskutiert wird.

Verwandte Themen