<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
本文档介绍了如何将 TLS 证书和关联的私钥 PEM 或 PFX (PKCS #12) 格式。
Apigee Edge 仅支持将 PEM 或 PFX 格式证书存储在密钥库和信任存储区中。 将证书从任何现有格式转换为 PEM 或 PFX 格式的步骤取决于 OpenSSL 工具包,并且适用于任何 提供 OpenSSL 环境。
准备工作
在使用本文档中的步骤之前,请确保您了解以下主题:
- 如果您不熟悉 PEM 或 PFX 格式,请参阅 TLS/SSL 简介。
- 如果您不熟悉证书格式,请参阅 SSL 证书格式。
- 如果您对 OpenSSL 库不熟悉,请参阅 OpenSSL。
- 如果您想使用本指南中的命令行示例,请安装或更新到 OpenSSL 客户端版本。
将证书从 DER 格式转换为 PEM 格式
本部分介绍如何从 DER 转换证书和关联的私钥 转换为 PEM 格式。
-
转移包含完整证书链的文件 (
certificate.der
) 以及要转换为 PEM 格式的关联私钥 (private_key.der
) 传送到使用scp
、sftp
或任何命令安装 OpenSSL 的机器 其他实用程序。例如,使用
scp
命令将文件传输到/tmp
目录中,如下所示:scp certificate.der servername:/tmp scp private_key.der servername:/tmp
其中,servername 是包含 OpenSSL 的服务器的名称。
- 登录安装了 OpenSSL 的机器。
-
从证书所在的目录中,运行以下命令以
将证书和关联的私钥从 DER 格式转换为 PEM 格式:
openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
- 验证证书是否已转换为 PEM 格式。
将证书从 P7B 格式转换为 PEM 格式
本部分介绍了如何将证书从 P7B 格式转换为 PEM 格式。
<ph type="x-smartling-placeholder">- 转移包含完整证书链的文件 (
certificate.p7b
) 您想将其转换为 PEM 格式,以便在使用scp
安装 OpenSSL 的机器上进行转换;sftp
或任何其他实用程序。例如,使用
scp
命令将文件传输到/tmp
目录中,如下所示:scp certificate.p7b servername:/tmp
其中,servername 是包含 OpenSSL 的服务器的名称。
- 登录安装了 OpenSSL 的机器。
-
从证书所在的目录中,运行以下命令以转换
将证书从 P7B 格式转换为 PEM 格式:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
- 验证证书是否已转换为 PEM 格式。
将证书从 PFX 格式转换为 PEM 格式
本部分介绍了如何将 TLS 证书从 PFX 格式转换为 PEM 格式。
将 PFX 文件转换为 PEM 格式时,OpenSSL 放置了所有证书和私钥
转换为单个文件您需要在文本编辑器中打开该文件并复制每个证书
和私钥(包括 BEGIN/END 语句)附加到单独的文本文件中,并另存为
certificate.pfx
、Intermediate.pfx
(如果适用)、
CACert.pfx
和 privateKey.key
。
Apigee 支持 PFX/PKCS #12 格式;不过,PEM 格式 包括验证原因。
-
转移证书和私钥(
certificate.pfx
、Intermediate.pfx
CACert.pfx
、privateKey.key
) 您想使用scp
将 PEM 格式转换为安装了 OpenSSL 的机器,sftp
或任何其他实用程序。例如,使用
scp
命令将文件传输到/tmp
目录中,如下所示:scp certificate.pfx servername:/tmp
其中,servername 是包含 OpenSSL 的服务器的名称。
- 登录安装了 OpenSSL 的机器。
-
从证书所在的目录中,运行以下命令以转换
将证书从 P7B 格式转换为 PEM 格式:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
- 验证证书是否已转换为 PEM 格式。
将证书从 P7B 格式转换为 PFX 格式
本部分介绍了如何将 TLS 证书从 P7B 格式转换为 PFX 格式。
要转换为 PFX 格式,您还需要获取私钥。
<ph type="x-smartling-placeholder">-
将您要转换为 PFX 的证书 (
certificate.p7b
) 转移到 使用scp
、sftp
或任何其他实用程序安装 OpenSSL 的机器。例如,使用
scp
命令将文件传输到/tmp
目录中,如下所示:scp certificate.p7b servername:/tmp scp private_key.key servername:/tmp
其中,servername 是包含 OpenSSL 的服务器的名称。
- 登录安装了 OpenSSL 的机器。
-
从证书所在的目录中,运行以下命令以转换
将证书从 P7B 转换为 PFX 格式,并导出实体和中间 CA
复制到单独的文件中:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
验证证书是否为 PEM 格式
本部分介绍了如何验证证书是否为 PEM 格式。
- 如需查看 PEM 格式的证书,请运行以下命令:
openssl x509 -in certificate.pem -text -noout
- 如果您能够以简单易懂的格式查看证书内容, 则您可以确认证书采用的是 PEM 格式。
-
如果证书采用任何其他格式,您将会看到如下错误:
unable to load certificate 12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate