tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

SSL証明書のpemをpfxに変換する

前回の記事に続き、変換作業を行いました。AzureやWindowsServerを使ってるとpemで登録出来ないのでちょっとめんどい。

Let's Encrypt でワイルドカードSSLを取得する方法は以下を見て下さい。
tekitoumemo.hatenablog.com
tekitoumemo.hatenablog.com
失敗編、成功編と書いてますが、続編になってますのでどちらも見てもらえると良いかと思います。わかりにくいんで他の人の記事でもいいかも。

取得した証明書を確認します。取得したあとのログで「/etc/letsencrypt/live/ドメイン/」に置きまっせ!との表示がされると思います。

saito@saito-Aspire-one-1-131:~$ cd /etc/letsencrypt/live/mygkrnk.com/
bash: cd: /etc/letsencrypt/live/mygkrnk.com/: 許可がありません

はい。権限がありません。なのでliveディレクトリに権限を付与します。ちなみにcdはsudo出来ません。

sudo chmod 755 live

lsするとこんな感じになってます。

saito@saito-Aspire-one-1-131:/etc/letsencrypt/live/mygkrnk.com$ ls
README  cert.pem  chain.pem  fullchain.pem  privkey.pem

4つ証明書が入っていて、以下のような内訳です。

  • 証明書

/etc/letsencrypt/live/<ドメイン名>/cert.pem

  • 証明書+中間CA証明書

/etc/letsencrypt/live/<ドメイン名>/fullchain.pem

/etc/letsencrypt/live/<ドメイン名>/privkey.pem

  • 中間CA証明書

/etc/letsencrypt/live/<ドメイン名>/chain.pem

次にpfxに変換します。変換にはopensslを使います。ubuntuはデフォで入ってるので便利っすわ。

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out mygkrnk.pfx
  • inには変換対象のpemを指定します。全部入っているfullchain.pemが良いと思います。
  • inkeyは秘密鍵を指定します。今回はprivkey.pemですね。
  • outはエクスポートするファイルの名前を指定します。取得したドメイン名とかで良いんじゃないでしょうか。

次に以下のような表示がされます。

[sudo] saito のパスワード: 
Enter Export Password:
Verifying - Enter Export Password:

一行目の「[sudo] saito のパスワード: 」はいつものやつです。
二行目の「Enter Export Password:」エクスポート用のパスワードです。忘れないようにしましょう。
三行目の「Verifying - Enter Export Password:」は二行目の確認です。

しれっと変換が完了しているのでlsで確認します。

saito@saito-Aspire-one-1-131:/etc/letsencrypt/live/mygkrnk.com$ ls
README  cert.pem  chain.pem  fullchain.pem  mygkrnk.pfx  privkey.pem

「mygkrnk.pfx」出来ましたね!

以外に簡単でした。