opensslコマンドで公開鍵作ろうと思ったらハマったので備忘録
やりたかったこと
AppleのVoIP Services証明書をローカルにダウンロードして
公開鍵を作りたかった。
何が起きたか
ダウンロードした証明書ファイルをmacに読み込んで、キーチェーンアクセスから.p12ファイルを作成。
その後、pemファイルに形式変換し公開鍵を作ろうと思ったら以下エラーが発生
unable to load Private Key
4507870828:error:09FFF06C:PEM routines:CRYPTO_internal:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.250.1/libressl-2.6/crypto/pem/pem_lib.c:683:Expecting: ANY PRIVATE KEY
原因
Enter PEM pass phrase
と言われたときに何も入力しなかったのが原因。
ちゃんと入力して、公開鍵を作るときにパスワードを入力したら出力された。
最終的にどうやったか
- Apple developer programのコンソールから.cerファイルをダウンロード(この辺はググってください)
- ダウンロードした、.cerファイルをダブルクリックしてキーチェーンアクセスに保存
- キーチェーンアクセスから.p12形式でファイルを出力(この辺はググってください)
- 出力した.p12ファイルをpem形式に変換
openssl pkcs12 -in PATH_TO_YOUR_P12 -nocerts -out key.pem
Enter Import Password: // キーチェーンアクセスから出力した時のパスワードを入れる。
Enter PEM pass phrase: // ※ここが重要!!これを入力しないと掲題のエラーが発生する。
5.公開鍵を出力
openssl rsa -in key.pem -out key.pem
Enter pass phrase for key.pem: // 手順4で入力したパスフレーズを入力