SSLの利用(認証局SSL)

商用の場合は、認証局に署名してもらって運用すると思いますが

結構お金かかりますよね。。。(年数万円ぐらい)

まぁ、個人なら自己証明で十分かと思いますが('~')

CAcert.orgだったら無償で利用できますが

ブラウザーが対応していないので警告がでるのと

半年に一回更新する必要があります。

あと、日本語訳のページもあるのでわかりやすいかと思います。

■OpenSSLのインストール

こいつが無いと始まらないのでここからDownLoadしてきます。

$ wget URL

$ tar zxvf xxx.tar.gz

$ cd xxx

$ ./config

$ make

$ make test

# make install

インストール先を指定しない場合

/usr/local/sslにインストールされます。

■Apacheの変更

$ ./configure --enable-module=so \

--with-ssl=/usr/local/ssl --enable-ssl

$ make

# make install

# /usr/local/apache2/bin/httpd -l

mod_ssl.c が表示されればOK

■鍵の作成・秘密鍵

# cd /usr/local/etc/apache2

# mkdir ssl

# cd ssl

# /usr/local/ssl/bin/openssl genrsa -rand /var/log/messages \

-des3 -out ./server.key 1024

※パスフレーズを聞かれますので忘れないように。

・CSR

# /usr/local/ssl/bin/openssl req -new -key ./server.key \

-out ./server.csr

Country Name (2 letter code)[AU]: 国

State or Province Name (full name)[Some-State]: 都道府県名称

Locality Name (eg, city)[]: 市区郡町村名

Organization Name(eg, company)[Internet Widgits Pty Ltd]: 組織名称(会社名など)

Organization Unit Name (eg, section)[]: 組織内名称(部門名など)

Common Name (eg, your name or your server's hostname)[]: 管理者またはサーバの名称

Email Address []: 管理者の電子メールアドレス

これで、server.keyとserver.csrが出来たと思います。

# chmod 600 server.key

一応ね。

■CAcert.orgへ登録

CAcert.orgにアクセスし登録を行います。

※アカウント登録が必要

完了すればkeyがいただけます。

# vi server.crt

-----BEGIN CERTIFICATE-----

から

-----END CERTIFICATE-----

まですべてをコピペ。

■自己署名証明書でよければ

#/usr/local/ssl/bin/openssl x509 -in server.csr \

-out server.crt -req -signkey server.key -days 365

■ssl.confの修正

# vi /usr/local/apache2/conf/ssl.conf

ほとんどそのままでいいのですが

DocumentRootとか自分の環境に合わせて修正SSLCertificateFile ・・・

SSLCertificateFile /usr/local/apache2/ssl/server.crt

SSLCertificateKeyFile ・・・

SSLCertificateKeyFile /usr/local/apache2/ssl/server.key

■起動

#/usr/local/apache2/bin/apachectl startssl

パスフレーズ入れたら立ち上がって、ブラウザーから

https://~ でアクセスして見れればOK

■自動起動さすには?

Apache立ち上げる度にパスフレーズきかれるので

うぜーって思う人は

# cd /usr/local/apache2/ssl

# mv server.key server.key.org

# /usr/local/ssl/bin/openssl rsa -in server.key.org -out server.key