SSL認証

SSL証明書を取得し、新規でインストールする為の手順となります。

CSR生成

以下の環境を前提として説明を記述します。 環境に合わせて読み替えてご覧ください。

コモンネーム example.com
Apache設定ファイルまでのパス /opt/csw/apache2/etc/
秘密鍵の保存ディレクトリ /opt/csw/apache2/etc/ssl.key/
CSRの保存ディレクトリ /opt/csw/apache2/etc/ssl.csr/
秘密鍵のファイル名 ssl.example.com.key
CSRファイル名 ssl.example.com.csr

ディレクトリ作成

$ su
# cd /opt/csw/apache2/etc
# mkdir ssl.key
# mkdir ssl.csr

秘密鍵の生成

# openssl genrsa -des3 -out ./ssl.key/ssl.example.com.key 1024

以下のログが表示されます。

Generating RSA private key, 1024 bit long modulus
...........................++++++
.++++++
e is 65537 (0x10001)
Enter pass phrase for ./ssl.key/ssl.example.com.key:
Verifying - Enter pass phrase for ./ssl.key/ssl.example.com.key:

パスフレーズを入力してください。 ssl.example.com.keyが作成された事を確認します。

# ls ssl.key
ssl.example.com.key

CSRの生成

# openssl req -new -key ./ssl.key/ssl.example.com.key -out ./ssl.csr/ssl.example.com.csr

以下のようなログが出力され、対話形式で情報入力を求められます。

Enter pass phrase for ./ssl.key/ssl.example.com.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) []:Koto-ku        
Organization Name (eg, company) []:Netcube
Organizational Unit Name (eg, section) []:-
Common Name (eg, YOUR name) []:example.com
Email Address []:            

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
フィールド 内容
Country Name 国を示す2文字のISO略語 日本の場合はJPと記入 JP
State or Province Name 組織が置かれている都道府県 Tokyo
Locality Name 組織が置かれている市区町村 koto-ku
Organization Name 組織の名称 Netcube.inc
Organization Unit Name 組織の部署名 指定が無い場合はハイフンを入力 -
Common Name ウェブサーバのFQDN example.com
Email Addres E-mailアドレス 入力不要
A challenge password Apache起動時に求められるパスワード 入力不要
An optional company name会社の別名表記、略称 入力不要

CSRの確認

# cat ssl.csr/ssl.example.com.csr 

SSL証明書の発行をする際に必要となります。 破線も含めてコピーし、申請の際に利用します。

※下記のCSRは参考です。
-----BEGIN CERTIFICATE REQUEST-----
MIIBsDCCARkCAQAwcDELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMRAwDgYD
VQQHEwdLb3RvLWt1MRAwDgYDVQQKEwdOZXRjdWJlMQowCAYDVQQLEwEtMSEwHwYD
VQQDExh3YXRhbmFiZS56b25lLWV4cHJlc3MuanAwgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBabczBGH4Onvb/I57swKy65W3L70zgzp6WE5tB0t0Z1QtgcBOOL+n
kZ63DNEhtCbIuVBQEOm2FjY5wKO6bEtR39llxyz1r0n3sPK62f0zX49AFBB7XFYF
MeFHUSpGDPlKJQf/pEzidw82q01zNzwiPhtVmX/neVS99Sd4/9lab12dAgMBAAGg
ADANBgkqhkiG123BAQUFAAOBgQBipKldWJ/gZx5gcJvE3fyQh5joAeCVsdHpXVo0
mbwo8hy1aWG1oNNMhLCHLgArrdWZwXqEzulsw0Jgj2TWdgupG1iBkKh0A0LdiUEs
C46Wv7keV7XrKerD7Ea9vvjZB39pxNeMlu3WHjUB+8JxD+J6Z+6WCZ1H62MGueC3
gUtT/Q==
-----END CERTIFICATE REQUEST-----

SSL証明書の発行

SSL証明書発行の手続きをSSL証明書発行会社で行ってください。

SSL証明書インストール

以下の環境を前提として説明を記述します。 環境に合わせて読み替えてご覧ください。

コモンネーム example.com
Apache設定ファイルまでのパス /opt/csw/apache2/etc/
SSL設定用confファイル /opt/csw/apache2/etc/extra/ssl.conf
証明書の保存ディレクトリ /opt/csw/apache2/etc/ssl.crt/
サーバ証明書ファイル名 ssl.example.com.crt
中間証明書ファイル名 dvcacert.cer

ディレクトリ作成

# cd /opt/csw/apache2/etc
# mkdir ssl.crt

証明書保存

SSL発行会社より、発行されたSSL証明書をコピーし /opt/csw/apache2/etc/ssl.crt/にssl.example.com.crtとして保存します。

# cd ssl.crt
# vi ssl.example.com.crt 

発行されたSSL証明書をssl.example.com.crtに書き込みます。

中間証明書の保存

SSL発行会社より提示された中間証明書を /opt/csw/apache2/etc/ssl.crt/に dvcacert.cerとして保存します。

# vi dvcacert.cer

秘密鍵のパスフレーズを解除

# cd /opt/csw/apache2/etc/ssl.key
# openssl rsa -in ssl.example.key -out ssl.example.key

Apacheの設定ファイル変更

# cd /opt/csw/apache2/etc/extra/
# vi ssl.conf

下記の記述をssl.confに追記してください。

<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot "/opt/csw/apache2/share/htdocs"
ServerName example.com

SSLEngine on
SSLCertificateChainFile /opt/csw/apache2/etc/ssl.crt/dvcacert.cer
SSLCertificateFile /opt/csw/apache2/etc/ssl.crt/ssl.example.crt
SSLCertificateKeyFile /opt/csw/apache2/etc/ssl.key/ssl.example.key
</VirtualHost>

Apacheの再起動

Apacheの再起動

# svcadm restart http

エラー確認

# svcs -xv

何も表示されない事を確認。

プロセス確認

# ps -ef | grep http

httpdが起動している事を確認。

サイト確認

アドレスバーにhttpsでURLを入力し、表示したいサイトにアクセスします。

正式に認証されている場合、特に警告等が表示されずにページが表示されます。

ブラウザのステータスバー(ブラウザにより異なる)に鍵マークがついている事を確認してください。
※ブラウザの設定によってはステータスバーが非表示となっている場合があります。

鍵マークをダブルクリックする事で証明書の内容を確認する事ができます。

apache/ssl認証.txt · 最終更新: 2009/06/02 14:43 (外部編集)
SolarisVPS/ZoneExpress Boot OpenSolaris Creative Commons License Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0