将 Key Vault 与集成证书颁发机构集成

Azure Key Vault 使你能轻松地为网络预配、管理和部署数字证书,并支持应用程序的安全通信。 数字证书是一种电子凭据,用于在电子交易中建立身份证明。

Azure Key Vault 与以下证书颁发机构建立了受信任的合作关系:

Azure Key Vault 用户可以直接从其密钥保管库生成 DigiCert/GlobalSign 证书。 Key Vault 的合作关系可确保 DigiCert 颁发的证书的端到端证书生命周期管理。

若要详细了解证书的常规信息,请参阅 Azure Key Vault 证书

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

先决条件

若要完成本文中的过程,你需要拥有:

准备阶段

DigiCert

确保你的 DigiCert CertCentral 帐户提供以下信息:

  • CertCentral 帐户 ID
  • 组织 ID
  • API 密钥
  • 帐户 ID
  • 帐户密码

GlobalSign

确保你的 GlobalSign 帐户提供以下信息:

  • 帐户 ID
  • 帐户密码
  • 管理员的名字
  • 管理员的姓氏
  • 管理员的电子邮件
  • 管理员的电话号码

在密钥保管库中添加证书颁发机构

从 DigiCert CertCentral 帐户收集上述信息后,可以将 DigiCert 添加到密钥保管库中的证书颁发机构列表。

Azure 门户 (DigiCert)

  1. 若要添加 DigiCert 证书颁发机构,请转到要将其添加到的密钥保管库。

  2. 在密钥保管库属性页中,选择“证书”。

  3. 选择“证书颁发机构”选项卡:Screenshot that shows selecting the Certificate Authorities tab.

  4. 选择“添加”:Screenshot that shows the Add button on the Certificate Authorities tab.

  5. 在“创建证书颁发机构”下,输入以下值:

    • 名称:可识别的颁发者名称。 例如 DigicertCA。
    • 提供商:DigiCert。
    • 帐户 ID:你的 DigiCert CertCentral 帐户 ID。
    • 帐户密码:你在 DigiCert CertCentral 帐户中生成的 API 密钥。
    • 组织 ID:DigiCert CertCentral 帐户中的组织 ID。
  6. 选择“创建”

DigicertCA 现在位于证书颁发机构列表中。

Azure 门户 (GlobalSign)

  1. 若要添加 DigiCert 证书颁发机构,请转到要将其添加到的密钥保管库。

  2. 在密钥保管库属性页中,选择“证书”。

  3. 选择“证书颁发机构”选项卡:Screenshot that shows selecting the Certificate Authorities tab.

  4. 选择“添加”

  5. 在“创建证书颁发机构”下,输入以下值:

    • 名称:可识别的颁发者名称。 例如 GlobalSignCA。
    • 提供商:GlobalSign。
    • 帐户 ID:GlobalSign 帐户 ID。
    • 帐户密码:GlobalSign 帐户密码。
    • 管理员名字:GlobalSign 帐户管理员的名字。
    • 管理员姓氏:GlobalSign 帐户管理员的姓氏。
    • 管理员电子邮件:GlobalSign 帐户管理员的电子邮件。
    • 管理员电话号码:GlobalSign 帐户管理员的电话号码。
  6. 选择“创建”。

GlobalSignCA 现在位于证书颁发机构列表中。

Azure PowerShell

可以使用 Azure PowerShell 通过命令或脚本创建和管理 Azure 资源。

如果选择在本地安装并使用 PowerShell,则需要使用 Azure AZ PowerShell 模块 1.0.0 或更高版本来完成此过程。 键入 $PSVersionTable.PSVersion 即可确定版本。 如果需要升级,请参阅安装 Azure AZ PowerShell 模块。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud 以创建与 Azure 的连接:

Connect-AzAccount -Environment AzureChinaCloud
  1. 使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器。

    New-AzResourceGroup -Name ContosoResourceGroup -Location ChinaEast
    
  2. 创建具有唯一名称的密钥保管库。 在这里,Contoso-Vaultname 是密钥保管库的名称。

    • 保管库名称:Contoso-Vaultname
    • 资源组名称:ContosoResourceGroup
    • 位置ChinaEast
    New-AzKeyVault -Name 'Contoso-Vaultname' -ResourceGroupName 'ContosoResourceGroup' -Location 'ChinaEast'
    
  3. 为 DigiCert CertCentral 帐户中的以下值定义变量:

    • 帐户 ID
    • 组织 ID
    • API 密钥
    $accountId = "myDigiCertCertCentralAccountID"
    $org = New-AzKeyVaultCertificateOrganizationDetail -Id OrganizationIDfromDigiCertAccount
    $secureApiKey = ConvertTo-SecureString DigiCertCertCentralAPIKey -AsPlainText -Force
    
  4. 设置颁发者。 这样做将在密钥保管库中添加 Digicert 作为证书颁发机构。 详细了解参数。

    Set-AzKeyVaultCertificateIssuer -VaultName "Contoso-Vaultname" -Name "TestIssuer01" -IssuerProvider DigiCert -AccountId $accountId -ApiKey $secureApiKey -OrganizationDetails $org -PassThru
    
  5. 直接在密钥保管库的 DigiCert 中设置证书的策略并颁发证书:

    $Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "TestIssuer01" -ValidityInMonths 12 -RenewAtNumberOfDaysBeforeExpiry 60
    Add-AzKeyVaultCertificate -VaultName "Contoso-Vaultname" -Name "ExampleCertificate" -CertificatePolicy $Policy
    

该证书现在由 DigiCert 证书颁发机构在指定的密钥保管库中颁发。

疑难解答

如果颁发的证书在 Azure 门户中处于“禁用”状态,请查看“证书操作”以查看该证书的 DigiCert 错误消息:

Screenshot that shows the Certificate Operation tab.

错误消息:“请执行合并以完成此证书请求。”

合并由证书颁发机构签名的 CSR 以完成请求。 有关合并 CSR 的信息,请参阅创建和合并 CSR

有关详细信息,请参阅密钥保管库 REST API 参考中的“证书操作”。 有关建立权限的信息,请参阅保管库 - 创建或更新保管库 - 更新访问策略

后续步骤