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

Follow me!