Apache-SSLのデジタルID(証明書)の取得について


以前はApache-SSLのデジタルIDを発行しているCA(認証局)は、南アフリカの Thawte Consultingだけでしたが、現在は日本ベリサインセコムトラストネットも発行しています。 Thawte Consultingは、ネットスケープのナビゲーターと、 マイクロソフトのインターネットエクスプローラ(バージョン3.0以降)に CAとして登録されいるので、発行されたデジタルIDを使用してサーバを 運用すると、ブラウザがつながった時に警告がでないで、すんなりと利用できます。

Thawte ConsultingからデジタルIDを取得するために必要なことは...

  1. 組織のドメイン名を取得する

  2. 秘密鍵を生成する

  3. CSRを生成する

  4. オンラインで認証の依頼をする

  5. 依頼書(紙)に必要事項を記入する

  6. 会社の登記簿謄本を用意する

  7. 依頼書と登記簿謄本を郵送する

  8. 取得費用を支払う

  9. 電話での確認に答える

  10. 発行されたデジタルIDを受け取る

SSLアプリケーションをセットアップすることに興味がある方は、このドキュメントを参考に自分自身で取得することを強くお薦めします。

インフォサイエンスでは企業のためのセキュリティコンサルティングからデジタルIDの取得も行っています。必要な方は 営業 までご連絡ください。
(ThawteのISPコードは"INFOSCIENCE"です)

もちろん、"make certificate"の延長で、プライベートなCAとして、デジタルID を発行することも出来るので、その方法は こちらをご覧ください。
ブラウザにはあらかじめCAの登録を行っておく必要があります。 ブラウザに登録されていないCAが発行したデジタルIDを使用したサーバに 接続すると、ネットスケープは警告を出しながら、必要であれば新しいCAとして 登録を行えます。 しかし、マイクロソフトのブラウザは警告「表示しようとしているインターネット サイトは、不明な機関により署名されたセキュリティ認証を使用しています。」 を表示したあと、エラーとなり利用できません。(バージョン3.0では)


組織のドメイン名を取得する

デジタルIDはドメイン名を含めたホスト名の単位で取得するため、運用する組織の ドメイン名が必要です。 既に、ドメイン名を取得してあり、そのドメインの中のホストに対してデジタルID を取得するのであれば、この作業は必要ありません。

まず組織のドメイン名を決めるにあたり、取得したいドメイン名が既に割り当てら れていないか確認します。

ドメイン名:
1997.04.01より第三レベル(例えば、[第三レベル].co.jp)のドメイン名の割当ルール が変更になり、第二レベルが異なれば、第三レベルの重複が認められるように なりました。例えば、foo.or.jpが既に割り当てられても、foo.co.jpを 取得することが可能です。

取得するドメイン名が決まったら、JPNICにドメイン名の割当を申請します。 JPNICへの手数料が2万円必要です。
申請に必要な手続が詳しく書かれているドキュメントが、 ここにあります。

ドメイン名の取得代行が必要であれば こちらをご利用ください。(手数料1万円)


秘密鍵を生成する

説明の詳細はThawteの APACHESSL KEY AND CSR GENERATION に書いてあり、その中を訳したものと、いくつかの説明を加えます。

Apache-SSLを使用するためには、SSLeayが同じサーバで動いてる必要があります。 SSLeayのバージョン0.5.2a以降をコンパイルしてください。 Thawteが発行したデジタルIDはそれ以前のSSLeayライブラリでは動作しません。 ThawteはSSLeay 0.6.4以降を使用することを要求しています。

秘密鍵とCSRを生成するために使うユーティリティは、通常 /usr/local/ssl/bin にインストールされます。 もし、別のところにインストールしたとしたら、適宜この説明を読み替えてください。

まずはじめに、サーバのディスクの中から、無作為に大きなファイルを5個 選び出します。(圧縮したログファイルなどが適しています) このファイルは、乱数を発生させるために使います。 このファイルを以下のように、file1:file2:...:file5と記述します。

以下はコマンドは1024ビットの秘密鍵を生成します。

# cd /usr/local/ssl/bin
# ./genrsa -des3 -rand file1:file2:...:file5 1024 > httpd.key
1088 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
......................................+++++
............+++++
e is 65537 (0x10001)
Enter PEM pass phrase: 任意のパスフェーズを入力
Verifying password - Enter PEM pass phrase: 再度入力
#
生成された秘密鍵を見てみましょう。

# cat httpd.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,xxxxxxxxxxxx
A1UEBxMJU2hpbmFnYXdhMSAwHgYDVQQKExdJbmZvc2NpZW5jZSBDb3Jwb3JhdGlv
bjEiMCAGA1UECxMZTmV0d29yayBPcGVyYXRpb25zIENlbnRlcjEhMB8GA1UEAxMY
 (中略:これはサンプルです。実物の一部ではありません)
lMNZ8aLthEsDdmcmLAw+PqaRjRqhi7faY61EtzetSg8hpY4V+zP7mvcctC+HP4uU
p4kKQBcNS35wMf5jRtKHQ97Xa/CS0j5aBPH285pijpWKBnlE
-----END RSA PRIVATE KEY-----
#

Apache-SSLを運用する際は、この秘密鍵をコンフィグレーションの SSLCertificateFile または SSLVerifyClient で指定されたファイルに、このテキスト形式のまま格納します。 決して-----BEGIN RSA PRIVATE KEY-----から-----END RSA PRIVATE KEY----- の間の行を編集してはいけません。

この秘密鍵は、次のCSRを生成するためにも使用します。


CSRを生成する

CSRは、認証局(ここではThawte)に対してデジタルIDの発行を依頼する際に 使用し、ここで入力された情報が発行されたデジタルIDにセットされます。
デジタルIDはサーバ(ホスト)毎に取得します。
秘密鍵の生成から引き続き、次のコマンドを実行します。
# ./req -new -key httpd.key > httpd.csr
Using configuration from /usr/local/ssl/lib/ssleay.cnf
Enter PEM pass phrase:
You are about to be asked to enter information that will be incorperated
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) [AU]:国名
State or Province Name (full name) [Queensland]:都道府県名
Locality Name (eg, city) []:市区町村名
Organization Name (eg, company) [Mincom Pty Ltd]:会社名
Organizational Unit Name (eg, section) [MTR]:部署名
Common Name (eg, YOUR name) []:サーバ名
Email Address []:メールアドレス

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:パスワード
An optional company name []:別の会社名
#

サーバ名は、Apache-SSLを実際に運用するホスト名をFQDN形式 で記述します。(ホスト名.会社名.co.jp)

'extra' attributesパスワード別の会社名は 必要であれば入れてください。

CSR生成の例

# ./req -new -key httpd.key > httpd.csr
Using configuration from /usr/local/ssl/lib/ssleay.cnf
Enter PEM pass phrase:
You are about to be asked to enter information that will be incorperated
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) [AU]:JP
State or Province Name (full name) [Queensland]:Tokyo
Locality Name (eg, city) []:Shinagawa
Organization Name (eg, company) [Mincom Pty Ltd]:Infoscience Corporation
Organizational Unit Name (eg, section) [MTR]:Network Operations Center
Common Name (eg, YOUR name) []:secure.infoscience.co.jp
Email Address []:info@infoscience.co.jp

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
#

生成されたCSRを見てみましょう。

# cat httpd.csr
-----BEGIN CERTIFICATE REQUEST-----
A1UEBxMJU2hpbmFnYXdhMSAwHgYDVQQKExdJbmZvc2NpZW5jZSBDb3Jwb3JhdGlv
bjEiMCAGA1UECxMZTmV0d29yayBPcGVyYXRpb25zIENlbnRlcjEhMB8GA1UEAxMY
 (中略:これはサンプルです。実物の一部ではありません)
lMNZ8aLthEsDdmcmLAw+PqaRjRqhi7faY61EtzetSg8hpY4V+zP7mvcctC+HP4uU
p4kKQBcNS35wMf5jRtKHQ97Xa/CS0j5aBPH285pijpWKBnlE
-----END CERTIFICATE REQUEST-----
#

この中には、先程入力した情報と、鍵に関する情報が暗号化されています。


オンラインで認証の依頼をする

Thawteに対するデジタルIDの発行の依頼は、 ONLINE CERTIFICATION REQUEST FORM で行います。

一番はじめに先に生成したCSRを入力する フィールドがあるので、 コピー&ペーストで、CSRのテキストを流し込んでください。

ISP PARTNER のフィールドにはサーバの運用管理を外部の会社に委託している場合は、その会社の ISPコードを調べて入力します。(インフォサイエンスは"INFOSCIENCE"です) この項目は必須ではありません。自社で取得する際は空欄のままにしてください
もし、インフォサイエンスにデジタルIDの取得を委託する際は 営業までご連絡ください。

ONLINE CERTIFICATION REQUEST FORMは、全部で4ステップ(画面)あります。 責任者の情報や、費用の支払方法などを 説明にしたがって全ての項目を入力すると完了です。
出来るだけ、各ステップでデータを入力した画面を印刷して保存してください。 画面上に、資料の送付先や、確認するためのIDなどが表示されます。


依頼書(紙)に必要事項を記入する

Letter Authorising Certification にある、3つの形式のいずれかの文書を印刷して、必要事項を記入した上 署名します。

記入項目の説明

Request Code ________ .
ONLINE CERTIFICATION REQUEST FORMのステップ4で表示された、request codeです。
I, _______________________________,
依頼する責任者の名前
Official title: ___________________
上記責任者の正式な役職
Telephone: ___________________
電話番号
Email: _____________________________
メールアドレス
our webmaster,_______________________________,
サーバの管理者(Webマスター)の名前
Authorising Signatory
責任者の署名
Webmaster
サーバの管理者(Webマスター)の署名


会社の登記簿謄本を用意する

本社が所在する地区を管轄する法務局(登記所)に行き、会社の登記簿謄本を 1部取ります。
登記簿謄本により、会社が実在することを確認します。

Apache-SSLは扱っていませんが、日本ベリサインからデジタルIDを取得するには 、更に会社の印鑑証明(代表印)が必要です。


依頼書と登記簿謄本を郵送する

依頼書と登記簿謄本を "ONLINE CERTIFICATION REQUEST FORM" のステップ4で表示された オフィスの住所に郵送します。 日本のオフィスは 株式会社 メディックスが窓口です。

住所:〒165 東京都中野区江原町2丁目22-3


電話での確認に答える

1週間ぐらい経つと、Thawteから確認の電話が入ります。 忙しそうな女性が、すごい勢いで話しかけてきます。
責任者の名前や会社名や等を確認します。
責任者が不在の時は、ケープタウンまで電話します.....


取得費用を支払う

"ONLINE CERTIFICATION REQUEST FORM" で指定した支払方法によって、費用を 支払います。クレジットカードの場合は必要ありません。


発行されたデジタルIDを受け取る

デジタルIDが発行されると、Thawteから、 Subject: Your Thawte Cert is Ready!というメールが来ます。
メールに書かれている、URLより発行されたデジタルIDを取出します。
   http://www.thawte.com/cgi-bin/server/status.sioux?code=XXXXX
Apache-SSLは Standard Certificate Format を使います。


これで、デジタルIDの取得は完了です。

後は、Apache-SSLの設定をしてください。!


検索文字

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。




このファイルの最終更新日は 2009.12.14 です。