WEBサーバに証明書を入れてHTTPSを使っていたが、WEBサーバの前にELBをたてて、ELBでHTTPSを解除しようとした。
ELBのListenerに、HTTPS(443)を追加、WEBサーバ側のポートを80に設定し、SSL Certificate Changeを押して、証明書のファイル内容をコピペ。
ここでWEBサーバで使っていた証明書をそのままコピペすると以下のようなエラーが表示された。
Failed to create SSL Certificate: XXXXXXXX java.lang.ClassCastException: org.bouncycastle.asn1.pkcs.PrivateKeyInfo cannot be cast to org.bouncycastle.openssl.PEMKeyPair
ググってみると、PEM形式に変換する必要があるらしい。
参考:
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
以下のように各鍵ファイルを変換して突っ込んだら解決した
1.秘密鍵
openssl rsa -in XXX.key -outform PEM > XXX.key.pem
2.署名鍵
openssl x509 -inform PEM -in XXX.crt > XXX.crt.pem
3.チェイン(Optional)
openssl x509 -inform PEM -in XXX_im.crt > XXX_im.crt.pem