FujiSSLの証明書を更新して嵌った。来年の備忘録を兼ねて。。。。

Webページをシェア

家で使っているSSL証明書の有効期限が来月で切れてしまうので、更新作業を行った。WEBサーバーのSSLは簡単に更新できたけど、メールの更新の仕方を忘れていて、受信できなくなった。。。。こんだけ嵌ると忘れないと思うけど、備忘録を兼ねて記載しておく。

SSL証明書を一年延長

SSL証明書を一年延長

Fujisslは、CSRはパスフーズ付きで、申請する。認証が終わると、中間証明書と証明書が別々に送られてくる。

Apacheは簡単で、これらのファイルを元に更新すればよい。

CSRの作成でPrivate KEYが入っているので、httpdを再起動するとプライベートキーのパスワードを聞かれるようになるので、

シェルスクリプトの作成
$ nano /etc/ssl/certs/pass_ssl.sh
/etc/ssl/certs/pass_ssl.sh
#!/bin/sh
echo 'passoword'

rootのみ読み書きにする

権限の変更
$ chmod 500 /etc/ssl/certs/pass_ssl.sh

Apacheの設定ファイルを変更
/etc/httpd/conf.d/ssl.conf

# SSLPassPhraseDialog  builtin  # ← コメントアウト
SSLPassPhraseDialog exec:/etc/ssl/certs/pass_ssl.sh

これで、httpdを再起動してもパスフレーズが聞かれなくなる。

つぎの問題は、メールにエラーが出るようなった。メールも外出先で見たいから、SSLでインターネット経由で自宅サーバーに乗り込んで見れるようにしているのでSSL暗号化がかかっているのだ。
Postfixが落ちてしまった

Postfixが落ちてしまった

最初はSSL通信しているGOOGLE経由とかそういうサイトだけど、設定しているうちに、メールクライアントから全く接続できなくなった。
ここまでやったのは、

PEMフレーズ(PEM phrase)で暗号化解除

もともと作成したパスフレーズ付きの秘密鍵から、以下のopensslコマンドを実行して、パスフレーズを削除する。

# openssl rsa -in misago.csr -out misago.pem

PEMフレーズ形式で作成する。

FujiSSLはバラバラ状態で証明書が送られてくるので、PEM形式でPOSTFIXが理解できるようにする。下に示す、証明書と中間証明書と、秘密鍵と証明書、中間証明書の2種類を作成する。

SSL証明書と中間証明書を含む場合

  1. テキストエディタで以下のファイルを開き、内容をコピーして .pemファイルに貼り付ける
    1. 発行されたサーバー証明書ファイル
    2. 中間証明書ファイル

    .pem ファイルには、上記の順番で貼り付ける。

  2. 作成された .pem ファイルが以下のような内容になっていることを確認する
    —–BEGIN CERTIFICATE—–
    発行されたサーバー証明書ファイルの記述内容
    —–END CERTIFICATE—–
    —–BEGIN CERTIFICATE—–
    中間証明書ファイルの記述内容
    —–END CERTIFICATE—–
  3. 出来上がった .pem ファイルに fullchain.crtとして保存する。

証明書チェーンの全てと秘密鍵を含む場合

  1. テキストエディターで以下のファイルを開き、その内容をコピーし .pem ファイルに貼り付ける。
    1. 秘密鍵 (PASSフーズを抜いたもの)
    2. 発行されたサーバー証明書ファイル
    3. 中間証明書ファイル
    4. root 証明書ファイル

    .pem ファイルには、上記の順番で貼り付ける。

  2. 作成された .pem ファイルが以下のような内容になっていることを確認する。
    —–BEGIN RSA PRIVATE KEY—–
    秘密鍵の記述内容
    —–END RSA PRIVATE KEY—–
    —–BEGIN CERTIFICATE—–
    発行されたサーバー証明書ファイルの記述内容
    —–END CERTIFICATE—–
    —–BEGIN CERTIFICATE—–
    中間証明書ファイルの記述内容
    —–END CERTIFICATE—–
    —–BEGIN CERTIFICATE—–
    root 証明書ファイルの記述内容
    —–END CERTIFICATE—–
  3. 出来上がった .pem ファイルに misago.pem のような名前を付けて保存する。これは、ROOT権限でしか読めないようにする。

SSLサーバ証明書をpostfixにインストールする

  1. /etc/postfix/main.cf の設定を見直しする。
    smtpd_tls_cert_file = /etc/postfix/fullchain.crt
    smtpd_tls_key_file = /etc/postfix/misago.pem

ここまでやったら、メールクライアントから接続できなくなった。仕方ないのでSYSLOGをのぞいてみると、

Jun 27 10:48:51 misago dovecot: pop3-login: Fatal: Can’t load private ssl_key: Key is for a different cert than ssl_cert
Jun 27 10:48:51 misago dovecot: master: Error: service(pop3-login): command startup failed, throttling

どうやら、受信側dovecotにも設定の更新が必要なことが分かった。SSL/TLS 利用設定は dovecot/conf.d/10-ssl.conf で行う。
デフォルトのパスは/etc/dovecot/conf.d/10-ssl.confです。

  • 基本設定

    #nano /etc/dovecot/conf.d/10-ssl.conf

    ssl = yes
    ssl_cert = /etc/postfix/fullchain.crt
    ssl_key = /etc/postfix/misago.pem

ここまでやって、問題なくメールククライントから、メールが読めるようになった。

ちなみにクライアント側の利用ポートはTLSでPOPサーバーに接続(pop3s)する場合、995番ポートを使い、Smtpは465番ポートを使う。

久しぶりにやるのでやり方を完全に忘れていた。メールが動かなくなったのはちょっと焦ったねえ。でも、いままでは、有効期限が2年までだっただけど、今回から13か月になったので、ちょっと面倒だよねえ。

(Visited 1 times, 2 visits today)

hati

このページを運営しているHATIです。ERAターボやデトミニ、艦これが大好きです。日々の生活で気が付いたことをつづっていこうと思います。

おすすめ

1件の返信

  1. 2022年6月26日

    […] FujiSSLの証明書を更新して嵌った。来年の備忘録を兼ねて。。。。 | misagoのページ […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください