如何将第三方颁发的 TLS/SSL 证书导入 ACM?

2 分钟阅读
0

我想将第三方颁发的 TLS/SSL 证书导入 AWS Certificate Manager(ACM)。

解决方法

要将第三方颁发的 TLS/SSL 证书导入 ACM,必须提供证书、其私钥和证书链。您的证书还必须包含导入证书的前提条件

要导入下面这样的 PEM 编码格式,需要用到以下文件:

PEM 编码的证书:

-----BEGIN CERTIFICATE-----
Base64–encoded certificate
-----END CERTIFICATE-----

PEM 编码的证书链:(此示例显示了拥有两个从属/中级证书的证书链。这里给出的顺序是保留根 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。有关说明,请参阅导入证书


相关信息

为什么我无法将第三方公有 SSL/TLS 证书导入 AWS Certificate Manager (ACM)?

如何使用 OpenSSL 将 PFX 格式的证书导入 AWS Certificate Manager

AWS 官方
AWS 官方已更新 2 年前