1:作業環境の作成
証明書等の作成等に使用するディレクトリを作成します。
2:openssl.cnfの修正
/etc/ssl/openssl.cnfの下記のコメントアウトされた箇所を有効にします。
[ usr_cert ]
# nsCertType = server
nsCertType = server
[ v3_ca ]
# nsCertType = sslCA, emailCA
nsCertType = sslCA, emailCA
3:テスト用認証局(CA)用の秘密鍵、証明書の作成
テスト用の認証局を作成します。
正規の認証局に証明書を発行してもらう場合には、3:~5:の作業は不要です。
1:で作成したディレクトリに移動し、CA.plで新しい認証局の作成(newca)を行います。
# cd /usr/local/certs # /usr/share/ssl/misc/CA.pl -newca |
CA.plの実行中に、下記の入力が要求されます。該当する値を入力します。
1) Enter PEM pass phrase:
CA用のパスフレーズを入力します。(入力内容は非表示です)
2) Verifying - Enter PEM pass phrase:
確認用に、同じパスフレーズを入力します。(入力内容は非表示です)
3) Country Name (2 letter code) [AU]:
認証局の所在地の国名を、2字国名コードを入力します。 例)日本の場合⇒JP
4) State or Province Name (full name) [Some-State]:
認証局の所在地の都道府県名を英語で入力します。 例)東京都の場合⇒Tokyo
5) Locality Name (eg, city) []:
認証局の所在地の市区町村名を英語で入力します。 例)杉並区の場合⇒Suginami
6) Organization Name (eg, company) [Internet Widgits Pty Ltd]:
認証局を運営する組織の正式名称を英語で入力します。
テスト用ですので、任意の内容で問題ありません。
7) Organizational Unit Name (eg, section) []:
認証局の運営組織内での部署名等を入力します。任意の名称を入力して下さい。
8) Common Name (eg, YOUR name) []:
認証局の名称を入力します。任意の名称を入力して下さい。
9) Email Address []:
連絡先となるメールアドレスを入力します。
テスト認証局ですので、適当なメールアドレスを入力して下さい。
10) A challenge password []:
Apacheを起動する度に、ここで指定したパスワードの入力が求められます。
空欄にすると入力を要求されないので、空欄のままをおすすめします。
11) An optional company name []:
会社名の略称等を入力します。特に必要は無い為、空欄のままで問題ありません。
処理が完了しましたら、1:で作成したディレクトリ内に、「demoCA」というディレクトリが
作成されていることを確認して下さい。
4:サーバ用のCA証明書(cacert.crt)の作成
下記のコマンドを実行し、サーバ用のCA証明書ファイルを作成します。
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt |
5:CA証明書をブラウザにインポートする為のファイル(ca.der)の作成
下記のコマンドを実行し、ca.derファイルを作成します。
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der |
6:CA送付用のデジタル証明書リクエストファイル、及びサーバー用秘密鍵作成
CA.plでリクエストファイル(CSR)の作成を行います。
# /usr/share/ssl/misc/CA.pl -newreq-nodes |
CA.plの実行中に、3:で要求された入力の3) ~11) と同じ文言で、入力が要求されます。
3:では認証局の内容で入力しましたが、こちらはサイトの運営組織の内容で入力します。
6) の組織の正式名称ですが、ドメイン取得時に利用した組織名称を利用して下さい。
※テスト時は任意で構いません。
8) の名称には、HTTPS通信を行うドメインを入力して下さい。
※https://example.comの場合、example.comと入力して下さい。
処理が完了すると、リクエストファイル(newreq.pem)と同時に秘密鍵(newkey.pem)が
作成されます。
7:サーバー用証明書の作成
CA.plでX.509サーバ証明書の作成と署名を行います。
正規の認証局に証明書を発行してもらう場合には、この作業は不要です。
下記のserver.crtが、提供されたサーバー証明書ファイルに置き換わります。
# /usr/share/ssl/misc/CA.pl -sign |
1) Sign the certificate? [y/n]:
署名の確認です。「y」を入力します。
2) 1 out of 1 certificate requests certified, commit? [y/n]
処理を確定するかどうかの確認です。「y」を入力します。
処理が完了しましたら、作成されたファイル「newcert.pem」より、サーバー証明書部分
のみを切り出したファイル「server.crt」を作成します。
# openssl x509 -in newcert.pem -out server.crt |
8:Apache起動スクリプトの修正
/etc/sysconfig/apache2の「APACHE_SERVER_FLAGS」に、「SSL」を追加します。
APACHE_SERVER_FLAGS="-D SSL"
※Suseの場合は、Yastの「/etc/sysconfig エディタ」より修正して下さい。
9:vhost_ssl.confの設定
/etc/apache2/vhosts.d/vhost_ssl.templateを利用して、vhost_ssl.confを作成します。
# cd /etc/apache2/vhosts.d # cp vhost-ssl.template vhost-ssl.conf |
vhost_ssl.conf内の下記のパラメータを編集していきます。 ※/usr/local/certs部分は、1:で作成したディレクトリになります。
1) サーバー用証明書の指定
編集前:SSLCertificateFile /etc/apache2/ssl.crt/server.crt
編集後:SSLCertificateFile /usr/local/certs/server.crt
2) サーバー用秘密鍵の指定
編集前:SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
編集後:SSLCertificateKeyFile /usr/local/certs/newkey.pem
10:Apache再起動・接続確認
上記の設定が全て完了しましたら、Apacheを再起動して下さい。
※正規の認証局に証明書を発行してもらう場合には、再起動前にCA証明書をインス
トールする必要があります。
再起動が完了しましたら、https://(BIサーバURL)で接続を確認して下さい。
続きを隠す<<