RSAの秘密鍵を使って公開鍵を生成する?

これはよくわかりませんね。

according to: http://www.madboa.com/geek/openssl/#key-rsa , 秘密鍵から公開鍵を生成することができます。

openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout > mykey.pub

最初に考えたのは、この2つはペアで一緒に生成されるということでした。 RSAの秘密鍵には和が含まれているのか、それとも公開鍵が含まれているのか。

ソリューション
openssl genrsa -out mykey.pem 1024

と入力すると、実際に公開鍵と秘密鍵のペアが生成されます。このペアは、生成された mykey.pem ファイルに格納されます。

openssl rsa -in mykey.pem -pubout > mykey.pub

は公開鍵を抽出してそれをプリントアウトします。ここに、このことをよりよく説明しているページへのリンクがあります。

EDIT: ここの例のセクションをチェックしてください。秘密鍵の公開部分だけを出力するには。

openssl rsa -in key.pem -pubout -out pubkey.pem

SSHで使える公開鍵を得るには、ssh-keygenを使います。

ssh-keygen -y -f key.pem > key.pub
解説 (17)

opensslを含め、RSA秘密鍵を生成するほとんどのソフトウェアでは、秘密鍵はPKCS#1 RSAPrivatekeyオブジェクトまたはその派生物として表されます。

A.1.2 RSA秘密鍵の構文 &gt A.1.2 RSA秘密鍵の構文 > RSA秘密鍵は以下のASN.1型で表される。 RSAPrivateKey:

RSAPrivateKey: > RSAPrivateKey ::= SEQUENCE { バージョン バージョン。 modulus INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p 素数1 INTEGER, -- p > 素数2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) 指数2 INTEGER, -- d mod (q-1) 係数 INTEGER, -- (qの逆数) mod p otherPrimeInfos OtherPrimeInfos OPTIONAL }。

ご覧のように、このフォーマットは、モジュラスと公開指数を含む多くのフィールドを持っており、RSA公開鍵の情報の厳密なスーパーセットとなっています。

解説 (6)

このコードでは、まず秘密鍵であるRSA鍵を作成していますが、同時に公開鍵のペアも持っているので、実際の公開鍵を取得するには次のようにします。

openssl rsa -in mykey.pem -pubout > mykey.pub

より詳しい情報はこちらをご覧くださいをご覧ください。

解説 (0)