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のインストール
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でサーバ証明書の発行
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"
xcaを使えば、簡単にサーバ証明書が発行できますね。
次回もお楽しみに!!
1.Apache2.2.21のインストール
httpd-2.2.21-win32-x86-openssl-0.9.8r.msiをダブルクリックで起動します。
Nextをクリックします。
I accept…にチェックを入れ、Nextをクリックします。
Nextをクリックします。
ドメイン、サーバ名(FQDN)、メールアドレスを入力します。必要に応じてhostsファイルにIPアドレスとホスト名を記述します。
Nextをクリックします。
Nextをクリックします。
Installをクリックします。
Finishをクリックします。
Internet Explorerでhttpアクセスを行います。It works!と表示されればOKです。
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でデータベースをオープンします。
Private-Root-CAを選びます。
Private-Root-CAのDBのパスワードを入力します。
Certicate singning requestsのタブをクリックし、右ペインのInportをクリックします。
先ほど作成したCSR(Apacheのインストールフォルダのconfフォルダ)を選びます。
OKをクリックします。
Certificatesタブをクリックし、New Certificateをクリックします。
Signing requestに作成したCSRを選び、SigningでPrivate-Root-CAを選び、Templateで[default]HTTPS_serverを選んで、Apply allをクリックします。
Extensionsタブをクリックし、Time rangeで3 Yearsに設定して、ApplyをクリックしてからOKをクリックします。
Private-Root-CAのパスワードを入力します。
OKをクリックします。
発行したサーバ証明書を選び、Exportをクリックします。
Apacheのconfフォルダに出力します。
CAのルート証明書を選び、Exportをクリックします。
Apacheのconfフォルダに出力します。
confフォルダにサーバ証明書、秘密鍵、CAのルート証明書があることを確認します。(ルート証明書は使いません。)
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を停止します。
Startをクリックして、Apacheを開始します。
Apacheが起動していることを確認します。
Internet Explorerからhttpsでアクセスします。警告無く、It works!と表示されればOKです。
xcaを使えば、簡単にサーバ証明書が発行できますね。
次回もお楽しみに!!
コメント 0