Solaris 10
Sponsored Link

SSL 設定2008/08/16

  SSLでの暗号化通信ができるように設定します。証明書は独自に作成して使用することにします。 しかし独自に作成した証明書ではアクセス時に警告が出るため、商用で使う場合は ベリサイン 等の正規の認証局が発行する証明書を利用した方がよいでしょう。
#
vi /etc/sfw/openssl/openssl.cnf


# 43行目:変更

dir =
/etc/sfw/openssl/demoCA


# 47行目:コメント解除

unique_subject = no

#
cd /etc/sfw/openssl

#
perl /usr/sfw/bin/CA.pl -newca

CA certificate filename (or enter to create)

Making CA certificate ...
Generating a 1024 bit RSA private key
.......++++++
...........++++++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:
# パスフレーズ

Verifying - Enter PEM pass phrase:
-----
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) [US]:
JP

State or Province Name (full name) [Some-State]:
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 name) []:
www.srv.world

Email Address []:
root@srv.world

#
mkdir /etc/apache2/certs

#
openssl req -new -keyout /etc/apache2/certs/server.key -out csr.pem

Generating a 1024 bit RSA private key
...........++++++
....................++++++
writing new private key to '/etc/apache2/certs/server.key'
Enter PEM pass phrase:
# パスフレーズ入力

Verifying - Enter PEM pass phrase:
-----
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) [US]:
JP

State or Province Name (full name) [Some-State]:
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 name) []:
www.srv.world

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

#
openssl rsa -in /etc/apache2/certs/server.key -out /etc/apache2/certs/server.key

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

writing RSA key
#
openssl ca -out server.crt -infiles csr.pem

Using configuration from /etc/sfw/openssl/openssl.cnf
Enter pass phrase for /etc/sfw/openssl/demoCA/private/cakey.pem:  
# パスフレーズ入力

Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)

Validity

Not Before: Oct 9 11:42:19 2007 GMT

Not After : Oct 8 11:42:19 2008 GMT

Subject:

countryName
= JP

stateOrProvinceName
= Hiroshima

organizationName
= Server Linux

organizationalUnitName
= IT Solution

commonName
= ns.srv.world

emailAddress
= root@srv.world

X509v3 extensions:

X509v3 Basic Constraints:

CA:FALSE

Netscape Comment:

OpenSSL Generated Certificate

X509v3 Subject Key Identifier:

XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX

X509v3 Authority Key Identifier:

keyid:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX

DirName:/C=JP/ST=Hiroshima/L=Hiroshima/O=Server World/OU=IT Solution/CN=ns.srv.world/emailAddress=root@srv.world


serial:00


Certificate is to be certified until Oct 8 11:42:19 2008 GMT (365 days)
Sign the certificate? [y/n]:
y


1 out of 1 certificate requests certified, commit? [y/n]
y

Write out database with 1 new entries
Data Base Updated
#
cp server.crt /etc/apache2/certs/server.crt

#
vi /etc/apache2/ssl.conf


# 87行目:サーバー名指定

ServerName
www.srv.world:443


# 88行目:管理者アドレス指定

ServerAdmin
root@srv.world


# 112行目:変更

SSLCertificateFile
/etc/apache2/certs/server.crt


# 120行目:変更

SSLCertificateKeyFile
/etc/apache2/certs/server.key


#
svccfg

svc:>
select apache2

svc:/network/http:apache2>
editprop


# 7行目:コメント解除し変更

setprop httpd/ssl = boolean: (
true
)

svc:/network/http:apache2>
quit


#
svcadm refresh apache2

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