如何将第三方颁发的 TLS/SSL 证书导入 ACM?
上次更新日期:2022 年 6 月 24 日
我想将第三方颁发的 TLS/SSL 证书导入到 AWS Certificate Manager(ACM)中。
解决方法
要将第三方颁发的 TLS/SSL 证书导入 ACM,您必须提供证书、其私有密钥和证书链。您的证书还必须包含导入证书的先决条件。
您需要以下文件以类似如下内容的 PEM 编码格式导入:
PEM 编码的证书:
-----BEGIN CERTIFICATE-----
Base64–encoded certificate
-----END CERTIFICATE-----
PEM 编码的证书链:(此示例显示了存在两个从属/中间 CA 的链。这里给出的顺序是保留根 CA 作为最后一个条目):
-----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
-----END CERTIFICATE-----
PEM 编码的私有密钥:
-----BEGIN RSA PRIVATE KEY-----
Base64–encoded private key
-----END RSA PRIVATE KEY-----
有关更多信息和示例,请参阅用于导入的证书和密钥格式。
使用 OpenSSL 将证书捆绑包从 PKCS#12(PFX)转换为 PEM
1. 将 PFX 或 P12 文件复制到与 OpenSSL 工具相同的位置,或者在命令行中指定位置。
2. 输入以下 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)
3. 输入所需的密码和密码短语。证书、私有密钥和证书链(根或中间)将被解析并放入 Cert_Chain_Key.txt 文件中。
注意:私有密钥仍按以下格式加密:
-----BEGIN ENCRYPTED PRIVATE KEY-----
Base64–encoded private key
-----END ENCRYPTED PRIVATE KEY-----
解密私有密钥
1. 将 Cert_Chain_Key.txt 文件中的私有密钥复制到 OpenSSL 目录中,或者在命令行中指定位置。
2. 输入以下 OpenSSL 命令,然后将 Encrypted.key 替换为加密的私有密钥文件:
$openssl rsa -in Encrypted.key -out UnEncrypted.key
3. 输入密码短语。UnEncrypted.key 现在是解密的私有密钥。要验证这一点,请使用文本编辑器打开 UnEncrypted.key 文件并查看类似如下格式的标头:
-----BEGIN RSA PRIVATE KEY-----
Base64–encoded private key
-----END RSA PRIVATE KEY-----
现在,您可以成功地将证书导入到 ACM 中。有关说明,请参阅导入证书。