KeyCDNでカスタムSSLの設定をしたのでメモ。
といってもあまり特別なところはない。
手順としてはざっくり、
- SSL証明書を取得する準備
- SSL証明書の取得
- KeyCDNに設定
SSL証明書を取得する準備
まずはSSL証明書を取得する。
そのためには申請に必要なCSRを作成しないといけない。
作成手順や意味解説は巷に沢山あるので詳しいことは省略するが、コマンドをまとめるとこんな感じで。
$ openssl md5 /var/log/messages > rand.dat
$ openssl genrsa -rand rand.dat -des3 2048 > private_key.pem
Enter pass phrase:
Verifying - Enter pass phrase:
$ openssl req -new -key private_key.pem -out csr.pem
Enter pass phrase:
Country Name (2 letter code) [AU]:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
A challenge password []:
An optional company name []:
SSL証明書の取得
さっき作ったCSRを使って、証明書の取得申請を送る。
基本的には、ほしい証明書の公式サイトに行くかhttps://www.ssl-store.jp/のような代理店で購入するかどちらか。
代理店のほうが一部の証明書は公式より安かったりするので比較して検討するとよい。
CSR生成時に入力した情報とCSRの中身を購入時に入力し、しばらくするとメールが来て証明書をゲットできるという流れ。
自分はSSL StoreでComodoの証明書を取得したけど、最近は審査が厳しくなっているらしく発行まで2,3日かかった。
また、自分の場合はさらにメールの転送がどこかのルートで滞っていたようで代理店のサポートに催促のメールを何度か送ってやっとのことで手にいれた。
KeyCDNに設定
KeyCDNに取得したSSL証明書を設定する。
-
- まずは、設定時に必要となる秘密鍵を復号しておく。
$ openssl rsa -in private.pem -out private_dec.pem
Enter key phrase:
- 2) 次に[KeyCDN](https://www.keycdn.com/)にログインし、SSL設定をしたいzoneの設定ページへと移動し、"Show Advanced Features"のチェックボックスをクリックする - ※ **もしzonealiasを作成していない場合はあらかじめ作成しておくこと**
- 3) SSLという項目があるのでそこのセレクトボックスからcustomを選択する。すると下の写真のようなテキストボックスがでてくる。
(画像はkeyCDNより)
-
- Custom SSL Certificateのところに先程取得したSSL証明書を入力
- ※もし中間証明書をなくしてた場合はCertificate Chain Composer
に証明書を入力すると生成してくれる
- 5) Custom SSL Private Keyのところには先程復号した秘密鍵を入力
これで設定は完了。
あとは全台のCDNに反映されるまで待つ。5分ほどかかるようだ。
下記コマンドで確認するとよい。
echo QUIT | openssl s_client -connect cdn.yourdomain.com:443 -servername cdn.yourdomain.com -tls1 -tlsextdebug -status