DTIサーバー構築24 「まだまだ、だよ」

さて、ログインが出来るようになったら、ドメインの認証をする。
あなたが所有するドメインを入力。

すると、whois情報を手がかりに、認証で利用するためのメールアドレスが一覧で表示されるので、どれかを選択。
(前にも書いたが、Google Appsを利用してる場合は、デフォルトでpostmasterが利用できない。グループを作ればいけるけどね。)

で、メール内のコードをコピーして

貼り付ける。

成功!

さて、秘密鍵を作成しようか。
既に作成済みならスキップできる。
なるべく長いパスワードで自衛しよう。

秘密鍵はテキストで表示されるので、コピーして大切に大事にこっそり保存しておこう。

ドメインを指定して、

証明書のサブドメインを指定。
ちなみにマルチサブドメイン(*)は、無料では作れない。ケチ!

準備が完了

やっと証明書ができたよ。
大事に保存してね。

さて、続いてClass2の証明書を有料で、、、取ってね。

それでは、サーバーに入れましょうかね。

DTIサーバー構築23 「忘れないように、こうしてあげる」

StartSSLへログイン可能になった。
ということで、次のFAQページを参考に証明書をバックアップする。
(参考にしなくても難しいものではないが。)
4.) How do I backup my client certificates?
4.) How do I backup my client certificates?
まずは、キーチェーンアクセスを起動。
キーチェーンアクセス
キーチェーンアクセス

この中に、登録に使ったメールアドレスの証明書があるはず。

キーチェーン
キーチェーン

メニューから「書き出す」を選択しましょう。って、ほとんどモザイクで見えへんやん!!

を書き出す
を書き出す

で、ファイル名を書いて保存。

証明書の保存
証明書の保存

パスワードを入力して暗号化して書き出し!

パスワード忘れると使えなくなるよ。
パスワード
パスワード

ちなみに他のMac等で利用したいときは、ファイルをコピーして、ダブルクリックでパスワードを入力してね。

DTIサーバー構築22 「あなたなら信じてもらえるかも」

StartSSLなら大概のブラウザに信用してもらえる。
そう思った私は、いてもたってもいられなくなり、すぐに電車に飛び乗った。
のではなく、次のページヘ急いだ。

http://www.startssl.com/
http://www.startssl.com/

次の表をみると無料で取得できるのは、Level1のみ。マルチドメインには対応していないので、そこは注意!

Comparison Chart
Comparison Chart

さて、では、もうそろそろ、やっとこさ、次のページから作成に入りましょう。

StartSSL™ Free
StartSSL™ Free

赤枠部分をクリックして、Express Laneへ GO!!

Authenticate or Sign-up?
Authenticate or Sign-up?
すると、まずは、個人情報の入力ページとなる。

Personal Enrollment Details
Personal Enrollment Details

Continueをクリックすると、確認画面が現れるので、OK!

confirm
confirm

すると、メールが届くので、Autherntication Codeをコピー!

Your Authentication Code
Your Authentication Code

そんでもって、ペースト!

Complete Registration
Complete Registration

&、Continue!

Additional Verification Required
Additional Verification Required
さて、待ってると、何やら想定外のメールが。
ほんとに?
ほんとに?
しょうがないので、適当な英語で返信。
ほんまに!
ほんまに!

すると、やっとこさ認められたみたいで、メールが届く。

(ちなみに、2回ほどここまでの作業を行ったが、2回目はすんなり通った。
既に入力されている情報と同じだったからか?)

ほんまやったんかいな〜
ほんまやったんかいな
メール内のアドレスを開いて、確認用のコードを入力!
Complete Registration
Complete Registration

秘密鍵の長さを選択。とりあえず2048で良いでしょ。

Generate Private Key
Generate Private Key

長い。手順が長い。もう嫌だ〜。Install !!

Install Certificate
Install Certificate
やっとここでログインに使う証明書がダウンロードされ、自動的に適用される。
クライアント証明書のインストール
クライアント証明書のインストール

証明書を表示。イヒヒヒヒヒ

クライアント証明書
クライアント証明書
忘れないうちにバックアップしておきたい。

なぜならこれがないと、ログイン出来ないから。

(ちなみに私は、MacBook Airが壊れて証明書が復旧できなかったのは内緒。)

DTIサーバー構築21 「本当にそれでいいのね?」

ということで、予告通りCAcertのルート証明書をインストールしてみる。
ちなみにMacです。Windows?何それ?美味しいの?

まずは、次のページからルート証明書(DER)をダウンロードします。

CAcert's roots
CAcert’s roots

キーチェーンアクセスを起動します。

キーチェーンアクセス
キーチェーンアクセス

メニューの「ファイル」-「読み込む…」で、ダウンロードしたファイルを指定します。
目的のキーチェーンはシステムで、常に信用しましょう。

さて、では、再びCAcertに署名された証明書を利用する我がサイトに接続。

https://sin-cos.com/
すると、ど〜でしょ〜。

この証明書は有効です
この証明書は有効です

先ほどまでは警告が出ていたページが、同じ証明書なのにもかかわらず、
「この証明書は有効です」と、保証されています。

でも、これでは使えない。
StartSSLの証明書を取りましょうか。

DTIサーバー構築20 「文句があるのか、お上のお墨付きじゃ!」

タイトルをふざけすぎて、検索サイトでは上位に上がって来れないよね。

さて、サーバー証明書を手に入れたので、Apacheに組み込んでみます。
SSLの設定ファイルを編集しましょう。

$ sudo vi /etc/httpd/conf.d/ssl.conf
以下の部分を作成した秘密鍵と証明書に変更します。

SSLCertificateFile /etc/pki/tls/certs/domain.pem
SSLCertificateKeyFile /etc/pki/tls/private/domain.pem

Apacheを再起動して、

$ sudo service httpd restart
httpd を停止中:                                            [ OK ]
httpd を起動中: Apache/2.2.15 mod_ssl/2.2.15 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server yourdomain.com:443 (RSA)
Enter pass phrase: ←ここで秘密鍵のパスワードを入力
OK: Pass Phrase Dialog successful.

秘密鍵がパスワードで暗号化されていると、起動時に入力が必要になります。
しかし、これはちょっと実用的ではありません。
なので、パスワードを出力するスクリプトを用意してみます。
場所はどこでもOKです。

$ sudo vi /path/to/passphrase-script

次の内容でファイルを保存します。

#!/bin/sh
echo “password”
ファイルの属性を変更します。

$ sudo chmod 500 /path/to/passphrase-script

先ほどの設定ファイルを再び開いて、

$ sudo vi /etc/httpd/conf.d/ssl.conf

パスワードの取得方法を変更します。

SSLPassPhraseDialog  exec:/path/to/passphrase-script

Apacheを再度再起動すると、

$ sudo service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

パスワードを聞かれることなく起動しました。
ちなみに、秘密鍵の暗号化を解いておくという方法もあります。

$ sudo openssl rsa -in /etc/pki/tls/private/domain.pem -out /etc/pki/tls/private/nopass.pem
Enter pass phrase for /etc/pki/tls/private/domain.pem: ←ここで又もやパスワード入力
writing RSA key

さてと、ブラウザで開いてみましょう。

https://yourdomain.com/
ちなみに、CAcertの証明書を使っています。
そしてブラウザはChrome。

このサイトのセキュリティ証明書は信頼できません
このサイトのセキュリティ証明書は信頼できません

やっぱりダメです。ブラウザに認証用のファイルが含まれていません。
念の為に証明書を見てみますが、きちんとCAcertにて署名されています。

この証明書は不明な機関によって署名されています
この証明書は不明な機関によって署名されています

ということで、CAcertのroot証明書をインストールしてみますか?