PEM ⇄ DER / CRT / KEY / PFX(p12) 変換 opensslワンライナー集

サーバや機器によって、欲しい証明書ファイルの形式はバラバラです。 「Windows(IIS)は pfx、nginx は pem、Java は DER」と、同じ証明書を形式だけ変えたい場面がよくあります。

この記事は、形式変換の openssl ワンライナーを「変換元 → 変換先」で逆引きできるようにまとめたものです。 形式そのものの違いがあやしい人は、先に 証明書ファイルの形式まとめ を読んでおくと迷いません。

動作確認は OpenSSL 3.x(手元 3.6.2)。秘密鍵の出力は 3.x 既定で PKCS#8(-----BEGIN PRIVATE KEY-----) になります。

続きを読む PEM ⇄ DER / CRT / KEY / PFX(p12) 変換 opensslワンライナー集

opensslで証明書・鍵・CSR・接続を確認するコマンド総まとめ

証明書や鍵まわりで困ったら、だいたい openssl コマンドで中身を確認すれば解決します。 この記事は、「確認」系の openssl コマンドを用途別に総ざらいしたチートシートです。コピペで使ってください。実際の出力例と、つまずきやすいエラー例も載せました。

この記事は OpenSSL 3.x(手元は 3.6.2)で実際に実行して確認しています。openssl version で自分の版を確認できます。古い 1.0.x 系だと一部オプションの既定が違うことがあります。出力例の証明書はこの記事用に作ったテスト用(www.example.com)なので、値はお手元のものに読み替えてください。

続きを読む opensslで証明書・鍵・CSR・接続を確認するコマンド総まとめ

公開鍵・秘密鍵・証明書の関係をやさしく図解(PKI入門)

SSL証明書や .pem を触っていると、「秘密鍵」「公開鍵」「証明書」「認証局(CA)」「中間証明書」と言葉が次々出てきて、結局それぞれどういう関係なのか分からなくなりがちです。

この記事は、コマンドの前に知っておくとラクになる「鍵と証明書の関係」を、図を使ってかみ砕いて説明します。

続きを読む 公開鍵・秘密鍵・証明書の関係をやさしく図解(PKI入門)

証明書ファイルの形式まとめ — PEM / DER / PFX(p12) / CRT / CER / KEY / CSR の違い

SSL証明書を扱っていると、.pem .crt .cer .der .key .pfx .p12 .csr と似たような拡張子がいろいろ出てきて、何が違うのか混乱しますよね。

結論から言うと、「中身のエンコード方式(PEM か DER か)」と「中に何が入っているか(証明書か・鍵か・両方か)」の2軸で整理すると分かりやすくなります。この記事ではその地図を示します。

続きを読む 証明書ファイルの形式まとめ — PEM / DER / PFX(p12) / CRT / CER / KEY / CSR の違い

[OpenSSL] pem ファイルとは?SSL証明書の中身を確認する方法

iOS開発でのサーバ側 push通知設定や、WebサーバのSSL証明書設定に使われる .pem ファイルの中身を確認する時に便利なコマンドをまとめました。

  1. pem ファイルとは?
  2. openssl コマンドのインストール方法
  3. pem ファイルに含まれる証明書の確認方法
  4. 秘密鍵の内容を表示する
  5. pemファイルの作り方
  6. (おまけ)csrの情報を出力する
続きを読む [OpenSSL] pem ファイルとは?SSL証明書の中身を確認する方法

[iOS][OpenSSL] .p12キーストアファイル証明書の中身を確認する

iOS開発で頻繁にお世話になる .p12 ファイル(秘密鍵+証明書のセット)の情報を確認する方法です。
SHA1フィンガープリント、有効期限、チームID,名前などがコマンドラインから簡単に確認できます。

続きを読む [iOS][OpenSSL] .p12キーストアファイル証明書の中身を確認する

証明書と秘密鍵からp12ファイルを作る

証明書と鍵ファイルからp12ファイル(pkcs12)を作る手順のメモ。
証明書(cer)をPEMに変換する、鍵(PEM private key)と結合してp12にする、という2段構え。

参考: http://spiratesta.hatenablog.com/entry/20120215/1329280918

1.公開用証明書をPEM証明書形式に変換する

$ openssl x509 -in distribution_identity.cer -inform DER -out distribution_identity.pem -outform PEM

2.PEM証明書形式をP12証明書形式に変換する

$ openssl pkcs12 -export -inkey mykey.key -in distribution_identity.pem -out distribution_identity.p12

パスワードを聞かれるので、適宜入力する(パスワード空欄だとキーチェーン取り込みできない)

3.P12証明書を開いてキーチェーンに取り込む(取り込み時に上記パスワードを入力する)

なぜ必要だったか

MacBook Pro が壊れたので修理して、クリーンインストールし直したんですが、
そのときにとあるプロジェクトのApp Storeのリリース用(Distribution)秘密鍵の移行を忘れて喪失してしまったため、
なんとかサルベージできないか、と試行錯誤するのに使いました。

Circle CIにp12の鍵が上がっていたので、CIを回してSSHで入り、
鍵ファイル(/var/folders/jm/ほげほげ/T/cert.abcdef)をcatして取り出し .key として保存、
Apple Developerサイトの Certificates,IDs & Profiles から証明書ダウンロード、
あとは手順通りの結合で事なきを得ました。バックアップは大事ですね。。

こんな記事もあります

.p12キーストアファイル証明書の中身を確認する