OS Xのキーチェーンアクセスで、一致する公開キーと秘密キーを検索する


14

同じ名前で生成されたと思われるキーがいくつかあります。名前を変更/削除できるように、どの公開キーがどの秘密キーと一致するかを知りたいのですが。これは重要なものですか(公開鍵を保持する)、または証明書を要求するたびに公開鍵が生成されますか?


これに対する解決策を見つけることができましたか?私は同じ問題を抱えており、答えを見つけることができないようです。
-Axeva

いいえ、私はしていません。私が見つけた最良の解決策は、残念ながら、最初からもっとユニークな名前を付けることです。
ACBurk

うん、それは私たちがすでにそれらを正しく命名しないという間違いを犯した後、ひどく役に立たない。;)OpenSSLコマンドラインツールが役立つ可能性があることを示唆するゴロゴロが見られましたが、その方法はまだわかりません。
Axeva

回答:


12

これは古いスレッドであるため、問題を回避できたと思いますが、今後の参考のために返信を書いています。

基本的な考え方は、秘密鍵と公開鍵をエクスポートし、opensslを使用してそれらのモジュラスを表示することです。一致する秘密/公開キーは同じモジュラスを持ちます。

秘密鍵のモジュラスを確認する方法は次のとおりです。

  1. キーチェーンアクセスで秘密鍵をエクスポートし、「個人情報交換(.p12)」ファイル形式を選択します。これにより、.p12ファイルが作成されます。

  2. ターミナルを起動し、opensslを使用して.p12ファイルを.pemファイルに変換します。

    openssl pkcs12 -in key.p12 -out key.pem -nodes
    
  3. opensslを使用して、pem秘密鍵のモジュラスを表示します。

    openssl rsa -in key.pem -modulus -noout
    

公開鍵のモジュラスを確認する方法は次のとおりです。

  1. Keychain Accessで公開鍵をエクスポートし、「Privacy Enhanced Mail(.pem)」ファイル形式を選択します。これにより、.pemファイルが作成されます。

  2. この.pemファイルはPKCS#1 PEMファイル(ヘッダー付き-----BEGIN RSA PUBLIC KEY-----)ですが、opensslはPKCS#8 PEM(ヘッダー付き-----BEGIN PUBLIC KEY-----)のみを読み取ることができます。したがって、エクスポートした公開キーをTextEditで開きRSA、ヘッダーとフッターからビットを削除して、変更を保存します。

  3. opensslを使用して、pem公開キーのモジュラスを表示します。

    openssl rsa -pubin -in pubkey.pem -modulus -noout
    

また、実際には、公開鍵を削除し、秘密鍵から再作成することもできることに注意してください(そのようにして、一致するペアを特定できます)。秘密鍵から一致する公開鍵を作成するには、次のopensslコマンドを使用します。

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

1
ありがとう、古い質問ですが、常に問題に見えるので、最終的に良い解決策を持つことは素晴らしいことです。
ACBurk

1
素晴らしい、まさに私が探していたもの。良い説明をありがとう。
バザ207

SuperUserでもう一度この質問をしましたが、すでに与えられたこの答えを見つけることができてとても幸運でした。
トムペース14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.