跳至內容

如何將 SSL 憑證上傳並匯入至 IAM?

2 分的閱讀內容
0

我想將 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 non-valid certificate is: -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-----

**注意:**請確保憑證前後沒有多餘空格,且除了 BEGINEND 區塊之外,不包含任何首碼或尾碼。

PEM 編碼的金鑰必須使用下列格式,以避免出現「MalformedCertificate: Unable to parse private key」錯誤訊息:

-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----

上傳憑證

請執行 AWS CLI 命令 upload-server-certificate 上傳憑證,類似如下:

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

注意:

  • 請將檔案名稱以及 YourCertificate 替換為您上傳的檔案與憑證名稱。
  • 您必須在 API 請求的 certificate-body、certificate-chain 以及 private-key 參數中指定「file://」首碼。否則,請求會失敗並顯示「MalformedCertificate: Unknown」錯誤訊息。

憑證上傳完成後,AWS 命令 upload-server-certificate 會傳回已上傳憑證的中繼資料,包括憑證的 Amazon Resource Name (ARN)、易記名稱、識別碼 (ID) 以及到期日。

若要檢視已上傳的憑證,請執行 AWS CLI 命令 list-server-certificates

aws iam list-server-certificates

**注意:**若您上傳的伺服器憑證要搭配 Amazon CloudFront 使用,則您必須使用 --path 指定路徑。該路徑必須以 /cloudfront 開頭,且必須包含結尾斜線,例如 /cloudfront/test/。如需詳細資訊,請參閱如何疑難排解在 CloudFront 發佈項目中使用自訂 SSL 憑證的問題?

若要刪除憑證,請執行 AWS CLI 命令 delete-server-certificate,類似如下:

$ aws iam delete-server-certificate --server-certificate-name YourCertificate

相關資訊

與 ACM 整合的服務

匯入時的憑證與金鑰格式

AWS 官方已更新 1 年前