macOSでOpenSSL 3.3.1を使って.p12ファイルを.pemに変換する際のエラーとその対処法
OpenSSLコマンド実行時に発生するエラーとその解決方法
macOS 14.0 (Apple M2) 環境で、OpenSSL 3.3.1を使用して.p12ファイルから.pemファイルを生成しようとした際に、エラーが発生するケースがあります。以下に、実行したコマンドとその対処法を紹介します。
環境:
– OS: macOS 14.0 (Apple M2)
– OpenSSLバージョン: 3.3.1
pem変換のopensslコマンド
実行したコマンド
openssl pkcs12 -in yourfile.p12 -nocerts -out key.pem
このコマンドを実行したところ、以下のエラーメッセージが表示されました。
Error outputting keys and certificates
0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:355:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()
このエラーは、古い暗号化アルゴリズム(RC2-40-CBCなど)がOpenSSLのデフォルト設定で無効化されているために発生します。
オプションでエラー解決
`-legacy` オプションを付与してコマンドを再実行
openssl pkcs12 -in yourfile.p12 -nocerts -out key.pem -legacy
こちらのオプションをコマンドに加えることで、古い暗号化アルゴリズムを有効にでき、macOS環境におけるOpenSSLのエラーを回避して正常に.pemファイルを生成することができます。
参考
https://www.docuseal.co/docs/convert-legacy-p12-pfx-files-to-support-openssl-3