StartSSLの無料サーバー証明書を使う
問題
無料だというStartSSLのサーバー証明書を使ってみたい!
答え
StartSSLに会員登録する
https://www.startssl.com/ の、Free(Class1)をクリック
Certificate Control Panel をクリック
Sign-up をクリック
個人情報を入力(画像は入力例)
メールが届き、確認用のキーが発行される
メールで届いたキーを入力する
しばらく待つと、認証用の証明書のURLと確認用のキーが書かれたメールが届く
メールのURLにアクセスする。
また何か入力するような画面になったら、先ほどのメールのキー(赤いところ)を入力して次の画面へ。
ログイン用証明書発行の画面になる(ログインはIDとパスワードではなくて、証明書での認証となる)
Installクリック
Firefoxだと以下のようなダイアログが出た
ここまでくれば会員登録完了。
ここでいったん終了してまたログインするときは、Sign-upの画面のときの左側のAuthenticateの方に進んで、個人証明書を提示するとログインできる。
今作業したブラウザ以外のブラウザでログインしたいときは、今インストールされた個人証明書をエクスポートして、別のブラウザにインポートして使うとよい。
以下、管理画面にて操作。
サーバー証明書を取得する – ドメインの所有者の確認
サーバー証明書を取得するにあたって、ドメインの所有者であることを示さねばならない。そのドメインのメールアドレスか、たぶんwhoisなどに登録してあるメールアドレスが受信できるならクリアできる。
Validations Wizard で、Domain Name Validation を選択して、Continue
↓
ドメイン名を入力。サブドメインの証明書が欲しいときでも、まずはトップレベルのドメインから。
↓
確認用コードをどこに送ればよいかメールアドレスの選択画面になるので、postmaster@ドメイン名、webmaster@ドメイン名などから、受信可能なものを選択。
↓
確認用コードの書かれたメールが届く
↓
確認画面に入力する
↓
ドメインの所有者の確認が完了
サーバー証明書を取得する – 証明書の発行
Certificates Wizard のタブで、Web Server SSL/TLS Certificate を選択して、次へ
秘密鍵の作成が管理画面でできる。管理画面で秘密鍵を作ったら、その流れで証明書までできあがる。いずれも画面のテキストエリアに表示されるので、メモ帳などにコピーしておき、サーバーに持っていけるようにしておく。
自分のサーバーで秘密鍵を作ってもよい。管理画面ではSkipで次に進むとCSRを貼り付ける画面になるので、自分で作るなら、CSRまで作って次に進む。
# openssl genrsa -des3 -out example.key 2048 Generating RSA private key, 2048 bit long modulus ...........................+++ .............................................+++ e is 65537 (0x10001) Enter pass phrase for example.key: (パスワードを決めて入力) Verifying - Enter pass phrase for example.key: (パスワードを再入力)
# openssl req -new -key example.key -out example.csr Enter pass phrase for example.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) [GB]:JP State or Province Name (full name) [Berkshire]:Gifu Locality Name (eg, city) [Newbury]:Gifu Organization Name (eg, company) [My Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server's hostname) []:(ホスト名) Email Address []:test@example.jp Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:.
↓
サブドメインの追加
↓
サーバー証明書取得(テキストエリアに表示される)
サーバー証明書を使う
Webサーバー(apache)に取得したサーバー証明書をインストールする。
いろいろと準備をしてきたが、最終的に用意するものは以下のとおり。
- 秘密鍵
- ルート証明書(StartCom Root CA)
- 中間証明書(Class 1 Intermediate Server CA)
- サーバー証明書
RedHat系ならこの辺に秘密鍵を置き
# vi /etc/pki/tls/private/example.key
apache起動時にパスワードを聞かれないようにするには、以下のようにパスワードを解除し、
# openssl rsa -in example.key -out example.key
ルート証明書、中間証明書をダウンロードし、
# cd /etc/pki/tls/certs # wget https://www.startssl.com/certs/ca.pem # wget https://www.startssl.com/certs/sub.class1.server.ca.pem
サーバー証明書を置き
# vi /etc/pki/tls/certs/example.crt (StartSSLの画面でテキストエリアに表示された文字列を貼り付け)
パーミッションを400などにしておき
# chmod 400 /etc/pki/tls/private/example.key # chmod 400 /etc/pki/tls/certs/ca.pem # chmod 400 /etc/pki/tls/certs/sub.class1.server.ca.pem # chmod 400 /etc/pki/tls/certs/example.crt
apacheのsslの設定のところに書く
SSLCertificateFile /etc/pki/tls/certs/example.crt SSLCertificateKeyFile /etc/pki/tls/private/example.key SSLCertificateChainFile /etc/pki/tls/certs/sub.class1.server.ca.pem SSLCACertificateFile /etc/pki/tls/certs/ca.pem
ざっとこんな具合です。
コメント