web-dev-qa-db-ja.com

OSXキーチェーンに公開キーをインポートできません

いくつかの自己署名S/MIME証明書(OSXキーチェーンとOpenSSLを使用)を作成し、これらを3つのファイルにエクスポートしました。

  • 証明書(.cer)
  • 秘密鍵(.p12)
  • 公開鍵(.pem)

これらを別のMacにインポートしようとすると、証明書と秘密鍵が問題なくインポートされました。ただし、公開鍵はインポートできません。

代わりに、次のエラーメッセージが表示されます。

エラーが発生しました。アイテムをインポートできません。

今回のコンテンツは取得できません

Screenshot of OSX Keychain error when importing Public Key

公開鍵をインポートするにはどうすればよいですか?インポート用に別の形式に変換する必要がありますか?

22
Prembo

OSXのバグです。この回答に従ってコマンドラインからインポートできます:

https://stackoverflow.com/a/11979625/59198

コマンドは次のとおりです。

security import pub_key.pem -k ~/Library/Keychains/login.keychain

次に、keychain.appのキーの名前を変更する必要があります

34
Chris

.p12ファイルは、キーペアを保持できます。秘密鍵が含まれている場合は、パスワードの入力を求められます。キーチェーンは秘密鍵を入れ子にして表示します。正しくインポートされると、「My Certificates」の下に表示されます。

1
bbaassssiiee

証明書には、実際には公開鍵のコピーが含まれています(名前と、その名前とその公開鍵が一緒になっていることを示す認証局からの署名)。 SMIMEのような証明書ベースのシステムを使用している場合は、通常、公開鍵を個別のアイテムとして扱う必要はありません。必要に応じて、openssl x509コマンドを使用して、証明書から公開鍵のコピーを抽出できます。

(証明書にすでにコピーがあると考えているため、キーチェーンが公開キーのインポートを拒否しているのでしょうか?キーチェーンのエラーメッセージは通常、かなりあいまいです。)

1
Wim Lewis