Key Vault证书入门

本文帮助你开始Key Vault中的证书管理。 它涵盖以下方案:

  • 创建第一个Key Vault证书
  • 使用与 Key Vault 合作的证书颁发机构(CA)创建证书
  • 使用未与Key Vault合作的 CA 创建证书
  • 导入证书

证书是复杂的对象

证书由三种相互关联的资源组成:证书元数据、密钥和机密,并共同构成一个 Key Vault 证书。

证书很复杂

创建第一个Key Vault证书

在 Key Vault 中创建证书之前,必须完成以下先决条件步骤,并且对于此用户或组织,必须存在一个 Key Vault。

步骤 1: 证书颁发机构(CA)提供者

  • 作为 IT 管理员、PKI 管理员或任何管理 CA 账户的人,正式加入某公司(例如 Contoso)是使用 Key Vault 证书的先决条件。
    以下 CA 是当前与 Key Vault 合作的提供商。 有关详细信息,请参阅 合作伙伴 CA 提供商
    • DigiCert - Key Vault通过 DigiCert 提供 OV TLS/SSL 证书。
    • GlobalSign - Key Vault提供具有 GlobalSign 的 OV TLS/SSL 证书。

步骤 2: CA 提供程序的帐户管理员创建凭据,以便 Key Vault 能注册、续订和使用 TLS/SSL 证书。

Step 3a: Contoso 管理员以及拥有证书的 Contoso 员工(Key Vault用户)可以从管理员那里获取证书,也可以直接从具有 CA 的帐户获取证书。

  • 通过设置证书颁发者资源,开始在密钥保管库中添加凭据操作。 证书颁发者是在 Azure Key Vault 中表示成 CertificateIssuer 资源的实体。 它提供有关Key Vault证书源的信息:颁发者名称、提供程序、凭据和其他管理详细信息。
    • 例如,MyDigiCertIssuer

      • Provider
      • 凭据 - CA 帐户凭据。 每个 CA 都有自己的特定数据。

      有关与 CA 提供商创建帐户的详细信息,请参阅 将 Key Vault 与证书颁发机构集成

步骤 3b: 为通知设置 证书联系人。 这是Key Vault用户的联系人。 Key Vault不强制执行此步骤。

注释

此过程(通过 步骤 3b)是一次性操作。

使用与 Key Vault 合作的 CA 创建证书

使用 Key Vault 合作伙伴证书颁发机构创建证书

步骤 4: 以下说明对应于上图中的绿色编号步骤。
(1) - 在上图中,您的应用程序正在创建一个证书,首先会在密钥保管库中创建一个密钥。
(2) - Key Vault向 CA 发送 TLS/SSL 证书请求。
(3)- 您的应用程序通过循环和等待过程轮询 Key Vault,以检测证书的完成。 当Key Vault收到具有 x509 证书的 CA 响应时,证书创建将完成。
(4) - CA 使用 X509 TLS/SSL 证书响应Key Vault的 TLS/SSL 证书请求。
(5)- 通过合并 CA 的 X509 证书,新的证书创建已完成。

Key Vault用户 - 通过指定策略创建证书

  • 根据需要重复

  • 策略约束

    • X509 属性
    • 键属性
    • 提供者引用 -> 例如 MyDigiCertIssuer
    • 续订信息 -> 例如,到期前 90 天
  • 证书创建过程通常是一个异步过程,涉及轮询密钥保管库,了解创建证书作的状态。
    获取证书操作

    • 状态:已完成、失败并显示错误信息或已取消
    • 由于创建的延迟,可以启动取消操作。 取消可能有效或可能无效。

与集成 CA 关联的网络安全和访问策略

Key Vault服务将请求发送到 CA(出站流量)。 因此,它与已启用防火墙的密钥保管库完全兼容。 Key Vault不与 CA 共享访问策略。 CA 必须配置为独立接受签名请求。 有关详细信息,请参阅将 Key Vault 与证书颁发机构集成

导入证书

或者,可以使用 PFX 或 PEM 格式将证书导入Key Vault。

导入证书需要磁盘上包含私钥的 PEM 或 PFX 文件。

  • 必须指定保管库名称和证书名称(策略是可选的)。

  • PEM 和 PFX 文件包含Key Vault可以分析和用于填充证书策略的属性。 如果已指定证书策略,Key Vault尝试匹配 PFX 或 PEM 文件中的数据。

  • 导入完成后,后续操作将使用新策略(新版本)。

  • 如果没有进一步的操作,Key Vault做的第一件事就是发送过期通知。

  • 用户还可以编辑策略,该策略在导入时正常运行,但包含未在导入时指定任何信息的默认值。 例如,没有颁发者信息。

我们支持的导入格式

Azure Key Vault支持 .pem 和 .pfx 证书文件,用于将证书导入密钥保管库。 PEM 文件支持以下导入格式:单个 PEM 编码的证书以及采用以下格式的 PKCS#8 编码的未加密密钥:

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

-----BEGIN 私钥-----

-----END PRIVATE KEY-----

导入证书时,请确保密钥包含在文件本身中。 如果私钥以不同的格式单独使用,则需要将密钥与证书组合在一起。 某些证书颁发机构提供不同格式的证书,因此在导入证书之前,请确保它采用 .pem 或 .pfx 格式。

注释

确保证书文件中没有其他元数据,并且私钥未显示为加密。

我们支持的合并 CSR 的格式

Azure Key Vault支持具有以下标头的 PKCS#8 编码证书:

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

注释

只要它们是 base64 编码的,就支持 P7B(PKCS#7)签名的证书链,这些证书链通常由证书颁发机构(CAs)使用。 可以使用 certutil -encode 转换为受支持的格式。

使用 CA 创建未与Key Vault合作的证书

此方法允许使用除Key Vault合作伙伴提供商以外的 CA,这意味着组织可以使用所选的 CA。

使用自己的证书颁发机构创建证书

以下步骤说明对应于上图中的绿色字母步骤。

  1. 在图示中,您的应用程序正在创建一个证书,这个过程首先在您的密钥保管库中创建一个密钥。

  2. Key Vault将证书签名请求(CSR)返回到应用程序。

  3. 应用程序将 CSR 传递给所选 CA。

  4. 所选的 CA 使用 X.509 证书进行响应。

  5. 应用程序通过合并 CA 中的 X.509 证书来完成新的证书创建。