Fedora 10
Sponsored Link

SSL 設定2008/11/30

  SSLをインストールしたので暗号化通信ができるよう設定しておきます。証明書は独自に作成し利用します。 しかし独自に作成した証明書ではアクセス時に警告が出るため、商用で使う場合は ベリサイン 等の正規の認証局が発行する証明書を利用した方がよいでしょう。
[root@www ~]#
cd /etc/pki/tls/certs

[root@www certs]#
make server.key

umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > server.key

Generating RSA private key, 1024 bit long modulus
......................................................++++++
.............++++++
e is 65537 (0x10001)
Enter pass phrase:
# パスフレーズ入力

Verifying - Enter pass phrase:
# 再入力

[root@www certs]#

# 毎回パスフレーズの入力を求められるのは面倒なため秘密鍵からパスフレーズを削除

[root@www certs]#
openssl rsa -in server.key -out server.key

Enter pass phrase for server.key:
# パスフレーズ入力

writing RSA key
[root@www certs]#
[root@www certs]#
make server.csr

umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr

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) [GB]:
JP
 
# 国

State or Province Name (full name) [Berkshire]:
Hiroshima
 
# 地域(県)

Locality Name (eg, city) [Newbury]:
Hiroshima
 
# 都市

Organization Name (eg, company) [My Company Ltd]:
Server Linux
 
# 組織名

Organizational Unit Name (eg, section) []:
IT Solution
 
# 組織の部門名

Common Name (eg, your server's hostname) []:
www.srv.world
 
# サーバーのFQDN

Email Address []:
root@srv.world
 
# メールアドレス

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
# 空Enter

An optional company name []:
# 空Enter

[root@www certs]#
[root@www certs]#
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
  # 有効期限が10年の証明書を作成

Signature ok
subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=Server Linux/OU=IT Solution/CN=www.srv.world/emailAddress=root@srv.world Getting Private key
[root@www certs]#
chmod 400 server.*

[root@www certs]#
[root@www certs]#
vi /etc/httpd/conf.d/ssl.conf


# 78行目:行頭の#を削除

DocumentRoot "/var/www/html"

# 79行目:#を削除しサーバー名指定

ServerName
www.srv.world:443


# 106行目:証明書指定

SSLCertificateFile
/etc/pki/tls/certs/server.crt


# 113行目:秘密鍵指定

SSLCertificateKeyFile
/etc/pki/tls/certs/server.key


[root@www certs]#
/etc/rc.d/init.d/httpd restart

Stopping httpd:
[ OK ]

Starting httpd:
[ OK ]

前節(2)で作ったテストページに https でアクセスしてみます。独自証明書なので以下のような警告が出ます。
 
「はい」をクリックすると以下のように正常にアクセスすることができます。 しかし独自証明書は以上のような警告が出るため(暗号化通信には全く問題ないのですが)、 利用機会というと、知り合い同士での暗号化通信が必要なときくらいで、 不特定多数の人には信頼性が薄くなるため、 あまり実用性はないかもしれません。
 
関連コンテンツ