SSブログ

xca(X Certificate and key management)を使って自己認証局を作ってみよう[Vol.3] [xca]

今回はxcaでWebサーバのサーバ証明書を発行します。WebサーバにはWindows版のApache2.2.21を使います。SSLが可能なhttpd-2.2.21-win32-x86-openssl-0.9.8r.msiをここからダウンロードします。

1.Apache2.2.21のインストール
 httpd-2.2.21-win32-x86-openssl-0.9.8r.msiをダブルクリックで起動します。
xca43.PNG

 Nextをクリックします。
xca44.PNG

 I accept…にチェックを入れ、Nextをクリックします。
xca45.PNG

 Nextをクリックします。
xca46.PNG

 ドメイン、サーバ名(FQDN)、メールアドレスを入力します。必要に応じてhostsファイルにIPアドレスとホスト名を記述します。
xca47.PNG

 Nextをクリックします。
xca48.PNG

 Nextをクリックします。
xca49.PNG

 Installをクリックします。
xca50.PNG

 Finishをクリックします。
xca51.PNG

 Internet Explorerでhttpアクセスを行います。It works!と表示されればOKです。
xca52.PNG

2.サーバ証明書の発行
 SSL版Apacheをインストールすると、opensslがインストールされます。opensslで秘密鍵の作成とCSRの作成を行います。
 (1)秘密鍵の作成
  コマンドプロンプトから以下のコマンドで秘密鍵を作成します。
  cd C:\Program Files\Apache Software Foundation\Apache2.2\bin
  openssl genrsa -des3 -out "C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key" 1024
  Enter pass phrase for C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key:
  Verifying - Enter pass phrase for C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key:

 (2)CSRの作成
  openssl req -config "C:\Program Files\Apache Software Foundation\Apache2.2\conf\openssl.cnf" -new -key "C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key" -out "C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.csr"
  Enter pass phrase for C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key:
  Country Name (2 letter code) [AU]:JP
  State or Province Name (full name) [Some-State]:Tokyo
  Locality Name (eg, city) []:
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:Home
  Organizational Unit Name (eg, section) []:WWW
  Common Name (eg, YOUR name) []:wwwsv.home.localdomain
  Email Address []:

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

 (3)パスフレーズ解除(Apache自動起動のため)
  openssl rsa -in "C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key" -out "C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv_nopass.key"
  Enter pass phrase for C:\Program Files\Apache Software Foundation\Apache2.2\conf\wwwsv.key:
  writing RSA key

 (4)xcaでサーバ証明書の発行
  Open DataBaseでデータベースをオープンします。
xca53.PNG

  Private-Root-CAを選びます。
xca54.PNG

  Private-Root-CAのDBのパスワードを入力します。
xca55.PNG

  Certicate singning requestsのタブをクリックし、右ペインのInportをクリックします。
xca56.PNG

  先ほど作成したCSR(Apacheのインストールフォルダのconfフォルダ)を選びます。
xca57.PNG

  OKをクリックします。
xca58.PNG

  Certificatesタブをクリックし、New Certificateをクリックします。
xca59.PNG

  Signing requestに作成したCSRを選び、SigningでPrivate-Root-CAを選び、Templateで[default]HTTPS_serverを選んで、Apply allをクリックします。
xca60.PNG

  Extensionsタブをクリックし、Time rangeで3 Yearsに設定して、ApplyをクリックしてからOKをクリックします。
xca61.PNG

  Private-Root-CAのパスワードを入力します。
xca62.PNG

  OKをクリックします。
xca63.PNG

  発行したサーバ証明書を選び、Exportをクリックします。
xca64.PNG

  Apacheのconfフォルダに出力します。
xca65.PNG

  CAのルート証明書を選び、Exportをクリックします。
xca66.PNG

  Apacheのconfフォルダに出力します。
xca67.PNG

  confフォルダにサーバ証明書、秘密鍵、CAのルート証明書があることを確認します。(ルート証明書は使いません。)
xca68.PNG

3.ApacheのSSL設定
 confフォルダにあるhttpd.conf(C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf)を編集します。
 #LoadModule ssl_module modules/mod_ssl.so
 ↓
 LoadModule ssl_module modules/mod_ssl.so

 #Include conf/extra/httpd-ssl.conf
 ↓
 Include conf/extra/httpd-ssl.conf

 confフォルダの中のextraフォルダのhttpd-ssl.conf(C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-ssl.conf)を編集します。
 SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt"
 ↓
 SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/wwwsv.home.localdomain.crt"

 SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key"
 ↓
 SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/wwwsv_nopass.key"

 Stopをクリックして、Apacheを停止します。
xca69.PNG

 Startをクリックして、Apacheを開始します。
xca70.PNG

 Apacheが起動していることを確認します。
xca71.PNG

 Internet Explorerからhttpsでアクセスします。警告無く、It works!と表示されればOKです。
xca72.PNG

xcaを使えば、簡単にサーバ証明書が発行できますね。

次回もお楽しみに!!

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。