<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
本文档介绍了如何在上传证书前验证证书的用途 密钥库或信任库该流程依靠 OpenSSL 进行验证,并且适用 在提供 OpenSSL 的任何环境中。
TLS 证书通常具有一种或多种适用的用途。 这通常是为了限制包含公钥的操作数 证书中的文件。证书的用途如下所述 证书扩展:
- 密钥用途
- 扩展的密钥用途
密钥用途
密钥用法扩展定义密钥用途(例如加密、签名或 证书签名)。如果公钥用于 实体身份验证,那么证书扩展应该包含密钥用法 数字签名。
适用于使用 证书授权机构 (CA) 流程如下所示:
- 数字签名
- 不可否认性
- 密钥加密
- 数据加密
- 密钥协议
- 证书签名
- CRL 签名
- 仅加密
- 仅解密
如需详细了解这些密钥用法扩展程序,请参阅 RFC5280,密钥用法。
扩展的密钥用途
此扩展指明了经过认证的公钥可用于一个或多个用途, 密钥用途扩展中指明的基本用途的补充或替代。在 一般而言,此扩展将仅显示在最终实体证书中。
一些常见的扩展密钥用法扩展项如下所示:
-
TLS Web server authentication
-
TLS Web client authentication
-
anyExtendedKeyUsage
扩展键可以是关键型键,也可以是非关键型键。
- 如果扩展程序为关键扩展程序,则证书只能用于指示的 目的。如果证书已用于其他用途,则违反了 CA 的政策。
- 如果扩展程序为非关键型,则说明相应扩展程序的预期用途 该密钥仅供参考,并不意味着 CA 限制 用途。但是,使用证书的应用可能要求 目的。
如果证书同时包含密钥用途字段和扩展密钥用途字段, 必须单独处理这两个字段,且证书可用于 仅用于同时满足两个密钥用途值的目的。但是,如果没有 密钥用途值,则不得将该证书用于 任何用途。
采购证书时,请确保已定义正确的密钥用法,以满足 客户端或服务器证书的要求,如果没有这些证书,TLS 握手将会失败。
Apigee Edge 中使用的证书的建议密钥用法和扩展密钥用法
目的 |
密钥用途
(必填) |
扩展的密钥用途
(可选) |
Apigee Edge 虚拟主机密钥库中使用的服务器实体证书 |
|
TLS Web 服务器身份验证 |
Apigee Edge 虚拟主机可信存储区中使用的客户端实体证书 |
|
TLS Web 客户端身份验证 |
Apigee Edge 目标服务器的信任库中使用的服务器实体证书 |
|
TLS Web 服务器身份验证 |
Apigee Edge 目标服务器的密钥库中使用的客户端实体证书 |
|
TLS Web 客户端身份验证 |
中间证书和根证书 |
|
准备工作
在使用本文档中的步骤之前,请确保您了解以下主题:
- 如果您不熟悉证书链,请参阅 信任链。
- 如果您对 OpenSSL 库不熟悉,请参阅 OpenSSL
- 如果您想详细了解密钥用法扩展和扩展密钥用法,请参阅 RFC5280。
- 如果您想使用本指南中的命令行示例,请安装或更新到 OpenSSL 客户端版本
- 确保证书采用的是 PEM 格式,如果没有, <ph type="x-smartling-placeholder"></ph> 将证书转换为 PEM 格式。
验证证书的用途
本部分介绍了用于验证证书用途的步骤。
- 登录存在 OpenSSL 的服务器。
-
如需获取证书的密钥用途,请运行以下 OpenSSL 命令:
openssl x509 -noout -ext keyUsage < certificate
其中,certificate 是证书的名称。
输出示例
openssl x509 -noout -ext keyUsage < entity.pem X509v3 Key Usage: critical Digital Signature, Key Encipherment openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
如果必须使用某个密钥,则可将其定义为“严重”,如下所示:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
运行以下命令以获取证书的扩展密钥用法。
如果“扩展密钥用法”未定义为“关键”,则只是建议。
而不是强制性的
openssl x509 -noout -ext extendedKeyUsage < certificate
其中,certificate 是证书的名称。
输出示例
openssl x509 -noout -ext extendedKeyUsage < entity.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication openssl x509 -noout -ext extendedKeyUsage < intermediate.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication