同じ名前で生成されたと思われるキーがいくつかあります。名前を変更/削除できるように、どの公開キーがどの秘密キーと一致するかを知りたいのですが。これは重要なものですか(公開鍵を保持する)、または証明書を要求するたびに公開鍵が生成されますか?
同じ名前で生成されたと思われるキーがいくつかあります。名前を変更/削除できるように、どの公開キーがどの秘密キーと一致するかを知りたいのですが。これは重要なものですか(公開鍵を保持する)、または証明書を要求するたびに公開鍵が生成されますか?
回答:
これは古いスレッドであるため、問題を回避できたと思いますが、今後の参考のために返信を書いています。
基本的な考え方は、秘密鍵と公開鍵をエクスポートし、opensslを使用してそれらのモジュラスを表示することです。一致する秘密/公開キーは同じモジュラスを持ちます。
秘密鍵のモジュラスを確認する方法は次のとおりです。
キーチェーンアクセスで秘密鍵をエクスポートし、「個人情報交換(.p12)」ファイル形式を選択します。これにより、.p12ファイルが作成されます。
ターミナルを起動し、opensslを使用して.p12ファイルを.pemファイルに変換します。
openssl pkcs12 -in key.p12 -out key.pem -nodes
opensslを使用して、pem秘密鍵のモジュラスを表示します。
openssl rsa -in key.pem -modulus -noout
公開鍵のモジュラスを確認する方法は次のとおりです。
Keychain Accessで公開鍵をエクスポートし、「Privacy Enhanced Mail(.pem)」ファイル形式を選択します。これにより、.pemファイルが作成されます。
この.pemファイルはPKCS#1 PEMファイル(ヘッダー付き-----BEGIN RSA PUBLIC KEY-----
)ですが、opensslはPKCS#8 PEM(ヘッダー付き-----BEGIN PUBLIC KEY-----
)のみを読み取ることができます。したがって、エクスポートした公開キーをTextEditで開きRSA
、ヘッダーとフッターからビットを削除して、変更を保存します。
opensslを使用して、pem公開キーのモジュラスを表示します。
openssl rsa -pubin -in pubkey.pem -modulus -noout
また、実際には、公開鍵を削除し、秘密鍵から再作成することもできることに注意してください(そのようにして、一致するペアを特定できます)。秘密鍵から一致する公開鍵を作成するには、次のopensslコマンドを使用します。
openssl rsa -in key.pem -pubout -out pubkey.pem