SSL 証明書をアップロードし、AWS Identity and Access Management (IAM) にインポートするにはどうすればよいですか?

最終更新日: 2020 年 8 月 12 日

SSL 証明書をアップロードし、AWS Identity and Access Management (IAM) にインポートするにはどうすればよいですか?

簡単な説明

SSL 証明書は AWS Certificate Manager (ACM) にアップロードすることがベストプラクティスです。ACM または関連する AWS リソースで現在サポートされていない証明書アルゴリズムとキーサイズを使用している場合は、AWS Command Line Interface (AWS CLI) を使用して SSL 証明書を IAM にアップロードすることもできます。

SSL 証明書を IAM へインポートする前に:

  • 証明書はアップロード時点で有効でなければなりません。証明書の有効期間より前またはそれが切れた後に証明書をアップロードすることはできません。
  • 証明書、プライベートキー、および証明書チェーンは、PEM でエンコードされている必要があります。詳細については、「サーバー証明書の使用」にあるPEM でエンコードされた証明書チェーンの例を参照してください。

証明書がこれらの基準を満たしていることを確認した後は、証明書チェーンの順序が正しいことを確認してから、証明書をアップロードするようにしてください。

解決方法

証明書チェーンの順序が正しいことを確認する

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

証明書チェーンは、認証機関 (CA) によって生成された証明書で始まり、CA のルート証明書で終わる必要があります。

注意: 証明書チェーンの順序が正しくない場合は、次のエラーメッセージが表示される可能性があります。「An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to validate certificate chain.The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order.The index within the chain of the invalid certificate is: -1" (UploadServerCertificate 操作を呼び出している最中にエラーが発生しました (MalformedCertificate)。証明書チェーンを有効化できません。証明書チェーンは直接のデジタル署名用証明書から始まり、その後に中間証明書が続きます。無効な証明書チェーン内のインデックスは -1 です)。

PEM エンコードされた証明書チェーンは、次のように、「-----BEGIN CERTIFICATE-----」で始まり、「-----END CERTIFICATE-----」で終わる必要があります。

-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----

注意: 証明書の先頭と末尾にスペースがないことを確認してください。

証明書をアップロード

以下のコマンドを実行して証明書をアップロードします。

$ aws iam upload-server-certificate --server-certificate-name ExampleCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem

注意: ファイル名と ExampleCertificate に、アップロードするファイルと証明書の名前を入力します。詳細については、upload-server-certificate を参照してください。

証明書をアップロードすると、コマンドが、アップロードした証明書のメタデータを返します。このメタデータには、証明書の Amazon リソースネーム (ARN)、フレンドリ名、識別子 (ID)、有効期限が含まれています。アップロードした証明書を表示するには、次のコマンドを実行します。

aws iam list-server-certificates
注意: Amazon CloudFront で使用するサーバー証明書をアップロードする場合は、 --path を使ってパスを指定します。パスは /cloudfront で始まり、末尾にスラッシュが使用されている必要があります (例: /cloudfront/test/)。詳細については、「 CloudFront ディストリビューションでカスタム SSL 証明書を使用している場合の問題のトラブルシューティング方法を教えてください」を参照してください。

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?