過去に備忘録とした記事がすでに古いので新たにメモ。
前提として、
・秘密鍵…ssl.key
・CSR…ssl.csr
・証明書…ssl.cert
・中間証明書…ssl.ca
とする。
秘密鍵の作成
openssl genrsa -out ssl.key 2048 -sha256
CSRの作成
※上記コマンド実行時に、対話形式で、common nameなどの情報を登録する。
openssl req -new -sha256 -key ssl.key -out ssl.csr
CSRの内容確認
openssl req -noout -text -in ssl.csr
CSRデータの取り出し
※コピーペーストで、証明書購入サイトのフォームなどにそのまま貼り付ける。
cat ssl.csr
SSL証明書の購入
※好きなところで買えばよいが、GeotrustのRapidSSLが日本価格になって高くなったので、私は最近はssls.comで、海外サイトでも購入可能なCOMODOのPositiveSSLを使っている。3年で14.97ドル、即日発行可能。
作成されたサーバ証明書ファイルをサーバに設置。
cat > ssl.cert
サーバ証明書ファイルの内容確認
※Certificate->Signature Algorithm->SubjectのCNが今回設定したいcommon nameになっているかを確認する。
openssl x509 -text -noout -in ssl.cert
中間証明書ファイルの作成
※COMODO PositiveSSLの場合、送られてきた
COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt
の順に連結して ssl.caとする
cat > ssl.ca
Apache再起動
service httpd restart
ブラウザ上で証明書確認
※ブラウザでhttps://~のURLにアクセスして、鍵アイコンをクリック、証明書の中身を確認する。
Symantec SSL Checkerで証明書確
※中間証明書を含めて正しくインストールされているかを確認する。
ついでに、SSL v2/3の脆弱性などのチェックも行える。
https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp