参考
さくらのVPSにRapidSSLを導入する
[さくらのSSL]nginxにRapidSSLの証明書をインストールした
#概要
必要なもの | 該当ふぃある | 説明 |
---|---|---|
秘密鍵 | server.key | |
SSL証明書 | server.crt | |
中間証明書 | rapidssl-chain.crt |
#Apache,SSLインストール
##Apacheインストール
yum install httpd
##mod_sslのインストール
yum install mod_ssl
#CSR作成
サーバ証明書を発行するためにCSR(署名要求)を作る。
CSRは秘密鍵から作る。
##秘密鍵作成
# cd /etc/pki/tls/certs/
# openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
...............................+++
.................................................
.................................................
................+++
e is 65537 (0x10001)
Enter pass phrase for server.key: (←パスフレーズを入力)
Verifying - Enter pass phrase for server.key: (←パスフレーズを再入力)
##CSR作成
設定する項目のうちでドメイン名は合っている必要がある。
さくらVPSのデフォルトのドメインは使えないので、独自ドメインを取得する必要がある。
# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:(←秘密鍵のパスフレーズを入力)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP (←国名)
State or Province Name (full name) :Osaka (←都道府県)
Locality Name (eg, city) [Default City]:Osaka-shi (←市区町村)
Organization Name (eg, company) [Default Company Ltd]: example.info (←組織名)
※個人運営なのでドメイン名にしています(何でも良い)
Organizational Unit Name (eg, section) : (←部署名)
Common Name (eg, your name or your server's hostname) :www.example.info (←ドメイン名)
Email Address :webmaster@example.info (←メールアドレス)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password : (←空Enter)
An optional company name : (←空Enter)
CSRの内容を確認する。Subject: の行が合っていることと、Public-Key: の行が 2048 bitであることが確認する。
# openssl req -text -noout -in server.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=JP, ST=Osaka, L=Osaka-shi, O=example.info, CN=www.example.info/emailAddress=webmaster@example.info
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
(略)
Exponent: 65537 (0x10001)
Attributes:
(略)
Signature Algorithm: sha1WithRSAEncryption
(略)
#SSL証明書と中間証明書の申請・購入とサーバへの設定
※以降は、さくらでラピッドSSLを購入する例です。
##SSL証明書の購入
さくらのSSLからラピッドSSLを購入する。
購入する際にCSRの入力を求められるので、先ほど作成したserver.csrの中身をコピペする。
BEGIN行とEND行も貼り付けること。
-----BEGIN CERTIFICATE-----
(略)
-----END CERTIFICATE-----
メールが届けば購入完了。
##認証作業
認証ファイルをDLして、Webサーバへアップロードする。
1分おきに認証ファイルへリクエストがあるので、認証ファイルが返されることで認証が完了する。
###認証ファイルDL
会員メニュー より、「契約情報」→「契約サービスの確認」で、「SSL ラピッドSSL」の「サーバ証明書」を開く。
「認証ファイルDL」をクリックして、認証ファイルをダウンロードする。
###Webサーバへアップロード
Webサーバのルート(/var/www/html)へDLした認証ファイルをそのまま配置する。
1分置きにルートの認証ファイルへリクエストがあり、認証ファイルが返されることで認証が完了する。
リクエストはアクセスログで確認可能。
##サーバ証明書ダウンロードして、サーバへ
先ほど「認証ファイルDL」だった箇所が「サーバ証明書DL」になっているのでDLする。
テキストでサーバ証明書開いて、サーバに張り付ける。
# vim /etc/pki/tls/certs/server.crt
-----BEGIN CERTIFICATE-----
(略)
-----END CERTIFICATE-----
また、Apache再起動の度に確認が来るためパスフレーズ応答を削除する。
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: (←秘密鍵のパスフレーズ入力)
writing RSA key
##中間CA証明書の取得して、サーバへ
「ジオトラスト SSLサーバ証明書発行のお知らせ」というメールが届くので、中段の「ジオトラスト ラピッドSSL」を開く。
SHA-2であることを確認して、サーバに貼り付ける。
# vim /etc/pki/tls/certs/rapidssl-chain.crt
-----BEGIN CERTIFICATE-----
(略)
-----END CERTIFICATE-----
#設定変更/確認
##Apache設定変更
# vim /etc/httpd/conf.d/ssl.conf
~以下を編集~
DocumentRoot "/var/www/html"
ServerName www.example.info:443(←自分の環境のドメイン名を書く)
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
SSLCertificateChainFile /etc/pki/tls/certs/rapidssl-chain.crt
##Apache再起動
# service httpd configtest
Syntax OK
# service httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
##確認
ブラウザでhttpsでアクセスして確認する。