Httpd

2014-05-14, httpd

SSL証明書の取得とインストール

今回はRapidSSLを使用しました。例中ではssl.lmlab.asiaというコモンネームに対する証明書の申請をしています。ファイル名等にこの名前を使用してはいますが、実際は適当な名前で構いません。

まずは、秘密鍵(.key)と証明書要求(.csr)を作成します。

# openssl genrsa -out ssl.lmlab.asia.key 2048
# openssl req -new -key ssl.lmlab.asia.key -out ssl.lmlab.asia.csr
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []: ***
Locality Name (eg, city) [Default City]: ***
Organization Name (eg, company) [Default Company Ltd]:LumberMill, Inc.
Organizational Unit Name (eg, section) []:Dev
Common Name (eg, your name or your server's hostname) []:ssl.lmlab.asia
Email Address []: ***

CSRの中身を貼り付けて申請し、無事審査を通過したら証明書一式が送られてきます。メール本文に貼り付いているものは、適当にコピー&ペーストでサーバのファイルに保存してしまいましょう。今回、X.509とPKCS#7の2種類が届きましたが、とりあえず(よく考えずに)X.509を貼り付けています。

# vi ssl.lmlab.asia.crt

中間証明書とルート証明書も同時に提供されますが、これは入れなくても動いてしまいました。はて?

未使用の証明書たち…
RapidSSL_CA_bundle.pem
GeoTrust_Global_CA.cer

Apacheから利用出来るようにします。既存のssl.confを弄っても良いのですがコメントが多くて見通しが悪いのと、できれば複数のホストを切り分けられるようにしたかったので、改めてまとめなおしてみました。ほとんどオリジナルと一緒ですけれど、ログファイルの名前なんかが微妙に違います。

Listen 443
LoadModule ssl_module modules/mod_ssl.so
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

<VirtualHost *:443>
    LogLevel warn
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

    SSLCertificateFile /etc/pki/tls/certs/ssl.lmlab.asia.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ssl.lmlab.asia.key

    SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

    CustomLog logs/ssl.lmlab.asia-request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    ErrorLog logs/ssl.lmlab.asia-error_log
    TransferLog logs/ssl.lmlab.asia-access_log

    ServerName ssl.lmlab.asia
    ServerAdmin info@ssl.lmlab.asia
    DocumentRoot /opt/ssl.lmlab.asia/pub
    Alias /res /opt/ssl.lmlab.asia/res
    php_value display_errors 1
</VirtualHost>

参考URL

この記事は役に立ちましたか?