#GlobalSignさんで取得したSSL証明書をAWSのELBに設定してみました。
GlobalSignさんの申し込みフォームから最短2分!のクイック認証SSLを申し込みます。
申請完了後、管理画面GSパネルより「PKCS#12」ファイルをダウンロード。
ローカルで、以下コマンドによる鍵ファイルへの変換対応。
openssl pkcs12 -in XXXXXXXXXXX.pfx -nocerts -nodes -out server.key
openssl pkcs12 -in XXXXXXXXXXX.pfx -clcerts -nodes -out server.crt
openssl pkcs12 -in XXXXXXXXXXX.pfx -cacerts -nokeys -out server.ca-bundle
※パスフレーズは「申請時に登録した文字列」 + 「GlobalSignさんで発行された文字列」
鍵ファイルの生成が終わったら、AWS consoleの Load Blancersより、対象のロードバランサーを選択して、プロトコル443を追加します。
追加の際、SSL Certificateにアップロードリンクが出るので、そこからkeyファイルをペタペタ貼り付けてあげて、ハイ、完了!
と、思ったら、Invalid Private Key ってエラーが出やがりました。
AWSでは、PrivateKeyはパスフレーズが付いたままだと通らないみたいです。
※似たような事象でこちらも参考
http://norinoritakanori.blog90.fc2.com/blog-entry-230.html
ということで、パスフレーズをとっぱらってやりました。
openssl rsa -in server.key -out server_nopass.key
リトライして無事証明書の設定ができました。
Invalid Public Key Certificate ってエラーも出たのでメモ。
中間証明書のコピーする箇所を誤っていた場合に出ました。
subject=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2
issuer=/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
これ以降のCERTIFICATE部分が該当箇所でした。
#まとめ。
AWS ELBの設定欄にぶっこむもの
-
Certificate Name
GlobalSign_xxxxx.com 的な名前で管理してます。 -
Private Key
server_nopass.key ファイルの内容をこぴぺ。
-----BEGIN RSA PRIVATE KEY-----
から
-----END RSA PRIVATE KEY-----
まで全て。 -
Public Key Certificate
server.crtファイルの半分より下をこぴぺ。
-----BEGIN CERTIFICATE-----
から
-----END CERTIFICATE-----
まですべて -
Certificate Chain
server.ca-bundleファイルの1個目の
-----BEGIN CERTIFICATE-----
から
-----END CERTIFICATE-----
まですべてをコピペ。