はじめに

awsのIAMでSSLの証明書をアップロードしようとしたら、エラーになりました。

出力されたエラーとその対処方法を記録します。

どんなエラーが出たのか?

以下のように「aws iam upload-server-certificate」で証明書をアップロードしようとしたら、エラーになりました。

以下のコマンドを入力。コマンドの最後に--profile littleと入れているのは、テスト用にプロファイルを分けているからです。

aws iam upload-server-certificate --server-certificate-name test.co.jp --certificate-body DigiCert_Global_Root_CA.pem --private-key test.co.jp.pem --certificate-chain DigiCert_TLS_RSA_SHA256_2020_CA1.pem --profile little

そうしたら、以下のメッセージが出力されました。

An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.

対応策

「あるある」な事象のようで、調べると同じように困っている人がいました。

対応策はfile://を書くというのが対応策でした。Windowsっぽいファイルの指定方法だったので、「Windowsじゃなくて、Linux使ってるんだけど。それでもfile://って必要なの?」と半信半疑でした。

ですが、以下のようにfile://を入れたらアップロードできました。

aws iam upload-server-certificate --server-certificate-name test.co.jp --certificate-body file://DigiCert_Global_Root_CA.pem --private-key file://test.co.jp.pem --certificate-chain file://DigiCert_TLS_RSA_SHA256_2020_CA1.pem --profile little