サイトをSSL化する(自己署名)
SSL自己証明書の作成
公開する前にサイトをSSLで作成しておくと、公開作業が楽になります。
そのための開発をSSL/TLSで行えるように自己署名の証明書を作成する方法です。
証明書ファイルを作成する場所に移動します
# mkdir tmp # cd tmp
秘密鍵作成
# openssl genrsa -out server.passkey 2048
Generating RSA private key, 2048 bit long modulus
..........+++
..................................+++
e is 65537 (0x10001)
このパスフレーズ有りの鍵の場合、Apacheに設定している場合、
Apache デーモンの起動毎にパスフレーズを聞かれます。
秘密鍵を解除しておきます
# openssl rsa -in server.passkey -out server.key
CSRファイル作成
上記で作成した秘密鍵を元にCSRファイルを作成します。
# openssl req -new -key server.key -out server.csr
実行後、下の様に対話形式で入力を求められるので入力します。
CountryName (2 letter code) [GB]: JP State orProvince Name (full name) [Berkshire]: 空エンター LocalityName (eg, city) [Newbury]: 空エンター OrganizationName (eg, company) [My Company Ltd]: 空エンター OrganizationalUnit Name (eg, section) []: 空エンター CommonName (eg, your name or your server's hostname) []: east19-mikas.com EmailAddress []: 空エンター Pleaseenter the following 'extra' attributes to besent with your certificate request Achallenge password []: 空エンター Anoptional company name []: 空エンター
自己署名証明書作成
通常は上記で作成した CSR ファイルを SSL 証明書発行会社に送って SSL 証明書を発行してもらうのですが、単に暗号化通信を行いたい場合は自作出来ます。
いわゆる自己署名 SSL 証明書の作成です。
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=JP/L=Default City/O=Default Company Ltd/CN=east19-mikas.com
Getting Private key
※例では有効期限は「3650」日です。
ファイルを移動します
作成したSSL証明書ファイルは所定の場所に移動します。
また、移動したファイルのパーミッションを変更し、csrファイルは削除します。
# mv -i server.crt /etc/pki/tls/certs/ # mv -i server.key /etc/pki/tls/private/ # chmod 600 /etc/pki/tls/certs/server.crt # chmod 600 /etc/pki/tls/private/server.key # rm server.csr
ApacheでSSL証明書関連ファイルを配置し設定します
# vi /etc/httpd/conf.d/ssl.conf 60行目 ServerName east19-mikas.com:443 75行目 SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2 100行目 SSLCertificateFile /etc/pki/tls/certs/server.crt 107行目 SSLCertificateKeyFile /etc/pki/tls/private/server.key 116行目 #SSLCertificateChainFile /etc/pki/
設定を終わったらApcheを再起動します。
Apacheの再起動
# systemctl restart httpd
動作確認
ブラウザでサイトにhttpsでアクセスしてみます。
FiaFoxの場合は警告が出て、すぐには表示しませんので、設定変更する必要があります(FirFoxの例)
※警告は最初の一回だけです。例外として許可をすれば、以降はこの警告は出てきません。
詳細⇒危険性を承知で実行・・・を選択すると、以後は、この警告は出ません。
以上、自己署名のSSL証明書の作成方法でした。正式な認証局の証明書の作成方法はこちらです・・・