您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

将密钥保管库与 DigiCert 证书颁发机构集成

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

Azure 密钥保管库用户可以直接从其密钥保管库生成 DigiCert 证书。 密钥保管库与 DigiCert 证书颁发机构之间存在受信任的合作关系。 这种合作关系可确保 DigiCert 颁发的证书的端到端证书生命周期管理。

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

如果没有 Azure 订阅,可以在开始之前创建一个免费帐户

先决条件

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

准备阶段

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

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

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

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

Azure 门户

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

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

  3. 选择“证书颁发机构”选项卡: 屏幕截图显示正在选择“证书颁发机构”选项卡。

  4. 选择“添加”: 屏幕截图显示了“证书颁发机构”选项卡上的“添加”按钮。

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

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

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

Azure PowerShell

可以使用 Azure PowerShell 通过命令或脚本创建和管理 Azure 资源。 Azure 托管 Azure Cloud Shell(一个可通过 Azure 门户在浏览器中使用的交互式 shell 环境)。

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

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

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

    • 保管库名称:Contoso-Vaultname
    • 资源组名称:ContosoResourceGroup
    • 位置EastUS
    New-AzKeyVault -Name 'Contoso-Vaultname' -ResourceGroupName 'ContosoResourceGroup' -Location 'EastUS'
    
  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 错误消息:

显示“证书操作”选项卡的屏幕截图。

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

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

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

常见问题

  • 能否使用密钥保管库生成 DigiCert 通配符证书?

    是的,但这取决于你对 DigiCert 帐户的配置。

  • 如何使用 DigiCert 创建 OV SSL 或 EV SSL 证书?

    密钥保管库支持创建 OV 和 EV SSL 证书。 创建证书时,选择“高级策略配置”,然后指定证书类型。 支持的值:OV SSL、EV SSL

    如果 DigiCert 帐户允许,可以在密钥保管库中创建这种类型的证书。 对于这种类型的证书,验证由 DigiCert 执行。 如果验证失败,DigiCert 支持团队可以提供帮助。 通过在 subjectName 中定义信息,可以在创建证书时添加信息。

    例如 SubjectName="CN = docs.microsoft.com, OU = Microsoft Corporation, O = Microsoft Corporation, L = Redmond, S = WA, C = US"

  • 通过集成创建 DigiCert 证书的时间是否比直接从 DigiCert 获取证书长?

    否。 创建证书时,验证过程可能需要一些时间。 DigiCert 控制该过程。

后续步骤