USB デバイスとの安全な通信を確立するためのプログラムを作成する必要があります。そこから生成され、PKCS#1 形式で保存されている秘密鍵を使用する必要があります。プログラムの一部でCrypto++を使用したことがあるので、この目的にも利用したいと思います。
ただし、メモリから RSA 秘密鍵をインポートする方法が見つかりません。PKCS#8 形式の秘密鍵のみを受け入れます。プロがそれを行う方法のサンプルコードを見せてくれませんか? どうもありがとう!
USB デバイスとの安全な通信を確立するためのプログラムを作成する必要があります。そこから生成され、PKCS#1 形式で保存されている秘密鍵を使用する必要があります。プログラムの一部でCrypto++を使用したことがあるので、この目的にも利用したいと思います。
ただし、メモリから RSA 秘密鍵をインポートする方法が見つかりません。PKCS#8 形式の秘密鍵のみを受け入れます。プロがそれを行う方法のサンプルコードを見せてくれませんか? どうもありがとう!
PKCS#1 形式は ASN.1 でエンコードされています。RSAPublicKey
との場合RSAPrivateKey
、次のように簡単です。
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
キーの保存と読み込みについては、Crypto++ wiki のKeys and Formatsで詳しく説明されています。