FreeBSD/ssl
暗号化認証 †
認証キーの作成 †
# openssl genrsa -des 1024 > server.key
パスフレーズを消去する †
# openssl rsa -in server.key -out server.key
とすると、-in で指定されたファイルを読み込み、-outで指定されたファイルにパスフレーズのない認証キーが生成されます。
サイト証明書依頼書の作成 †
# openssl req -new -days 365 -key server.key -out server.csr make csr.pem Country Name (2 letter code) [AU]:JP ←国を入力 State or Province Name (full name) [Some-State]:Nagano ←都市を入力 Locality Name (eg, city) []:Nagano ←町を入力 Organization Name (eg, company) [Internet Widgits Pty Ltd]:ITOH ←会社名などを入力 Organizational Unit Name (eg, section) []: ←必要ない Common Name (eg, your name or your server's hostname) []:www.itoh.net ←アドレスを入力 Email Address []:webmaster@itoh.co.jp ←メール・アドレスを入力 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: ←必要ない An optional company name []: ←必要ない
- keyで指定された認証キーを元に -outで指定されたファイルにサイト証明書依頼書が作成されます。
これは、サイト証明書の発行に必要となります。(手続きのしかたはサイト証明書発行局にお問い合わせください)
httpd.confの修正 †
NameVirtualHost 61.192.219.37:443 #### ma21.ath.cx with SSL <VirtualHost ma21.ath.cx:443> DocumentRoot "/home/www/ma21.ath.cx" ServerName ma21.ath.cx:443 ServerAdmin matsui@ma21.ath.cx ErrorLog /var/log/httpd/error.log SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(js)|(css)$" no_log CustomLog /var/log/httpd/access.log combined env=!no_log SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /usr/local/etc/apache22/server.crt # 証明書 SSLCertificateKeyFile /usr/local/etc/apache22/server.key # 認証キー SSLCertificateChainFile /usr/local/apache2/conf/ssl/dvcacert.cer # 中間証明書 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/usr/local/www/apache22/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog /var/log/httpd/httpd-ssl_request.log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
補足.確認方法など †
1. 秘密鍵の内容を確認
# openssl rsa -text -noout -in /[FilePath]/[KeyFile]
2. CSRの内容を確認
# openssl req -text -noout -in /[FilePath]/[CSR]
3. 証明書の内容を確認
# openssl x509 -text -noout -in /[FilePath]/[CertFile]