このコンテンツは、過去に使っていた環境のドキュメントです。 現在は、プログラムのバージョンアップや、運用方針の変更などで、使っていません。 従って、ドキュメントの内容が古くなっている可能性がありますので注意してください。
本来、セキュアなWebサーバを運用するためには、認証局(CA/Certification Authority)から、署名付きの証明書を発行してもらう必要があります。
ただし、独自でCAの証明書を発行し、認証することもできます。
以下に、独自CAの作成方法について説明します。
unix# cd /usr/local/ssl/bin unix# CA.sh -newca CA certificate filename (or enter to create) Enter PEM pass phrase:XXXXXXXX Verifying password - Enter PEM pass phrase:XXXXXXXX Country Name (2 letter code) []:JP State or Province Name (full name) [Some-State]:Ishikawa Locality Name (eg, city) []:Kanazawa Organization Name (eg, company) [Internet Widgits Pty Ltd]:ASH Organizational Unit Name (eg, section) []:Webmaster Common Name (eg, YOUR name) []:www.ash.jp Email Address []:root@ash.jp |
以下のファイルが作成されます。
認証局の証明書: demoCA/cacert.pem
httpsdの使用する秘密鍵: demoCA/private/cakey.pem
unix# CA.sh -newreq Enter PEM pass phrase:XXXXXXXX Verifying password - Enter PEM pass phrase:XXXXXXXX Country Name (2 letter code) []:JP State or Province Name (full name) [Some-State]:ISHIKAWA Locality Name (eg, city) []:KANAZAWA Organization Name (eg, company) [Internet Widgits Pty Ltd]:ASH Organizational Unit Name (eg, section) []:Webmaster Common Name (eg, YOUR name) []:www.ash.jp Email Address []:root@ash.jp A challenge password []:XXXXXXXX An optional company name []:Japan |
以下のファイルが作成されます。
リクエストファイル: newreq.pem
エディタで、秘密キーの部分(PRIVATE KEY)のみを出力します。
w! /usr/local/conf/apachekey.pem
秘密鍵は、以下のような内容となります。
unix# cat /usr/local/conf/apachekey.pem -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,8CE49848BA18C7D3 A6xoV5KU22XiYZkrkEcwahYhv4WSCq7epSf7JrrGt6n4gluQDjPE93j2sGvhW5ky 3Ow48k/87bUPQedhj4cU35K98NPVX4D+3iVpMXMC8sKkHbKFTK4IniylfjVObKSq ZSW2y6xXSib6URyzvWAPh4TvGaZJU1O4AV6LMCZuINgi+LFbcdm2+X9u9tY1xmvl lZMc3LZWwqO33kea9eW0HpHFg36y+ppyM8IIMjydvGD5UMvLyWsOwFyTwssuJbRL Po8nLWz9sEHc0AR3fmUvFndPCXV9X6B8dEzfEiy2unlHtvSEMwGhcJaM0lIaw0ah nwhLgjyUQLEsvVRdgtaWf1tlXvErskExYiaO0UZuKvo= -----END RSA PRIVATE KEY----- |
unix# CA.sh -sign Enter PEM pass phrase:XXXXXXXX Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y |
以下のファイルが作成されます。
CAの署名付きファイル: newcert.pem
エディタで、証明書の部分(CERTIFICATE)のみを出力します。
w! /usr/local/conf/apache.pem
証明書は、いかのような内容となります。
unix# cat /usr/local/conf/apache.pem -----BEGIN CERTIFICATE----- AjAMBgNVBAgTBVRPS1lPMQ8wDQYDVQQHEwZNSU5BVE8xDDAKBgNVBAoTA05FQzEQ MA4GA1UECxMHQklHTE9CRTEeMBwGA1UEAxMVbWVtYmVyMi5iaWdsb2JlLm5lLmpw MSgwJgYJKoZIhvcNAQkBFhlyb290QG5vdzEwNy5hYi5tZXNoLmFkLmpwMB4XDTk5 CSqGSIb3DQEJARYZcm9vdEBub3cxMDcuYWIubWVzaC5hZC5qcDCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAt3uwfpMk/jLHXR6O+3LEDjxEe+vTeKt0j9IEib6g ndk/ueVi+ckZQDxlQXR51yWqyCjaORryyOUjnD8DgprpuNkf9tiy1pwo7U8Y3diV +EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU Wvk1+YKYgSAertTB/cm1uzAzbSYwgcUGA1UdIwSBvTCBuoAUJt5F6ProVLXkCgbz 7eOCY23LFD2hgZ6kgZswgZgxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUT0tZTzEP MA0GA1UEBxMGTUlOQVRPMQwwCgYDVQQKEwNORUMxEDAOBgNVBAsTB0JJR0xPQkUx HjAcBgNVBAMTFW1lbWJlcjIuYmlnbG9iZS5uZS5qcDEoMCYGCSqGSIb3DQEJARYZ cm9vdEBub3cxMDcuYWIubWVzaC5hZC5qcIIBADAkBgNVHREEHTAbgRlyb290QG5v dzEwNy5hYi5tZXNoLmFkLmpwMCQGA1UdEgQdMBuBGXJvb3RAbm93MTA3LmFiLm1l c2guYWQuanAwDQYJKoZIhvcNAQEEBQADgYEAFuYF/R/fHvVEBFHRl6Rh3hsPp6Ko uy4JwAkcl+Mn6mrJ6RurXMk+B/g7pBWXAHIGjTfo7Xj3xqzo/OAO8nwZhzcIsD6K 6qykMVBU377lSws= -----END CERTIFICATE----- |
ブラウザへ独自CAを登録するためには、DERエンコードされた証明書(apache.pem)が必要です。 そこで、認証局の証明書をDERエンコードします。
unix# cd /usr/local/ssl/bin unix# openssl x509 -inform PEM -outform DER < apache.pem > apache.der unix# mv apache.der /usr/local/apache/htm/dir_name/. |
ブラウザでダウンロードするためには、*.derファイルに対する、MIMEタイプを追加する必要があります。
unix# cd /usr/local/conf unix# vi mime.types (以下の1行を追加) application/x-x509-ca-cert der |
ブラウザで、以下のURLにアクセスしてみます。
ユーザサポートページなどからリンクしておくと便利です。
http://www.ash.jp/dir_name/apache.der
認証の画面が表示されますが、すべて承認([NEXT]か[OK]をクリック)します。
ニックネームを聞く画面が表示された場合は、任意の名前(ASH)を入力します。
ブラウザの「セキュリティ」「署名者」に追加されますので、確認しましょう。