【ssl証明書の申請とインストール方法】
まず、申請用のcsrを作成します。
sshで接続してrootのsuperuserになります。
~# sudo su -
~# cd /etc/ssl/private
秘密鍵のファイルを作成します。
/etc/ssl/private# openssl genrsa -des3 -out server.key 2048
.....
Enter pass phrase for server.key:
パスワードを適当に作って入力します。
Verifying - Enter pass phrase for server.key:
再入力します。
keyファイルができたら、秘密鍵からパスワードを削除します。
/etc/ssl/private# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
パスワードを入力します。
秘密鍵からcsrを作成します。
:/etc/ssl/private# openssl req -new -days 3650 -key server.key -out server.csr
.....
Country Name (2 letter code) [AU]:JP
JPは日本の事
State or Province Name (full name) [Some-State]:tokyo
tokyo東京都ならこれ。千葉県ならchiba。
Locality Name (eg, city) []:chuou-ku
中央区ならこれ。千葉市ならchiba-city。
Organization Name (eg, company) [Internet Widgits Pty Ltd]:abc
組織名(会社名)
Organizational Unit Name (eg, section) []:system
部署名。何でもいい。
Common Name (e.g. server FQDN or YOUR name) []:*.abc.jp
ワイルドカードならばドメインの前に*.を付ける。サブドメイン全部に使える。普通の証明書ならいらない。
Email Address []:info@abc.jp
管理者のアドレスを入力
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
後は空でいい。
以上で/etc/ssl/private内にserver.csrとserver.keyファイルが作成されている。
で、vi server.csrで表示されるものをコピー以下のようなもの
-----BIGIN CERTIFICATE REQUEST-----
Mllwed0345jHgFOPAQqexDF%$DsdeRSQOI980DFGsWerDSAYb!$0
.....
これを申請フォームの入力画面に貼り付けます。
で、申請。申請中にadminのドメインメアドなどに確認のメールが来ます。メールに記載されている確認用コードをメールに記載されているリンク先のフォームに入力してsubmitすれば、csrで設定した管理者のメアドにSSL証明書が送られてきます。
中間証明書ファイルは同じように添付されている場合や証明局のHPにあったりします。ファイル名にCAというキーワードがあります。ちなみにCOMODOでは以下のファイル構成になっています。
・AddTrustExternalCARoot.crt
ルート証明書
・COMODORSAAddTrustCA.crt
・COMODORSADomainValidationSecureServerCA.crt
この2つは中間証明書
・STAR_yourdomein.crt
これがSSL証明書
ちなみに2つの中間証明書とルート証明書は1つのファイルに纏めます。
UNIXコマンド
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt
AddTrustExternalCARoot.crt
>COMODO_CA.ca-bundle
名前はなんでもいい。が、順番が重要。長い名前の中間証明書2-中間証明書1-ルート証明書の順番。これで
・COMODO_CA.ca-bundle
が作成される。
で、これを当該SERVERへ転送もしくはviコマンドで新規作成。
どこへインストールしたかわかんなくなっちゃうといけないので/etc/ssl/privateへインストール。
この中は
・server.csr
・server.key
が既に入っているんだが、ここへ「中間証明書+ルート証明書」「SSL証明書」2つを転送もしくは作成。
/etc/ssl/private/の中は
・server.csr
・server.key
・STAR_yourdomein.crt
・COMODO_CA.ca-bundle
になる。
で、SSLの設定
vi /etc/apache2/sites-available/default-ssl.conf
の
SSLCertificateFile /etc/ssl/private/STAR_yourdomein.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCertificateChainFile /etc/ssl/private/COMODO_CA.ca-bundle
で終わり。
これでApache2を再起動。
/etc/init.d/apache2 restart
SSL証明書は反映されてる筈。
これでアンドロイド4.4.2、4.2.2、iOS8でも警告が表示されない。
ちなみにSSLストアって激安サイトで購入したが、そこの解説ではちゃんと設定できない。この手順が正解。
まず、申請用のcsrを作成します。
sshで接続してrootのsuperuserになります。
~# sudo su -
~# cd /etc/ssl/private
秘密鍵のファイルを作成します。
/etc/ssl/private# openssl genrsa -des3 -out server.key 2048
.....
Enter pass phrase for server.key:
パスワードを適当に作って入力します。
Verifying - Enter pass phrase for server.key:
再入力します。
keyファイルができたら、秘密鍵からパスワードを削除します。
/etc/ssl/private# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
パスワードを入力します。
秘密鍵からcsrを作成します。
:/etc/ssl/private# openssl req -new -days 3650 -key server.key -out server.csr
.....
Country Name (2 letter code) [AU]:JP
JPは日本の事
State or Province Name (full name) [Some-State]:tokyo
tokyo東京都ならこれ。千葉県ならchiba。
Locality Name (eg, city) []:chuou-ku
中央区ならこれ。千葉市ならchiba-city。
Organization Name (eg, company) [Internet Widgits Pty Ltd]:abc
組織名(会社名)
Organizational Unit Name (eg, section) []:system
部署名。何でもいい。
Common Name (e.g. server FQDN or YOUR name) []:*.abc.jp
ワイルドカードならばドメインの前に*.を付ける。サブドメイン全部に使える。普通の証明書ならいらない。
Email Address []:info@abc.jp
管理者のアドレスを入力
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
後は空でいい。
以上で/etc/ssl/private内にserver.csrとserver.keyファイルが作成されている。
で、vi server.csrで表示されるものをコピー以下のようなもの
-----BIGIN CERTIFICATE REQUEST-----
Mllwed0345jHgFOPAQqexDF%$DsdeRSQOI980DFGsWerDSAYb!$0
.....
これを申請フォームの入力画面に貼り付けます。
で、申請。申請中にadminのドメインメアドなどに確認のメールが来ます。メールに記載されている確認用コードをメールに記載されているリンク先のフォームに入力してsubmitすれば、csrで設定した管理者のメアドにSSL証明書が送られてきます。
中間証明書ファイルは同じように添付されている場合や証明局のHPにあったりします。ファイル名にCAというキーワードがあります。ちなみにCOMODOでは以下のファイル構成になっています。
・AddTrustExternalCARoot.crt
ルート証明書
・COMODORSAAddTrustCA.crt
・COMODORSADomainValidationSecureServerCA.crt
この2つは中間証明書
・STAR_yourdomein.crt
これがSSL証明書
ちなみに2つの中間証明書とルート証明書は1つのファイルに纏めます。
UNIXコマンド
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt
AddTrustExternalCARoot.crt
>COMODO_CA.ca-bundle
名前はなんでもいい。が、順番が重要。長い名前の中間証明書2-中間証明書1-ルート証明書の順番。これで
・COMODO_CA.ca-bundle
が作成される。
で、これを当該SERVERへ転送もしくはviコマンドで新規作成。
どこへインストールしたかわかんなくなっちゃうといけないので/etc/ssl/privateへインストール。
この中は
・server.csr
・server.key
が既に入っているんだが、ここへ「中間証明書+ルート証明書」「SSL証明書」2つを転送もしくは作成。
/etc/ssl/private/の中は
・server.csr
・server.key
・STAR_yourdomein.crt
・COMODO_CA.ca-bundle
になる。
で、SSLの設定
vi /etc/apache2/sites-available/default-ssl.conf
の
SSLCertificateFile /etc/ssl/private/STAR_yourdomein.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCertificateChainFile /etc/ssl/private/COMODO_CA.ca-bundle
で終わり。
これでApache2を再起動。
/etc/init.d/apache2 restart
SSL証明書は反映されてる筈。
これでアンドロイド4.4.2、4.2.2、iOS8でも警告が表示されない。
ちなみにSSLストアって激安サイトで購入したが、そこの解説ではちゃんと設定できない。この手順が正解。
※コメント投稿者のブログIDはブログ作成者のみに通知されます