SSL証明書の期限が短くなるということで、自動化対応が終わるまで手動で間に合わせる機会がありそうなので、手順をメモします。
bash
#webサービスを確認
systemctl status httpd
systemctl status nginx
apacheを使っていることが分かったので、SSL証明書の設定を確認します。
bash
sudo grep -E "SSLCertificateFile|SSLCertificateKeyFile|SSLCertificateChainFile" /etc/httpd/conf.d/ssl.conf
これで、現在Apacheがどの証明書ファイルを使っているか確認します。
証明書ファイルが確認できたので、SCPで証明書をサーバーに配置します。
今回は仮に/tmp/certに置いておきました。
1.証明書のディレクトリに移動
bash
cd /tmp/cert
2. PFX ファイルから証明書を分解
bash
# 秘密鍵を抽出
openssl pkcs12 -in 証明書ファイル名.pfx -nocerts -nodes -out 秘密鍵.key
# サーバー証明書を抽出
openssl pkcs12 -in 証明書ファイル名.pfx -clcerts -nokeys -out サーバー証明書.crt
# 中間証明書を抽出
openssl pkcs12 -in 証明書ファイル名.pfx -cacerts -nokeys -out 中間証明書.crt
3. Apache 用ディレクトリに配置
bash
# 証明書
sudo cp stripes.crt /etc/pki/tls/certs/
# 秘密鍵(root専用に)
sudo cp stripes.key /etc/pki/tls/private/
sudo chmod 600 /etc/pki/tls/private/秘密鍵.key
# 中間証明書
sudo cp stripes-ca.crt /etc/pki/tls/certs/
4. Apache の設定ファイルを編集
bash
#編集前にバックアップ
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak.$(date +%Y%m%d)
#viで編集
sudo vi /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/サーバー証明書.crt
SSLCertificateKeyFile /etc/pki/tls/private/秘密鍵.key
SSLCertificateChainFile /etc/pki/tls/certs/中間証明書.crt
5.設定確認
bash
sudo apachectl configtest
Syntax OK が出ればOK
6.Apache を再起動して反映
bash
sudo systemctl restart httpd
その後、証明書の有効期限を確認し、確認が取れたら古い証明書を消して終わりです!