プライベートCAによるSSL証明書生成について ============================================== EasyCertの機能非制限版はネットから入手できなくなっております。 プライベートCAによる証明書作成については下記を推奨しております。 a) Kousec Server Certificate Manager - Basic Edition ウェブ: http://www.kousec.com/prod_cm_ja.html b) Orenosp付属の gencert.exe ユーティリティ ウェブ: http://www.orenosv.com/gencert/gencert_en.html Orenospパッケージ内: padmin\doc\gencert.txt 商用SSL証明書を使用する場合は、あわせて下記手順もご覧ください。 Using Commercial SSL Certificates in Orenosp http://www.orenosv.com/orenosp/certvendor_en.txt ---- 参考:下記はEasyCertを使用するときの手順です ------- 重要:EasyCertの最新版(EasyCertSetup091b2e.lzh)は証明書有効期限が7日しかない 機能制限版ですので、一つ前のEasyCertSetup090b1.lzhを使用してください。 -> http://mars.elcom.nitech.ac.jp/security/download.html Vectorからダウンロードできるものも機能制限版です。 EasyCertによるSSLサーバ用証明書&秘密鍵の作成 ============================================= EasyCertのヘルプファイルにしたがって作成していきます。 自分が公開したいサーバの名前を、orenosp.no-ip.com という動的DNS で取得しているとします。 - "New CA"で新しいCAを作成します。 Test CAと名づける。 (CAの)証明書と秘密鍵を新規に作成、を選択。 C=JP, O=Test, OU=orenosp, CN=Test-CA ぐらいでよいでしょう。 New CAでCAの秘密鍵用パスワードを設定しますので 忘れないようにします。 - "New Issue"でサーバ用証明書&秘密鍵を作成 C=JP, O=Test, OU=orenosp, CN=orenosp.no-ip.com とします。またlocalhostを用いたテスト用ならば C=JP, O=Test, OU=orenosp, CN=localhost とします。通常、CNにはサーバのDNS名を設定します。 サーバ用秘密鍵のパスワードを設定しますので 忘れないようにします。 - サーバ用秘密鍵をエクスポートする。 ツリービューのTest CA -> Key Listをクリックして先ほど 作成した秘密鍵を"Save As"でエクスポートします。 先ほど指定したパスワードを聞いてきますので入力します。 次にエクスポートする秘密鍵につけるパスワードを聞いてきますので 同じものを指定すると楽でしょう。このパスワードが、Orenospの proxy_ssl_keypass に指定するパスフレーズとなります。 このファイルを"server.key"と名づけます。すでにPEM形式(テキスト) になっています。 - サーバ用証明書をエクスポートする。 ツリービューのTest CA -> Issued Listをクリックして先ほど 作成した証明書を"Save As"でエクスポートします。 このファイルを"server.cer"と名づけます。DER形式(バイナリ)で 保存されています。Orenosp 0.3.3からDER形式の証明書も読み込める ようになったのでこのファイルをserver.crtとリネームして直接使います。 --- 以下はオプション --- これをPEM形式に変換する場合は以下の手順を行います EasyCertに付属しているCertConvを立ち上げます。 "server.cer"をinputファイルとしてオープンします。 Output File = Certificate、Output Form = PEM Output File Name = <...>\server.crt と設定して、Convertを行います。 これで、"server.crt"というPEM形式のサーバ証明書ができあがります。 --- ここまで --- - [オプショナル] CA証明書をエクスポートする。 これはサーバ側に配置するのではなく、ブラウザにインストールすべき 証明書です。 Easy CertのインストールディレクトリにあるCAの証明書をそのままコピー してきます。DER形式(バイナリ)になっています。 C:\Program Files\Easy Cert\\ca.cer をコピーする。 クライアント証明書の発行 (SSLクライアント認証) ============================================== 次にSSLクライアント認証で必要なクライアント証明書の発行方法を説明します。 上記手順でCAは作成していると仮定します。 - "New Issue"でクライアント証明書&秘密鍵を作成します。 基本的にはEasyCertのヘルプ HowToに従っていけばOKです。 - SubjectのDNには C,O,OU,CN(ローマ字名前),EMAIL(emailアドレス)を設定します。 - 作成したクライアント証明書&秘密鍵をエクスポート Issued Listの中からいま作成した証明書を選択し、右クリックで Save PKCS#12 Asを選びます。 *.p12,*.pfx (PKCS#12) : 証明書と秘密鍵とCA証明書を単一のファイルにいれたもの このエクスポートファイルには秘密鍵も含まれるのでパスワードを つける必要があります。EasyCertが聞いてくるのでそこでパスワードを設定 します。 CA証明書のPEMへの変換 (SSLクライアント認証) =========================================== CA証明書をOrenospサーバに信頼できるCAとして認識させるには (ssl_cacertstoreに指定する)、PEM形式にしておかなければなりません。 C:\Program Files\Easy Cert\\ca.cer を C:\workにコピーします。 EasyCertに付属しているCertConvを立ち上げます。 "ca.cer"をinputファイルとしてオープンします。 Output File = Certificate、Output Form = PEM Output File Name = <...>\ca.crt と設定して、Convertを行います。 これで、"ca.crt"というPEM形式のCA証明書ができあがります。 証明書の更新 ============ サーバ証明書やクライアント証明書の有効期限が近づいてきたら 証明書を更新します。 重要: CA自身の証明書の有効期限を越えて設定することはできません。 メニューから"CA Settings..."を選び証明書有効日数を希望の日数に設定します。 更新したい証明書を選択し右クリックで"Update"を選びます。 後は新規証明書と同様に、更新した証明書を"Save As"でエクスポートします。 Windows Certificate Store for Service Programs ============================================== Orenosp/Orenosvでは独自の証明書ストアだけでなく、OS(Windows)が管理する 証明書ストア、Windows Certificate Store内の証明書等を利用することも できます。ここではこのWindows Certificate Storeを管理するユーティリティ 証明書マネージャの起動方法等を記しておきます。 Windows 2000の証明書マネージャの起動方法 - Runで mmc と打つ - 「スナップインの追加と削除」選択 - 「追加」で"証明書"を選択 - 管理対象を選ぶ a) ユーザアカウント : 現在のユーザがアクセスできる証明書ストア群 b) サービスアカウント : c) コンピュータアカウント ここではサーバ側なのでサービスを選択します。 - サービスが存在するマシンを選択 通常はローカルマシンを選択 - そのマシン上のどのサービスの証明書ストア群を管理するか選ぶ "orenosv"(もしくは"oreosp")サービスを選択 - orenosv\trusted root CA (もしくはorenosp\trusted root CA)配下の 証明書フォルダを開く。ここにリストされている証明書が、orenosv(orenosp) サービスが信頼する認証局となっています。 - 証明書フォルダを右クリックして「すべてのタスク」から「インポート」を 選択すると、ここに信頼する認証局の証明書を追加できます。 EOF