0
私はPEM公開鍵の印刷方法やファイルへの保存方法を知っています。変数に変数を保存する関数はありません。もちろんファイルに保存してから読むことができますが、可能ならばそれを避けたいと思います。私は、公開鍵の印刷方法変数にRSA公開鍵を取り出す方法は?
:
RSA* rsa = RSA_new();
BIGNUM* bne = BN_new();
EVP_PKEY* pkey;
BIO* pem1;
pem1 = BIO_new_fp(stdout, BIO_NOCLOSE);
rc = BN_set_word(bne,RSA_F4);
if(rc != 1) {
goto _setWord_failed;
}
rc = RSA_generate_key_ex(rsa, 2048, bne, NULL);
if(rc != 1) {
goto _setWord_failed;
}
pkey = EVP_PKEY_new();
rc = EVP_PKEY_set1_RSA(pkey,rsa);
if(rc != 1) {
goto _setRSA_failed;
}
PEM_write_bio_PUBKEY(pem1,pkey);
BIO_free(pem1);
EVP_PKEY_free(pkey);
RSA_free(rsa);
BN_free(bne);
公開鍵は、RSAで '{N、E}'ペアです。 'RSA *'変数 'rsa'にあります。 – jww
しかし、それをPEM文字列に解析する関数はありますか?または私はそれを自分で行う必要がありますか? –
['RSA_print'](http://www.openssl.org/docs/man1.0.2/crypto/rsa.html)または[' RSA_print_fp'](http://www.openssl.org/docs/man1 .0.2/crypto/rsa.html)。あるいは、 'BIGNUM'を直接印刷してください。あなたは 'rsa-> n'と' rsa-> e'でそれらを見つけることができます。 – jww