我想将第三方颁发的 TLS/SSL 证书导入 AWS Certificate Manager(ACM)。
解决方法
要将第三方颁发的 TLS/SSL 证书导入 ACM,请务必提供证书、其私钥和证书链。证书还必须包含导入证书的前提条件。
要以 PEM 编码格式导入,必须有以下文件:
PEM 编码的证书
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
PEM 编码的证书链
以下示例显示了拥有两个从属/中间证书的证书链。如果要导入私有证书,请最后复制根证书:
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of SubordinateCA2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of SubordinateCA1
----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate of Root CA (If necessary)
-----END CERTIFICATE-----
PEM 编码的私钥
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
有关更多信息和示例,请参阅用于导入的证书和密钥格式。
使用 OpenSSL 将证书包从 PKCS#12(PFX)转换为 PEM
如果证书采用 PKCS#12(PFX)格式,请先按照以下步骤将证书包从 PFX 转换为 PEM。然后,将 PEM 编码的证书导入 ACM。
-
将 PFX 或 P12 文件复制到 OpenSSL 工具所在位置,或者在命令行中指定该位置。
-
输入以下 OpenSSL 命令并将 PKCS12file 替换为相应证书文件名称:
openssl pkcs12 -in PKCS12file -out Cert_Chain_Key.txt
您收到的提示类似于以下示例:
Enter Import Password:(this is the password that was used when the PKCS12 file was created)
Enter PEM pass phrase:(this is the private key password)
Verifying - Enter PEM pass phrase: (confirm the private key password)
-
输入所需的密码和密码短语。证书、私钥和证书链(根或中级)经解析并放入 Cert_Chain_Key.txt 文件中。
**注意:**私钥按以下格式加密:
-----BEGIN ENCRYPTED PRIVATE KEY-----
Base64-encoded private key
-----END ENCRYPTED PRIVATE KEY-----
解密私钥
要解密私钥,请完成以下步骤:
-
将私钥从 Cert_Chain_Key.txt 文件复制到 OpenSSL 目录中,或者在命令行中指定该位置。
-
输入以下 OpenSSL 命令并将 Encrypted.key 替换为相应加密私钥文件:
openssl rsa -in Encrypted.key -out UnEncrypted.key
-
输入密码短语。此时,解密后的私钥是 UnEncrypted.key。要验证这一点,请使用文本编辑器打开 UnEncrypted.key 文件并查看标题。
现在,可以将证书导入 ACM。有关说明,请参阅导入证书。
相关信息
为什么无法将第三方公共 SSL/TLS 证书导入 ACM?
如何使用 OpenSSL 将 PFX 格式的证书导入 AWS Certificate Manager