はじめに

2022年春に実施した証明書更新の手順を以下に示す。当日は2つのサーバ証明書を更新したが、この手順では1つの証明書を差し替える手順を示している。

また、これは証明書にフォーカスを当てた手順としている。そのため、linuxの基本的な操作(例:sshでのログイン手順やviの使い方など)は省略している。

現在の証明書の確認

ブラウザでアクセスし、更新前の証明書の確認をする。

秘密鍵の準備

CSRと合わせて作成される秘密鍵を用意する。秘密鍵はCSRを作成した担当からファイルを引き継ぐ。

当手順において、秘密鍵のファイル名は「private.key」とする。

証明書のダウンロード

提示されたURLにアクセスし、証明書をダウンロードする。

サーバー証明書と中間CA証明書の統合

証明書ファイルおよび中間CA証明書ファイルを開き、以下のようにサーバー証明書ファイルに中間CA証明書の文字列を追記する。

このようにするのは、Apache 2.4.8から中間CA証明書を指定するSSLCertificateChainFileディレクティブが廃止されたためである。このディレクティブが廃止されたため、中間CA証明書を証明書ファイルに含める必要がある。

以下の書き方には違和感があるかもしれないが、中間CA証明書はサーバー証明書の下にそのまま追記すること。

-----BEGIN CERTIFICATE-----
MIIG6zCCBdOgAwIBAgIQC0W8dEj8CCfPB9LH/kroQjANBgkqhkiG9w0BAQsFADBP

〜〜 省略 サーバー証明書〜〜

gqpLaG/+64JlGy7iLWbPrhXt6iSy7g30dVcexN9FdkgR5p4QvbCDMMkI3kccsAo=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh

〜〜 省略 中間CA証明書〜〜

A7sKPPcw7+uvTPyLNhBzPvOk
-----END CERTIFICATE-----

証明書関連ファイルの配置

サーバー証明書(中間CA証明書を追記したもの)、秘密鍵をサーバーに格納する。今回の手順では以下の場所に配置した。

/opt/bitnami/apache/conf/bitnami/20220424/

bitnami-ssl.confの編集

以下を編集する。

/opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf

既存の定義を削除し、以下を記述する。

SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/cert20220424/FQDN.pem"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/cert20220424/private.key"

wordpress-https-vhost.confの編集

以下を編集する。

/opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf

bitnami-ssl.confと同様に既存の定義を削除し、以下を追加する。

SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/cert20220424/FQDN.pem"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/cert20220424/private.key"

文法チェック

以下のコマンドで文法誤りがないかをチェックする。エラーがないことを確認すること。意外と間違っているので、自分は信じないこと。

sudo httpd -t

apachの再起動

以下のコマンドでapachを再起動する。このコマンドを使用することで、既存セッションを切断することなくapacheの再起動が可能となる。

sudo httpd -k graceful

証明書の確認

ブラウザを使用してサイトにアクセスする。

証明書が変更されていることを確認する。

参考文献

参考にした文献は以下。