如何將 SSL 憑證上傳和匯入 AWS Identity and Access Management (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 的根憑證結尾。

**注意事項:**如果憑證鏈結的順序不正確,您可能會收到下列錯誤訊息: 「呼叫 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-----

**注意事項:**請確定憑證沒有前置或結尾空格,且除了 BEGINEND 區塊之外,還不包含字首或字尾。

PEM 編碼的金鑰必須使用下列格式,以避免出現「MalformedCertificate: 無法剖析私有金鑰」錯誤訊息:

-----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: 未知」錯誤訊息。

上傳憑證後,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

相關資訊

與 AWS Certificate Manager 整合的服務

適用於匯入的憑證和金鑰格式