CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。
この記事では、CentOS 8 で OpenSSL を使い、証明書と秘密鍵を PKCS#12 形式へ変換する手順を整理します。PKCS#12 は、証明書、秘密鍵、中間証明書を一つのファイルにまとめ、Windows や一部アプリケーションへ取り込むときによく使われます。
PKCS#12 にまとめる意味
PEM 形式の証明書と秘密鍵は Linux では扱いやすい一方、GUI ツールや Windows の証明書ストアでは PKCS#12 の方が扱いやすい場合があります。変換時は、秘密鍵を含むためファイルの保護が重要です。
| ファイル | 役割 |
| server.crt | サーバー証明書 |
| server.key | 秘密鍵 |
| ca-chain.crt | 中間 CA または内部 CA の証明書 |
| server.p12 | 証明書と秘密鍵をまとめた PKCS#12 ファイル |
変換コマンド
次は、証明書、秘密鍵、CA チェーンをまとめて server.p12 を作成する例です。エクスポート時にパスワードを設定します。
openssl pkcs12 -export -in server.crt -inkey server.key -certfile ca-chain.crt -name "server.example.com" -out server.p12内容を確認する
作成した PKCS#12 は、取り込む前に内容を確認します。秘密鍵を表示したくない場合は -nokeys を付けて証明書情報だけ確認します。
openssl pkcs12 -info -in server.p12 -nokeys
openssl pkcs12 -in server.p12 -clcerts -nokeys -out extracted.crt取り扱いの注意
- PKCS#12 には秘密鍵が含まれるため、配布先と保管場所を限定します。
- 変換後のファイルには適切な権限を設定します。
- 不要になった一時ファイルや抽出ファイルは削除します。
まとめ
PKCS#12 変換は難しい作業ではありませんが、秘密鍵を含むファイルを作る点が重要です。CentOS 8 で作業する場合も、変換コマンドだけで終わらせず、内容確認、ファイル権限、配布範囲まで含めて扱う必要があります。
関連する記事
- CentOS 8 easy-rsa を使用した SSL 証明書の作成
内部 CA と証明書作成の関連記事です。 - CentOS 8 OpenLDAP LDAP クライアント – ldapsearch と証明書信頼設定
LDAPS 接続で証明書信頼を確認します。 - CentOS 8 サーバー管理ガイド
CentOS 8 関連記事のハブです。
参考書籍
書籍
公開鍵暗号、電子署名、証明書など、TLS や内部 PKI の前提になる暗号技術を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

