CloudFrontの場合GUIが用意されていないのでawscliからアップロードします。書式は下記のようになっているので
aws iam upload-server-certificate --server-certificate-name 任意の名前 --path /cloudfront/ --private-key file://秘密鍵のパス --certificate-body file://SSL証明書のパス --certificate-chain file://中間証明書のパス
このように実行しました。
aws iam upload-server-certificate --server-certificate-name ssl.xxxx --path /cloudfront/ --private-key file://~/xxxxx.pem --certificate-body file://~/xxxxx.cer --certificate-chain file://~/xxxxx.ca
基本的にはこれでアップロードできます。
証明書の期限前にアップロードしようとするとエラー
が、書式としては合っているはずなのにエラーが起きてしまいました。
An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.
検索したところ file:// が指定していないというのがたくさん出てきたのですが、 今回の場合は証明書の期限前だったということでした。 確認方法は
openssl x509 -in xxxxx.cer -noout -dates
notBefore=Dec 25 15:00:00 2016 GMT
notAfter=Dec 27 14:59:59 2017 GMT