「xca」を使ってオレオレRoot CAとオレオレSSL証明書を作ってみる

ワイルドカードSSLが$199で取得できてしまう世の中ですけど、テスト用に金を払うのはゲンナリ。
そんな感じで、イントラネット用のSSL証明書をX Certificate and Key managementを使って作ってみたー。

いや、xca使わなくてもオレオレ証明は簡単に作れるんですけどね。
Windows Server 2003のIIS6.0の場合はResource Kit Toolsを入れて次のコマンドを叩けば、一応それらしいSSL証明書がIISのHTTPSとして割り当てられる。

Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>cd C:\Program Files\IIS Resources\SelfSSL

C:\Program Files\IIS Resources\SelfSSL>selfssl.exe /N:CN=labo.type-y.com /V:365
Microsoft (R) SelfSSL Version 1.0
Copyright (C) 2003 Microsoft Corporation. All rights reserved.

Do you want to replace the SSL settings for site 1 (Y/N)?y
The self signed certificate was successfully assigned to site 1.

C:\Program Files\IIS Resources\SelfSSL>


この場合は、labo.type-y.comと言う名前の365日有効な証明書が自動的にIISへインポート。
このオレオレ証明書でもSSL通信は出来るんだけれども、いちいち警告が出てウザイ。
かつ、微妙に使えないんですよねw
そんな感じで、Root証明書から作ってみた。


X Certificate and Key management (xca)を起動するとこんな感じ。
xca_SSL_01.jpg
[File]より[New DataBase]を選択して新規作成します。
ダイアログで保存場所を聞かれるので、適当な場所に保存。
xca_SSL_02.jpg
次回以降、開く時のパスワードを聞かれるので、忘れない程度のパスワードを入力。
まー、自分の場合は普通にPASSWORDですねw

xca_SSL_03.jpg
無事にDatabaseが作成できたら、[Certificates]より[New Certificate]を押します。

xca_SSL_04.jpg
まずはオレオレCAを作ろうと思うので、Serialが1になっているのを確認し、TemplateでCAを選択し[Apply]ボタンを押します。

xca_SSL_05.jpg
次に[Subject]タブを押し、今回は次のように適当な感じで入力。
Internal name: YamaHide RootCA
Country code: JP
State or Province: Osaka
Organisation: YamaHide
Common name: YamaHideRootCA

入力した意味なんて全く分かっていませんが、とりあえず何か入れときます。
大事なのはニュアンス、ファジーな感じのふわふわです! (意味不明
入力後、右下の[Generate a new key]を押し、キーを発行。
xca_SSL_06.jpg
RootCAなので、キーサイズは4096bitぐらいで。[Create]ボタンを押します。
xca_SSL_07.jpg
キー発行時に入れた名前がPrivate keyに表示されればOK。

xca_SSL_08.jpg
最後に[Extensions]タブより、有効期限を入力。
有効期限の数字と単位を選択後、[Apply]ボタンを押します。
今回は10年後を選択したけど、20年後程度の長さの方が楽かも?
内容に問題無ければ[OK]を押してRootCA発行は終了。


次にサーバー用オレオレSSL証明を作ります。
xca_SSL_09.jpg
先ほど発行したRootCAを選択後、[New Certificate]を押します。

xca_SSL_10.jpg
RootCAが選択されている事を確認。後、ついでにハッシュ関数をSHA1に変更。
TemplateにてHTTPS_serverを選択して[Apply]ボタンを押します。

xca_SSL_11.jpg
CAと同じように、[Subject]タブにて情報入力。
ただし、今回はサーバー用なので、HTTPSにてアクセスするサーバアドレスをCommon nameに入力。
入力後、[Generate a new key]を押す。
xca_SSL_12.jpg
適当な名前と、適当なKeysizeを入力。1024bitぐらいで問題なし。
入れたら[Create]を押します。
xca_SSL_13.jpg
Private keyに入れた名前の物が表示されればOK。

[Extensions]タブにて有効期限の設定。
xca_SSL_14.jpg
サーバー用は5年を設定してみました。問題無ければ[OK]で終了。


xca_SSL_15.jpg
こんな感じでCAとSSLが発行されました。


続いて、作成した証明書のエクスポート。
xca_SSL_16.jpg
まずはサーバー用SSLを選択。[Export]ボタンを押します。
xca_SSL_17.jpg
Export Formatを聞かれるので[PKCS #12 with Certificate chain]を選択。
適当な場所と名前を入れて[OK]ボタン。
xca_SSL_18.jpg
パスワード聞いてくるので、エクスポート用パスワードを設定します。
サーバーへインポート時に必要になるので注意。

後は、エクスポートされたファイルをIISへぶち込めばOK。


続いて、作成したCAのエクスポート。
xca_SSL_19.jpg
CAを選択後に[Export]ボタンを押します。
xca_SSL_20.jpg
これはExport Formatは[PEM]で問題無いかと。
適当な場所と名前を入れて[OK]ボタン。
xca_SSL_21.jpg
エクスポートしたCAファイルは、Active Directoryのグループポリシーへインポート。
「Default Domain Policy」「コンピュータの構成」「Windowsの設定」「セキュリティの設定」「公開キーのポリシー」「信頼されたルート証明機関」に入れておけば、各クライアント端末にいちいち手で入れなくても、勝手に信頼してくれます。AD必須だけど、便利!


こんな感じで、オレオレCAとオレオレ証明は簡単に作成できた。
後は、サーバ構築するだけですね。


・・・・・・
俺だよ、俺、お金無いよ!
これが言いたいだけの、壮絶な前振りだった気がする(笑)

| コメント(0) | トラックバック(0) |
■Yahoo!オークション おすすめ商品■
Web Services by Yahoo! JAPAN

トラックバック(0)

トラックバックURL: http://type-y.com/mt/mt-tb.cgi/1008

コメントする