ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

独自CAの設定方法(CA.shを利用)

 このコンテンツは、過去に使っていた環境のドキュメントです。 現在は、プログラムのバージョンアップや、運用方針の変更などで、使っていません。 従って、ドキュメントの内容が古くなっている可能性がありますので注意してください。

概要

 本来、セキュアな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の登録するための設定

 ブラウザへ独自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

ブラウザへの独自CAの登録方法

 ブラウザで、以下のURLにアクセスしてみます。 ユーザサポートページなどからリンクしておくと便利です。
  http://www.ash.jp/dir_name/apache.der
 認証の画面が表示されますが、すべて承認([NEXT]か[OK]をクリック)します。 ニックネームを聞く画面が表示された場合は、任意の名前(ASH)を入力します。 ブラウザの「セキュリティ」「署名者」に追加されますので、確認しましょう。



Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp