なぜ P7S を PEM に変換するのですか?
PEM は、ほとんどの Web サーバー、検査ツール、および X.509 証明書を処理するコードで想定されている、証明書や暗号化オブジェクトの標準的なテキスト形式です。.p7s を .pem に再エンコードすることで、署名者の証明書チェーンを検査したり、サーバー設定に読み込ませたり、手動のバイナリからテキストへの変換ステップなしで Base64 入力を必要とするツールで使用したりできるようになります。
P7S から PEM への変換方法
OpenSSL OPEN-SOURCE
バイナリ署名を Base64 PEM として再エンコードするには、openssl pkcs7 -inform DER -in file.p7s -out file.pem を実行します。署名者の証明書チェーンも出力に抽出するには、-print_certs を追加します。
これらの形式について
P7Sファイル(通常は smime.p7s という名前)は、署名付きメールに添付されるデジタル署名です。これは送信者の身元を証明し、メッセージが途中で改ざんされていないことを保証します。通常、ユーザー自身がこれを開く必要はありません。S/MIME対応のメールクライアント(Outlook、Apple…
.P7S の詳細を開く →PEM ファイルは、暗号化データのテキストコンテナです。多くの場合、SSL/TLS 証明書、秘密鍵、またはその両方が含まれます。任意のテキストエディタで開き、«BEGIN» 行の内容を確認してから、OpenSSL を使用して検査または変換してください。ファイルに «PRIVATE…
.PEM の詳細を開く →品質と注意点
.p7sがすでに Base64 エンコードされている場合(テキストエディタで開くと-----BEGIN PKCS7-----で始まる場合)、OpenSSL コマンドで-inform DERの代わりに-inform PEMを使用してください。- PEM 出力には署名と証明書データのみが含まれます。分離された
.p7sとは別に保存されているメールやドキュメントの内容は復元されません。 - OpenSSL コマンドに
-print_certsを追加すると、署名者の完全な証明書チェーンが-----BEGIN CERTIFICATE-----ブロックとして出力に埋め込まれます。
よくある質問
PEM に変換すると署名は検証されますか?
openssl smime -verify を使用してください。OpenSSL コマンドがパースエラーで失敗した場合はどうすればよいですか?
-inform DER の代わりに -inform PEM を試してください。PEM ファイルにメールのメッセージ内容は含まれますか?
.p7s は分離された署名です。元の DER にも出力された PEM にも、メッセージ本文は含まれません。PEM ファイルを Web サーバーの設定に使用できますか?
.p7s から変換された PEM には署名オブジェクトと証明書チェーンが含まれています。サーバーで使用するには、openssl x509 を使用して個別の証明書を抽出してください。