カスタム検索
このエントリーをはてなブックマークに追加
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

SSLと証明書の利用

Modified: 9 June 2004


証明書取得のための要求ファイル(CSR)の作成

要求ファイルから自己署名の証明書(自前の証明書)の作成

証明書の設定

証明書の発行会社のリンク


 証明書取得のための要求ファイル(CSR)の作成

CSR(Certificate Signing Request)を生成する

乱数ファイルを作ります。

# openssl md5 * > server.dat

"server.dat"の内容は以下のような内容でした。(安全のため、数字は適当に書き換えてます)

MD5(anaconda-ks.cfg)= 8950cfb6c0c76e4d09df74b7404064ca
MD5(httpd.conf)= 7b19fe0c31ddaebbe6ca7ab5d738dac1
MD5(install.log)= afcee80c607d89192e5aa10ecbebe2cc
MD5(install.log.syslog)= d41d8cd98f22b204e9800998ecf8427e
MD5(php.ini)= 7bbf668d0c2e4ceaee6ad6f3f4be4b7a
MD5(tomo)= d41d8cd98f00b204e9800668ecf8427e
MD5(webdav)= d41d8cd98f00b204e6800998ecf8427e

秘密鍵(RSA鍵、暗号化アルゴリズムはDES3、鍵長1024ビット)を作成します。

# openssl genrsa -rand server.dat -des3 1024 > server.key
351 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
.........++++++
...........................................++++++
e is 65537 (0x10001)
Enter PEM pass phrase: ********
Verifying password - Enter PEM pass phrase: ********
#

設定したパスワードは、インストール時に入力します。

秘密鍵からCSRを作成します。

会社名や住所などを入力すると、CSRが作成されます。

# openssl req -new -key server.key -out server.csr
Using configuration from /usr/share/ssl/openssl.cnf
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) [GB]:JP
State or Province Name (full name) [Berkshire]:Nara
Locality Name (eg, city) [Newbury]:Nara
Organization Name (eg, company) [My Company Ltd]:Goodstream Inc.
Organizational Unit Name (eg, section) []:Development Center
Common Name (eg, your name or your server's hostname) []:tomo.ac
Email Address []: <Enter>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <Enter>
An optional company name []: <Enter>
#

秘密鍵("server.key")は、以下のような内容でした。

秘密鍵のファイルは、別のメディアに移動し、他人には見えないようしなくてはなりません。

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CCFD3C483A2DF31C

/k2Nz3CWNlyz4n5JWbxqIMztjO+0BZ09hD8HtOkeE7GdN6ta6H0BktgmCUWll8/A
jVWSEIfc7mgJf3187219Ov4rUILucrKfhfxRRKD041DyixwLDIJVYKJ726nhVUXx
GWIvUUW2OhhuQ06cWmYpxBEv2DlgAWx/hTqFKbRabA0gg4yxZ/ArvbfIaT2GkuIl
8YDPgRFBNmuumpm6SL2ZkFgTOnXOtM/Whel05QmqL5iGxj8QgXlZiZulyIZ51NNH
RAj6gVHd1IRbzCwZU7sMxcyKmEWXGRZihkrVKZQ1d3jlz3AZMPALS2UwJBtRmWJ9
+qoO4kI2EGsu/saDUoMUaqItkGnFW+9Nh8SpWXILmAD7myQUVXeP8qkxQ4SZT9wX
eP7nNU6OQdh8ZucJ9UO8KadWiOrkm2nehRKjj1hlwDsiavK0Uyz5iObINULVVvmH
OF7HR5f0iO31i3PiydljGz1yusQ/aRAUh4/bgGZ8JYkafgdswEukNa3gPP2i11L8
zGYOeHQmEUysQjXLb7art6jjXl88iCyAhptqw0MEoMnd9bWRxMKycZqjoK2UNGhZ
uaY5n/jZHdjnQs0cSBTLTyFJvNAA87qfhefALuTgT07+CfW3jSnUPFv1AzDNaVev
AsLWW0KA9idpfamNkT/vcF4btHWY4zDfh5lvaFzrHPY5HTOnz/pSj2v3jB78vp5U
CsbFlhIFSnrfD6fESLhreR8WC+jZ92Ihh7KGPpm1XZZC1PObm+kKcH44LrnXLyam
bD8JjWig/dJYisljdQUm5Kgq51fiajB6h6dRP7brPJYYnokAu2B3oQ==
-----END RSA PRIVATE KEY-----

証明書要求ファイル("server.csr")は、以下のような内容でした。

このファイルは、証明書申請のため、発行企業(ベリサイン社など)に送付します。

-----BEGIN CERTIFICATE REQUEST-----
MIIB2DCCAUECAQAwgZcxCzAJegNVBAYTAkpQMQ0wCwYDVQQIEwROYXJhMQ0wCwYD
VQQHEwROYXJhMRgwFgYDVQQKew9Hb29kc3RyZWFtIEluYy4xGzAZBgNVBAsTEkRl
dmVsb3BtZW50IENlbnRlcjEQeA4GA1UEAxMHdG9tby5hYzEhMB8GCSqGSIb3DQEJ
ARYSdG9tb2FjQGluZm9zZWVrenRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQC3UZC25dPHJpaJ4nnqFkMXeVHVBaEG4p6ivC4M2+PvGZMxmeHsepi5O6lMnByS
4+ttmHrEPDAc//VxpJOhGkWQevB2fb9ZBG72xJxknq5l4AH7d3zMnd+mBUvI7KTQ
+0zEJ5eqHLDJ5Sdp2ZVTKyoWe6FE5h/zrjZ+4Bhni2JQKQIDAQABoAAwDQYJKoZI
hvcNAQEEBQADgYEADcTga+4iefVKM4QRtaDQRYQmss0MMv5JuMy0zAVSOBknMzOU
lR5wjbz0wU9GYJJLUef6Tc77eJBx7KXqWiCUt6Q3OjpnvkpF6QE6WEMdkJxb49lx
plKwln2juXC5ELsFMPvcbz1BeVzJBbuIEX5PDRqGdwl2qz0y2OljuSwHNpg=
-----END CERTIFICATE REQUEST-----

 要求ファイルから自己署名の証明書(自前の証明書)の作成

自己署名証明書の作成

認証局を使わなくても暗号化通信はできます。自分が認証局としての立場をとれば自前の証明書を発行できます。

以下のコマンドで、自前の自己署名証明書を作成します。

# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
Signature ok
subject=/C=JP/ST=Nara/L=Nara/O=Goodstream Inc./OU=Development Center/CN=tomo.ac/Email=tomoac@infoseek.to
Getting Private key
Enter PEM pass phrase: ********
#

作成できた証明書("server.crt") は、以下のような内容でした。

-----BEGIN CERTIFICATE-----
MIICnzCCAggCAQAwDQYJKoZIhvcNAQEEBQAwgZcxCzAJBgNVBAYTAkpQMQ0wCwYD
VQQIEwROYXJhMQ0wCwYDVQQHEwROYXJhMRgwFgYDVQQKEw9Hb29kc3RyZWFtIElu
Yy4xGzAZBgNVBAsTEkRldmVsb3BtZW50IENlbnRlcjEQMA4GA1UEAxMHdG9tby5h
YzEhMB8GCSqGSIb3DQEJARYSdG9tb2FjQGluZm9zZWVrLnRvMB4XDTA0MDYwMjEy
MzIzNVoXDTA1MDYwMjEyMzIzNVowgZcxCzAJBgNVBAYTAkpQMQ0wCwYDVQQIEwRO
YXJhMQ0wCwYDVQQHEwROYXJhMRgwFgYDVQQKEw9Hb29kc3RyZWFtIEluYy4xGzAZ
BgNVBAsTEkRldmVsb3BtZW50IENlbnRlcjEQMA4GA1UEAxMHdG9tby5hYzEhMB8G
CSqGSIb3DQEJARYSdG9tb2FjQGluZm9zZWVrLnRvMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQC3UZC25dPHJpaJ4nnqFkMX+VHVBaEG4p6ivC4M2+PvGZMxmeHs
epi5O6lMnByS4+ttmHrEPDAc//VxpJOhGkWQKvB2fb9ZBG72xJxknq5l4AH7d3zM
nd+mBUvI7KTQ+0zEJ5e88LDJ5Sdp2ZVTKyoWd6FE5h/zrjZ+4Bhni2JQKQIDAQAB
MA0GCSqGSIb3DQEBBAUAA4GBAD+WV1fs8czUHtOcmm42nTWbOCQSBH2YGsrzMhtt
gRsU/jxVUq4m9Q/BexJsMjnFijgHgcgCTQCfY5CEEvXpduO5W1ujLHG8pObRNTN2
JOtvd8QEBLSPcwkBHXZxJaKV9bPX5HlGa21G1xbR+HBaloGT+BC4sypWReyzuYvC
rSDf
-----END CERTIFICATE-----


証明書の発行会社が行う作業は、基本的には同じです。
したがって、証明書を発行されたら、上記のような内容のファイルが提供されますので、それを、"xxxxxx.crt" で保存します。


 証明書の設定

デフォルトの状態の確認

RedhatLinux7.3のデフォルトでは、自己証明の証明書がインストールされています。

https://192.168.0.49

したがって、以下のダイアログが出てきます。

「証明書の表示」を見ると、以下のようになっています。


証明書のインストール

作成した証明書と秘密鍵のファイルの位置を決めます。

私は、"/etc/httpd/conf/ssl" を作成し、コピーしました。

証明書のファイルを、"httpd.conf" に指定します。

      :

SSLCertificateFile /etc/httpd/conf/ssl/server.crt

      :

秘密鍵のファイルを、"httpd.conf" に指定します。

      :

SSLCertificateKeyFile /etc/httpd/conf/ssl/server.key

      :

再起動します。

# /etc/init.d/httpd restart
httpdを停止中:                                             [  OK  ]
httpdを起動中: [Wed Jun  2 22:44:19 2004] [warn] Loaded DSO /opt/coldfusionmx/runtime/lib/wsconfig/1/mod_jrun.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with -DEAPI)

Apache/1.3.27 mod_ssl/2.8.12 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server localhost:443 (RSA)
Enter pass phrase:
Apache:mod_ssl:Error: Pass phrase empty (needs to be at least 1 character).
Enter pass phrase: ********
Apache:mod_ssl:Error: Pass phrase empty (needs to be at least 1 character).
Enter pass phrase: ********

Ok: Pass Phrase Dialog successful.
Ok: Pass Phrase Dialog successful.
                                                           [  OK  ]
#

すると、まず、以下のように変わります。

有効にするために、「証明書のインストール」をクリックします。

「完了」をクリックすると、以下の確認ダイアログが出ますので、「はい」をクリックします。

成功すると、以下のメッセージボックスが出ます。

改めて開くと、以下のように、「。。。保証する」となりました。


  証明書の発行会社のリンク

証明書の発行会社

日本コモド社のサイトに、比較表がありました。
http://www.comodojapan.com/enterprisessl/comparison/index.html


日本ベリサイン株式会社

http://www.verisign.co.jp/server/

Geo Trust Japan

http://www.geotrust.co.jp/

Thawte Japan

http://www.jp.thawte.com/

日本コモド - Comodo Japan

http://www.comodojapan.com/

セコム - Secom

http://www.secomtrust.net/service/ninsyo/forweb.html


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)
カスタム検索



このエントリーをはてなブックマークに追加