Key Vault 证书入门
本指南可帮助你开始在 Key Vault 中管理证书。
本文涉及的方案包括:
- 创建第一个 Key Vault 证书
- 使用与 Key Vault 配合使用的证书颁发机构创建证书
- 使用不与 Key Vault 配合使用的证书颁发机构创建证书
- 导入证书
证书是复杂的对象
证书由三个相互关联的资源组成,以 Key Vault 证书、证书元数据、密钥和机密的形式链接到一起。
创建第一个 Key Vault 证书
在 Key Vault (KV) 中创建证书之前,必须成功完成先决条件步骤 1 和步骤 2,并且必须存在适用于该用户/组织的密钥保管库。
步骤 1:证书颁发机构 (CA) 提供者
- 对于给定公司(例如 Contoso)来说,以 IT 管理员、PKI 管理员或任何可以使用 CA 来管理帐户的人员的身份加入是使用密钥保管库证书的先决条件。
以下 CA 是目前可以与 Key Vault 配合使用的提供者。 在此处了解详细信息- DigiCert - Key Vault 提供 DigiCert 的 OV TLS/SSL 证书。
- GlobalSign - Key Vault 提供 GlobalSign 的 OV TLS/SSL 证书。
步骤 2:CA 提供商的帐户管理员创建可供 Key Vault 使用的凭据,以便通过 Key Vault 注册、续订和使用 TLS/SSL 证书。
步骤 3a:Contoso 管理员以及拥有证书(取决于 CA)的 Contoso 员工(Key Vault 用户)可以从管理员处获取证书,也可以直接从 CA 的帐户获取。
- 开始通过设置证书颁发者资源,对密钥保管库执行添加凭据操作。 证书颁发者是 Azure Key Vault (KV) 中表示为 CertificateIssuer 资源的实体。 它用于提供有关 KV 证书来源的信息,例如颁发者名称、提供者、凭据和其他管理详细信息。
例如: MyDigiCertIssuer
- 提供程序
- 凭据 - CA 帐户凭据。 每个 CA 都有其自身的特定数据。
若要详细了解如何通过 CA 提供者来创建帐户,请参阅 Key Vault 博客上的相关文章。
步骤 3b:设置用于接收通知的证书联系人。 这是 Key Vault 用户的联系人。 Key Vault 不强制执行此步骤。
注意 - 上述过程(一直到步骤 3b)是一次性操作。
使用与 Key Vault 配合使用的 CA 创建证书
步骤 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 属性
- 密钥属性
- 提供者引用 - > 例如 MyDigiCertIssure
- 续订信息 - > 例如,过期前 90 天
证书创建过程通常为异步过程,涉及轮询密钥保管库中“创建证书”操作的状态。
获取证书操作- 状态:“已完成”、“失败并显示错误消息”或“已取消”
- 由于创建操作延迟,因此可能会启动取消操作。 取消操作可能生效,也可能不生效。
与集成 CA 关联的网络安全性和访问策略
Key Vault 服务将请求发送到 CA(出站流量)。 因此,它与启用了防火墙的密钥保管库完全兼容。 Key Vault 不与 CA 共享访问策略。 CA 必须配置为独立接受签名请求。 有关集成受信任 CA 的指南
导入证书
也可将证书导入 Key Vault - PFX 或 PEM。
导入证书 - 需要 PEM 或 PFX 存在于磁盘上,并且要有私钥。
必须指定:保管库名称和证书名称(策略为可选)
PEM/PFX 文件包含的属性可供 KV 分析和用来填充证书策略。 如果已指定证书策略,KV 会尝试匹配 PFX / PEM 文件中的数据。
导入确定以后,后续操作会使用新策略(新版本)。
如果没有进一步的操作,Key Vault 首先要做的是发送过期通知。
另外,用户可以编辑策略。策略在导入时生效,但其包含的默认设置在导入时并未指定任何信息。例如,无颁发者信息
我们支持的导入格式
Azure Key Vault 支持 .pem 和 .pfx 证书文件(用于将证书导入到 Key Vault 中)。 对于 PEM 文件格式,我们支持以下导入类型。 单个 PEM 编码的证书,以及一个包含以下格式的 PKCS#8 编码和解密的密钥:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
导入证书时,需要确保该密钥包含在文件本身中。 如果让私钥单独采用另一格式,则需将私钥与证书组合在一起。 某些证书颁发机构提供不同格式的证书,因此在导入证书之前,请确保证书采用 .pem 或 .pfx 格式。
注意
请确保证书文件中不存在任何其他元数据,并且私钥不会显示为已加密。
我们支持的合并 CSR 的格式
Azure Key Vault 支持具有以下标头的 PKCS#8 编码证书:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
注意
只要采用 base64 编码,则支持 P7B (PKCS#7) 签名的证书链(通常由证书颁发机构 (CA) 使用)。 可以使用 certutil -encode 转换为支持的格式。
使用不与 Key Vault 配合使用的 CA 创建证书
此方法允许使用除 Key Vault 的合作提供者之外的其他 CA,也就是说,组织可以使用自选的 CA。
以下步骤说明对应于上图中绿色字母代表的步骤。
(1) - 在上图中,应用程序在创建证书时,是在内部以在密钥保管库中创建密钥开始的。
(2) - Key Vault 将证书签名请求 (CSR) 返回给应用程序。
(3) - 应用程序将 CSR 传递给所选 CA。
(4) - 所选 CA 以 X509 证书进行响应。
(5) - 应用程序在合并 CA 提供的 X509 证书后,就完成了新证书创建过程。