|
サーバはセキュアソケットレイヤ (SSL) プロトコルによるプライバシー保護と暗号化をサポートしています。また、オペレーティングシステムを変更して SSL のサポートを維持し、証明書を新しいサーバに移動し、カスタムデジタル証明書を更新することもできます。
署名要求と秘密鍵の作成
署名済みデジタル証明書を取得するには、証明書署名要求 (CSR) を作成する必要があります。CSR の作成と同時に、秘密鍵も生成されます。認証局は CSR を使って秘密鍵で利用できる署名済みデジタル証明書を作成し、ウェブサイトへの安全なアクセスを提供します。CSR と秘密鍵を生成する前に、まず必要となる情報を用意します。CSR の生成に必要となる情報は以下のとおりです。この情報は証明書にそのまま表示されるので、正確に記入してください。
- ・ PEM パスフレーズ - パスワードと同様に、セキュリティ目的のフレーズで、デジタル証明書の使用を本人に限定するものです。覚えやすく、かつ推測しにくいフレーズを使用してください。このパスフレーズは、署名済み証明書をインストールするときに入力を求められます。
- ・ 企業の所在地 - 企業の所在地として証明書に記載したい国、郡または州、市を確認しておいてください。
- ・ 企業の連絡先 - 企業または組織の正式名称です。組織部門または部署名が含まれることもあります。
- ・ ドメイン名 - ウェブサイトに安全にアクセスするために使用する、正確なドメイン名を決定してください。
- ・ 連絡先 Eメールアドレス - 認証局からの連絡用として使用する連絡先 Eメールアドレスです。
- ・ その他の情報 - この情報には、チャレンジパスワードが含まれます。認証局によっては、証明書へのアクセスや、認証局とのやり取りでこのパスワードを要求することがあります。また、企業に関する追加情報を入力することもできます。
SSH を使ってサーバに接続し、次のコマンドを実行してください。
# mkdir /usr/local/certs # cd /usr/local/certs # openssl req -new
前に用意した情報を提供するよう求めるプロンプトが表示されます。Common name とは、SSL を使ってサイトにアクセスするときに使うドメイン名を指します。例えば domain.com、、www.domain.com、cname.domain.com、*.domain.com などです。ドメインは証明書に表示された通りに使用しなければなりません。
すべてのデータを入力すると、CSR が示されます。CSR を画面上に表示された通りに、改行もそのままに、前後に余計な行を入れずに、ローカルコンピュータ中のファイルにコピー&ペーストして保存すると良いでしょう。認証局のウェブサイトから SSL 証明書を注文するときに必要になります。CSR の例は次の通りです。
-----BEGIN CERTIFICATE REQUEST----- MIIB2jCCAUMCAQAwgYExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIEwRVdGFoMQ4wDAYD VQQHEwVQcm92bzETMBEGA1UEChMKU3R1bmt3b3JrczEVMBMGA1UEAxMMTWFyayBT cGVuY2VyMScwJQYJKoZIhvcNAQkBFhh3ZWJtYXN0ZXJAc3R1bmt3b3Jrcy5jb20w gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKIkMHnII4uNDwgTYsBYdiiOBLTY NOsTfXp/5sG1VXjlYhDMoLzWxBbaulx2hEufj1Sfkm65Mrd8j4nMFVIGf1sGnFCj ClgxQ/5DJtV22jgnqQfKq7se32r9INoPWjFfjD1JC+4zry5LRiSPNImCYq2E1578 h6S6i6auD1nTDD0LAgMBAAGgGDAWBgkqhkiG9w0BCQcxCRMHZ3JvYmxpbjANBgkq hkiG9w0BAQQFAAOBgQANwQ7wudkfkxrrZA4lXbOYeXWLngHtNdzPJ8WyzOjGof4h jkpDPV6SJqHEszpmZljEqb6fxgeiM4cpWSFGJA1QNFz+Ra8/msrLLBMM+zPuHpER OPFCsrIErmaBgnmymGOk/DiHvhV+LqCkAgjcS2Kpn0cOy8KRyXzUc4k+TTw0Uw== -----end CERTIFICATE REQUEST-----
openssl コマンドを実行したディレクトリ中に、privkey.pm という新しいファイルがあります。これはあなたの秘密鍵で、後で必要になります。秘密鍵の例を示します。
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,BCC23A5E16582F3D hfWyPkea3gnVCHCZJ/zgQpCH9RZF7WjYXGYohdbfkJY0ETLwXaqjvnNHQlLomwIt CvAzXhq8wnHur6SK21SO0ry3aSCvrBezH99miSJvtnT0HVlRJDNvaYQDbe01Z26D hY2Yqha56Z8pvrTTolJfNL0sW4ewdws1wR4kxYDYkpusoe/Wed9Wg+i6xr9YmIjT le9bbQlPK2D/3gJDhWW/aZHiMmLcYJtmWmf0wUMdmlibWYuq0UH1EefiLq3SLKK2 izvYpWDGHxVgtmzupvoc2E6CS3rQeRN3QQ9RqhzqdGqP8Xy/xl1LMuDRUbPY54Kp 3a4gqZCXdlxctK70XX5TdhiMsFEb5L1wA8CsnKE69nzs8MOLiz6mjtAhGB6KVKB4 dod3Wn6z20cus21SY5LxFkfq6JZrAsqSZFzETN9n2Fbel2pTp3IRWx7Q+WBTlrME uIMgUSKszpvgzg0Tf2Kxfw6YWl5EpEGA8PeiGrM1NeT2TFtgiQBRQdAy7TQxgBlF LOW2r5/1347ZgafacXLzpDBHnQrn/OtZijzleeoIwcgVwCOKz1oufEAN1ZTJbG6F WYJuFtfopM5swyoUYK3JgT582ziAeu4jcPdrNHCxqcInkNG+ib3dHdy8yccWRehD VnSX2hr1MDd2cpFFTl77Bc2/neNyUieqiHkrTOZIcD9oBSxFd0fP9QxLWEMCDWHt N5UK1n29+TFgm/aXjZNjSIE5DSjTTBGTy2fPWtnefQaFk23ppV5VQypmZjxcWt2f Eekjh1vEiQChKULQCXFAaxL61HvBRqe3iJwJ+niOBuGpYnjdC80oIA== -----END RSA PRIVATE KEY-----
カスタムデジタル証明書
デフォルト証明書はサーバへの安全なアクセスを提供するための一般的な方法です。独自のドメイン名を使い、サーバへの安全なアクセスを提供したい場合は、カスタムデジタル証明書を取得してください。カスタムデジタル証明書はバーチャルサーバに対する安全なアクセスを提供するだけでなく、サイトの安全な領域で独自のドメイン名を使うことで、顧客からさらに高い信頼を得ることができます。
署名済みデジタル証明書の取得
CSR を作成したら、どの認証局とデジタル証明書を使うかを決定します。さまざまな種類の多数の認証局があります。それぞれが数種類のデジタル証明書を発行し、それらは機能も、付属するオプションも異なります。自分のニーズに最適な証明書を選ぶことが非常に重要です。ほとんどの認証局が、別のタイプの証明書と製品への署名も行っているため、取得するのが SSL デジタル証明書であることを確認してください。
さまざまな認証局があり、各々が異なる方法で企業の信頼性を証明しており、顧客の認識と信頼のレベルも異なります。認証局の例をいくつか挙げます。
- ・ GeoTrust
- ・ GlobalSign
- ・ VeriSign
- ・ Thawte
使用する認証局と SSL 証明書のタイプが決まり、CSR を作成したら、署名済み証明書を注文できます。
署名済みデジタル証明書の注文手順は各ベンダーと証明書タイプにより異なります。ただし、そのすべてに共通する部分があります。以下に証明書を注文するために役立つヒントを挙げます。
注文手順のどこかの時点で、使用しているサーバの種類、もしくはサーバソフトウェアを質問されます。このときは、Apache-SSL または OpenSSL 付き Apache を選択してください。
CSR を入力するよう要求されたら、先頭 (BEGIN CERTIFICATE) と末尾 (END CERTIFICATE) の行を含め、必ず生成したときの画面に表示された通りにペーストしてください。以下に証明書署名要求の例を示します。
-----BEGIN CERTIFICATE REQUEST----- MIIB2jCCAUMCAQAwgYExCzAJBgNVBAYTAlVTMQ0wCwYDVQQIEwRVdGFoMQ4wDAYD VQQHEwVQcm92bzETMBEGA1UEChMKU3R1bmt3b3JrczEVMBMGA1UEAxMMTWFyayBT cGVuY2VyMScwJQYJKoZIhvcNAQkBFhh3ZWJtYXN0ZXJAc3R1bmt3b3Jrcy5jb20w gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKIkMHnII4uNDwgTYsBYdiiOBLTY NOsTfXp/5sG1VXjlYhDMoLzWxBbaulx2hEufj1Sfkm65Mrd8j4nMFVIGf1sGnFCj ClgxQ/5DJtV22jgnqQfKq7se32r9INoPWjFfjD1JC+4zry5LRiSPNImCYq2E1578 h6S6i6auD1nTDD0LAgMBAAGgGDAWBgkqhkiG9w0BCQcxCRMHZ3JvYmxpbjANBgkq hkiG9w0BAQQFAAOBgQANwQ7wudkfkxrrZA4lXbOYeXWLngHtNdzPJ8WyzOjGof4h jkpDPV6SJqHEszpmZljEqb6fxgeiM4cpWSFGJA1QNFz+Ra8/msrLLBMM+zPuHpER OPFCsrIErmaBgnmymGOk/DiHvhV+LqCkAgjcS2Kpn0cOy8KRyXzUc4k+TTw0Uw== -----END CERTIFICATE REQUEST-----
企業の正式名称、住所などの企業情報の入力も要求されます。 証明書の注文を終え、要求された書類を提出すると、認証局は署名済み証明書を発行します。署名済み証明書を取得すると、署名済みデジタル証明書をインストールすることができるようになります。
カスタムデジタル証明書のインストール
署名済みデジタル証明書を取得したら、次にそれをインストールし、デフォルト設定の代わりに、自分の証明書と秘密鍵を使うよう、SSL を設定します。 証明書を取得したとき、おそらくローカルコンピュータのファイルに保存したはずです。SCP を使い、そのファイルをサーバにコピーしてください。ファイルの破損を避けるため、ASCII フォーマットでファイルをコピーしてください。 証明書をサーバにコピーした後、CSR と同時に生成した秘密鍵が ssl.pk という名前で /usr/local/certs/ というディレクトリに保存されていることを確認してください。誤って紛失した場合に備えて、必ず秘密鍵のコピーを別の場所にも保存してください。サーバにディレクトリを作成し、新しい証明書が正しく機能することを確認するまで、秘密鍵と証明書の両方のコピーを保存しておいてください。
SSHを使ってサーバに接続し、次のコマンドを実行してください。
# cd /usr/local/certs # openssl rsa -in ssl.pk -out ssl.pk
openssl rsa コマンドは鍵に対するデフォルトの暗号化を解除し、Apache HTTP サーバで使えるようにします。ファイルを見て、秘密鍵が復号されているかどうかを確認してください。鍵が生成されたとき、先頭数行は次の例のようになっています。
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,BCC23A5E16582F3D hfWyPkea3gnVCHCZJ/zgQpCH9RZF7WjYXGYohdbfkJY0ETLwXaqjvnNHQlLomwIt
復号した鍵は、次の例のように変化しています。
-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQCot9aa9R38QevFSWqU718VFxqEDcY4gJfdZ6sBy282jdgCVcwU q92tQ5V3amQanoSIWxI/O9GYm5kJSo3b2qGib2sqLiHZFa/bRjL5IDFOMwcSTyp O0I9otCK72/rrxMl+Gt8b5saEiIdmGO4ar9AM2DYYQCFKYR62mDZ7mRa6wIDAQAB AoGBAJWy0CqblGhvgSeCdZwCK+ZFopRKuHcHujeLtRKZk2rfPisMP1CUEdObJLJY 5ssrnUJzM+SBSf5TCN1Slj3dZg2NRBq+68L1dR+3voEWv2ebPhzicjw81l0xuVoX HbXhM052Bmhp8XWZd3VdKXyQuTQeh17F4R2o39r9vP88pGnRAkEA4OxTu4p6gAxF l4JwiqFeswdoq/jEj9KkKGy/wM4psGQqUrzWzgKmN+R1NpSRWcyohpSOsU8yFcHb bydNYvYj0wJBAMAHgQENrGx+3XEzcCx3uY8vv1gvcNFou0RKKcoaHyf8n028AJAf ZAM/7h+cFcJVYEeb8n54ED4979c+gr3ttYkCQD444okVLAJUYsQhL6UKMzpvqEM6 1JW8/fC49OsPnXTQoOy2lO30yarYppxsyTEAbvacDkV61S4zrNK5Gq1vzkUCQF45 0GVR7k92mPZZBSvsu5K1HTEKZlN7Dpjdw0+2LZ+TaB/epnAR1yN5FUFRd6PZ/Npm fUDtbRr9jViTBdhocfECQQDfxT3bUNjvJUeWQieQg2ooj7yzbjMD5MjA+9z+qh1V Cb+4kQSEWrP7EdJk4cOHOH+ZYjinf77x8v2PbnaKE5Dc -----END RSA PRIVATE KEY-----
/www/conf/httpd.conf ファイルを編集し、次のコマンドを追加して、証明書ファイルを探すように設定します。
SSLCertificateFile /usr/local/certs/example.com.pem
/www/conf/httpd.conf ファイルに証明書のディレクティブを追加した後、restart_apache を発行し、新しい証明書を使って Apache を開始してください。 証明書で使うよう設定されたドメインに HTTPS で接続し、新しい証明書が機能していることを確認してください。例えば、ドメイン名が www.example.com であれば、ブラウザのロケーションバーに https://www.example.com と入力します。エラーが起きずにページがロードされた場合は、ブラウザのロックアイコンをクリック (ダブルクリックの場合もあります) します。これにより、証明書情報または証明書情報を閲覧するためのウィンドウが表示されます。証明書に正しいドメイン名と正しい情報が記載されていることを確認してください。
SSL 証明書を Eメールでも使用したい場合は、POP と IMAP のサービスでもこのファイルを探せるよう、次のようにリンクを作成してください。
# ln /usr/local/certs/example.com.pem /usr/local/certs/imapd.pem # ln /usr/local/certs/example.com.pem /usr/local/certs/ipop3d.pem
カスタムSSL証明書の移動
安全なウェブサイトを別のサーバに移動する場合、証明書を新しいサーバでも正常に動作させるために、注意すべき点がいくつかあります。
オペレーティングシステムの変更
デジタル証明書の動作は、オペレーティングシステムとウェブサーバソフトウェアの種類により異なります。そのため、IIS ウェブサーバを搭載した Windows2000 サーバ向けに生成された証明書は、Apache を搭載した FreeBSD UNIX サーバでは動作しません。同様に、Netscape ウェブサーバを搭載した FreeBSD UNIX サーバは、Apache を搭載した FreeBSD UNIX サーバで動作するように作成された証明書を使用できません。
お手持ちの証明書が新しいサーバと互換性を持たない場合は、新しいオペレーティングシステムとウェブサーバ用の証明書を取得してください。ほとんどの証明書認証局では、新たに証明書を取得するよりも安い料金で移行のための証明書を発行しています。
移行証明書のインストール方法については、認証局が説明書を提供します。
新サーバへの証明書の移動
お手持ちの証明書に、安全なウェブサイトの移動先サーバとの互換性があれば、新しい証明書を取得する必要ありません。単純に証明書を新サーバに移動し、それが正しく動作することを確認するだけです。
- SSH を使ってサーバに接続し、次のコマンドを実行します。
# mkdir /usr/local/certs # cd /usr/local/certs
- FTP などを使用して、証明書と秘密鍵を新しいサーバへコピーします。ファイルは /usr/local/certs/ ディレクトリにコピーしてください。証明書のファイル名は ssl.cert、秘密鍵のファイル名は ssl.pk です。FTP を使う場合は、ファイルの破損を避けるため、ASCII フォーマットでファイルをコピーしてください。
- ファイルの内容から、秘密鍵が復号されていることを確認してください。鍵が復号されていない場合、先頭数行が次の例のよう表示されます。
Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,BCC23A5E16582F3D
- SSH を使ってサーバに接続して次のコマンドを実行し、鍵を復号してください。
# cd /usr/local/certs # openssl rsa -in ssl.pk -out ssl.pk 次のコマンドを実行し、証明書と鍵の両方を含む PEM ファイルを作成します。 # cd /usr/local/certs # cp ssl.pk YOUR-DOMAIN.NAME.pem # cat ssl.cert >> YOUR-DOMAIN.NAME.pem
- /www/conf/httpd.conf ファイルを編集し、次のコマンドを追加して、証明書ファイルを探すように設定します。
SSLCertificateFile /usr/local/certs/MY-DOMAIN.NAME.pem
- /www/conf/httpd.conf ファイルに証明書のディレクティブを追加した後、 restart_apache を発行し、新しい証明書を使って Apache を開始します。
|