Edited at

ELBにSSLを設定してみる

More than 5 years have passed since last update.


GlobalSignさんで取得したSSL証明書をAWSのELBに設定してみました。

GlobalSignさんの申し込みフォームから最短2分!のクイック認証SSLを申し込みます。

申請完了後、管理画面GSパネルより「PKCS#12」ファイルをダウンロード。

ローカルで、以下コマンドによる鍵ファイルへの変換対応。


local.command

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

ということで、パスフレーズをとっぱらってやりました。


local.command2

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-----

    まですべてをコピペ。