CentOSでサーバー(SSL)証明書の更新、1から手順をまとめて徹底解説します!(初心者向け)

突然、サーバー証明書(SSL証明書)を更新しておいて!
と言われた際に、少し手間取ったのでの手順をまとめます。

「Linux CentOS6」環境です。
考え方や、確認コマンドも記載しています。

まず、更新手順の説明
STEP1.CSR作成
STEP2.新しいファイルへ置き換え(crt/cer/key)
STEP3.設定ファイルの更新(ssl.conf)
STEP4.再起動(Apache)
STEP5.有効期限の確認

というのが大まかな手順。思っていたより簡単です。

初めての人は手順を全て読んでから、実行してみてください。

※解説文中の[example.com]は自身の環境(ドメイン)に置き換えてください。

環境

# cat /etc/redhat-release
CentOS release 6.9

# rpm -q openssl
openssl-1.0.1e-42.el6_7.4.x86_64

# httpd -v
Server version: Apache/2.2.15

更新前のSSL証明書の期限を確認

# 確認コマンド
openssl s_client -connect 【Webサイトドメイン】:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Not
実行結果:
Not Before: Nov 3 00:00:00 2015 GMT
Not After : Nov 28 12:00:00 2018 GMT

※Afterが、最終期限になります。
上の例では、2015-2018年の間が有効

STEP1.CSR作成

秘密鍵の作成

以下どちらかのコマンドで秘密鍵を作成

# 秘密鍵作成(パスフレーズをつける場合)
# openssl genrsa -out example.com.key 2048
# 秘密鍵作成(パスフレーズをつけない場合)
# opnessl genrsa -des3 -out example.com.key 2048

CSR作成

openssl req -new -key example.com.key -out example.com.csr

認証局にSSL証明書の申し込みをする

作成したCSR使って、認証局にSSL証明書の申請。

STEP2.新しいファイルへ置き換え(crt/cer/key)

以下のファイルを新しいファイルに置き換える
※置き換え前にバックアップを取ることを推奨
([mv]コマンドで【ファイル名_old.cer】にする等でも可)

もしもファイルの場所(パス)がわからない場合は[STEP2]の設定ファイルで確認してください。

証明書ファイル
SSLCertificateFile /証明書までのパス/example.com.crt
中間証明書ファイル
SSLCertificateChainFile /中間証明書までのパス/example.com.chain.crt
秘密鍵ファイル
SSLCertificateKeyFile /秘密鍵までのパス/exapmle.com.key

STEP3.設定ファイルの更新(ssl.conf)

#ファイルの場所
/etc/httpd/conf.d/ssl.conf
# viで編集する場合のコマンド
vi /etc/httpd/conf.d/ssl.conf
# SSLCertificateFile
/etc/pki/tls/certs/example.com.cer
# SSLCertificateKeyFile
/etc/pki/tls/private/example.com.key

STEP4.再起動(Apache)

# 文法チェック
# httpd -t
実行結果:
Syntax OK

※Syntax OKなら構文に問題なしのため、再起動してもOK

# 再起動
service httpd restart

STEP5.有効期限の確認

# 確認コマンド
openssl s_client -connect 【Webサイトドメイン】:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Not
実行結果:
Not Before: Jan 24 01:08:10 2018 GMT
Not After : Feb 24 01:08:10 2020 GMT

※Afterが、最終期限になります。
上の例では、2018-2020年の間が有効

無事成功です。

The following two tabs change content below.
Web屋@ NISHI
福岡の現役Webエンジニア「NISHI(ニシ)」です。
Webエンジニアにとって役立つ情報を更新しています!




コメントを残す

メールアドレスが公開されることはありません。