验证证书用途

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

<ph type="x-smartling-placeholder">

本文档介绍了如何在上传证书前验证证书的用途 密钥库或信任库该流程依靠 OpenSSL 进行验证,并且适用 在提供 OpenSSL 的任何环境中。

TLS 证书通常具有一种或多种适用的用途。 这通常是为了限制包含公钥的操作数 证书中的文件。证书的用途如下所述 证书扩展:

  • 密钥用途
  • 扩展的密钥用途

密钥用途

密钥用法扩展定义密钥用途(例如加密、签名或 证书签名)。如果公钥用于 实体身份验证,那么证书扩展应该包含密钥用法 数字签名

适用于使用 证书授权机构 (CA) 流程如下所示:

  • 数字签名
  • 不可否认性
  • 密钥加密
  • 数据加密
  • 密钥协议
  • 证书签名
  • CRL 签名
  • 仅加密
  • 仅解密

如需详细了解这些密钥用法扩展程序,请参阅 RFC5280,密钥用法

扩展的密钥用途

此扩展指明了经过认证的公钥可用于一个或多个用途, 密钥用途扩展中指明的基本用途的补充或替代。在 一般而言,此扩展将仅显示在最终实体证书中。

一些常见的扩展密钥用法扩展项如下所示:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

扩展键可以是关键型键,也可以是非关键型键。

  • 如果扩展程序为关键扩展程序,则证书只能用于指示的 目的。如果证书已用于其他用途,则违反了 CA 的政策。
  • 如果扩展程序为非关键型,则说明相应扩展程序的预期用途 该密钥仅供参考,并不意味着 CA 限制 用途。但是,使用证书的应用可能要求 目的。

如果证书同时包含密钥用途字段和扩展密钥用途字段, 必须单独处理这两个字段,且证书可用于 仅用于同时满足两个密钥用途值的目的。但是,如果没有 密钥用途值,则不得将该证书用于 任何用途。

采购证书时,请确保已定义正确的密钥用法,以满足 客户端或服务器证书的要求,如果没有这些证书,TLS 握手将会失败。

目的 密钥用途

(必填)

扩展的密钥用途

(可选)

Apigee Edge 虚拟主机密钥库中使用的服务器实体证书
  • 数字签名
  • 密钥加密或密钥协议
TLS Web 服务器身份验证
Apigee Edge 虚拟主机可信存储区中使用的客户端实体证书
  • 数字签名或密钥协议
TLS Web 客户端身份验证
Apigee Edge 目标服务器的信任库中使用的服务器实体证书
  • 数字签名
  • 密钥加密或密钥协议
TLS Web 服务器身份验证
Apigee Edge 目标服务器的密钥库中使用的客户端实体证书
  • 数字签名或密钥协议
TLS Web 客户端身份验证
中间证书和根证书
  • 证书签名
  • 证书吊销列表 (CRL) 符号

准备工作

在使用本文档中的步骤之前,请确保您了解以下主题:

  • 如果您不熟悉证书链,请参阅 信任链
  • 如果您对 OpenSSL 库不熟悉,请参阅 OpenSSL
  • 如果您想详细了解密钥用法扩展和扩展密钥用法,请参阅 RFC5280
  • 如果您想使用本指南中的命令行示例,请安装或更新到 OpenSSL 客户端版本
  • 确保证书采用的是 PEM 格式,如果没有, <ph type="x-smartling-placeholder"></ph> 将证书转换为 PEM 格式

验证证书的用途

本部分介绍了用于验证证书用途的步骤。

  1. 登录存在 OpenSSL 的服务器。
  2. 如需获取证书的密钥用途,请运行以下 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
  3. 如果必须使用某个密钥,则可将其定义为“严重”,如下所示:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. 运行以下命令以获取证书的扩展密钥用法。 如果“扩展密钥用法”未定义为“关键”,则只是建议。 而不是强制性的
    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
。 <ph type="x-smartling-placeholder">