你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

购买和管理 Azure 应用服务证书

本文介绍如何创建 Azure 应用服务证书并执行管理任务,例如续订、同步和删除证书。 获得应用服务证书后,即可将其导入应用服务应用。 应用服务证书是 Azure 管理的专用证书。 它结合了自动化证书管理的简单性以及续订和导出选项的灵活性。

如果从 Azure 购买应用服务证书,Azure 将管理以下任务:

  • 处理 GoDaddy 的购买流程。
  • 对证书执行域验证。
  • 将证书保留在 Azure Key Vault 中。
  • 管理证书续订
  • 在应用服务应用中自动将证书与导入的副本同步。

将证书上传到应用后,证书将存储在绑定到应用服务计划的资源组、区域和作系统组合的部署单元中。 在内部,它称为 webspace。 这使得相应证书可供相同资源组和区域组合中的其他应用访问。 上传或导入到应用服务的证书与同一部署单元中的应用服务共享。

先决条件

目前,Azure 国家云不支持应用服务证书。

购买并配置 Azure 应用服务证书

购买证书

  1. 前往“创建应用服务证书”页面开始购买。

    注意

    GoDaddy 颁发从 Azure 购买的应用服务证书。 对于某些域,必须通过创建具有该值0 issue godaddy.com证书颁发机构授权域记录来显式允许 GoDaddy 作为证书颁发者。

    显示“创建应用服务证书”窗格的屏幕截图,其中包含购买选项。

  2. 若要配置证书,请使用下表。 完成后,选择“ 查看 + 创建”,然后选择“ 创建”。

    设置 说明
    订阅 要与证书关联的 Azure 订阅。
    资源组 包含证书的资源组。 例如,可以创建新资源组,也可以选择与应用服务应用相同的资源组。
    SKU 确定要创建的证书类型是标准证书还是通配符证书
    裸域主机名 指定根域。 颁发的证书可同时为根域和 子域提供安全性www。 在颁发的证书中, 公用名 字段指定根域。 “ 使用者可选名称” 字段指定 www 域。 要仅为子域提供安全性,请为子域指定完全限定的域名,例如 mysubdomain.contoso.com
    证书名称 应用服务证书的易记名称。
    启用自动续订 选择是否在到期前自动续订证书。 每次续订都会将证书过期时间延长一年。 费用将从订阅中扣除。
  3. 部署完成后,选择“转到资源”。

将证书存储在 Azure Key Vault 中

密钥保管库是一项 Azure 服务,可帮助保护云应用程序和服务使用的加密密钥和机密。 对于应用服务证书,建议使用密钥保管库。 完成证书购买过程后,还必须先完成几个步骤,然后才能开始使用此证书。

  1. “应用服务证书”页上,选择证书。 在证书窗格中,选择“ 证书配置>步骤 1:存储”。

    显示“证书配置”窗格的屏幕截图,其中“步骤 1:存储”处于选中状态。

  2. “密钥保管库状态 ”页上, 选择“从 Key Vault 中选择”。

  3. 如果创建新的保管库,请根据下表设置保管库。 请确保使用与应用服务应用相同的订阅和资源组。

    设置 说明
    资源组 建议:与应用服务证书相同的资源组。
    密钥保管库名称 仅使用字母数字字符和短划线的唯一名称。
    区域 与应用服务应用相同的位置。
    定价层 有关信息,请参阅 Azure Key Vault 定价详细信息
    已删除保管库的保留天数 对象在删除后保持可恢复状态的天数。 (请参阅 Azure Key Vault 软删除概述。)设置一个介于 7 和 90 之间的值。
    清除保护 启用此选项将强制所有已删除的对象在整个保留期内保持软删除状态。
  4. 选择“下一步”,然后选择“保管库访问策略”。 目前,应用服务证书仅支持 Key Vault 访问策略,不支持基于角色的访问控制模型。

  5. 选择“查看和创建”,然后选择“创建”。

  6. 创建密钥保管库后,请勿选择“转到资源”。 等待“从 Azure Key Vault 选择密钥保管库”页面重新加载。

  7. 选择 选择

  8. 选择保管库后,关闭“密钥保管库存储库”页。 “步骤1: 存储”选项应显示绿色复选标记表示成功。 保持页面处于打开状态,执行下一步骤。

确认域所有权

  1. 在与上一部分相同的 “证书配置 ”页上,选择 “步骤 2:验证”。

    屏幕截图显示了“证书配置”窗格,其中步骤 2:已选中“验证”。

  2. 选择“应用服务验证”。 由于本部分前面已将域映射到了 Web 应用,因此该域已经过验证。 若要完成此步骤,请选择“ 验证”,然后选择“ 刷新 ”,直到消息 “证书已验证 ”出现。

支持以下域验证方法:

方法 说明
应用服务验证 最方便的选项是当域名已经映射到同一订阅中的应用服务应用时,因为应用服务应用已验证该域名的所有权。 查看确认域所有权中的最后一步。
域验证 确认从 Azure 购买的应用服务域。 Azure 会自动为你添加验证 TXT 记录并完成该过程。
邮件验证 通过向域管理员发送电子邮件来确认域。 选择此选项时会提供相应说明。
手动验证 通过使用域名系统 (DNS) TXT 记录或 HTML 页面验证域名。 (后者仅适用于标准证书。请参阅以下备注。)选择选项后会提供这些步骤。 HTML 页面选项不适用于启用了“仅 HTTPS”的 Web 应用。 对于通过根域(例如 contoso.com)或子域(例如 www.contoso.com ,或 test.api.contoso.com)的 DNS TXT 记录进行域验证,无论证书 SKU 如何,都需要在根域级别添加 TXT 记录。 使用 @ 作为名称,使用域验证令牌作为 DNS 记录中的值。

重要说明

如果是标准证书,则会获得所请求的顶级域及 子域的证书(例如,wwwcontoso.com)。www.contoso.com 应用服务验证和手动验证都使用 HTML 页面验证,在颁发、重置密钥证书或续订证书时,都不支持 www 子域。 对于标准证书,请使用域验证和邮件验证,将请求的顶级域及其 www 子域包含在证书中。

证书经过域名验证后,您可以将其导入应用服务

续订应用服务证书

默认情况下,应用服务证书具有一年的有效期。 在到期日期之前,可以自动或手动续订应用服务证书,以一年为增量。 续订过程会有效地提供一个新的应用服务证书,到期日期从现有证书的到期日期延长一年。

自 2021 年 9 月 23 日起,如果在过去 395 天内未验证域,应用服务证书需要在续订、自动续订或重新生成过程中进行域验证。 在续订、自动续订或重新生成的过程中,新的证书订单将保持 待发放 模式,直到完成域验证。

与免费的应用服务托管证书不同,购买的应用服务证书没有自动域重新验证。 未能验证域所有权会导致续订失败。 有关如何验证应用服务证书的详细信息,请查看确认域所有权

续订过程要求应用服务的服务主体拥有对密钥保管库的所需访问权限。 通过 Azure 门户导入应用服务证书时,将为你设置这些权限。 请确保不要从密钥保管库中删除这些权限。

  1. 要随时更改应用服务证书的自动续订设置,请在“应用服务证书”页中选择证书。

  2. 在左窗格中,选择“ 自动续订设置”。

  3. 选择“开启”或“关闭”,然后选择“保存”。

    如果开启自动续订,则证书可在到期前 32 天自动续订。

    显示指定证书的自动续订设置的屏幕截图。

  4. 要改为手动续订证书,请选择“手动续订”。 可以在过期前 60 天请求手动续订证书,但证书的有效期不能超过 397 天

  5. 续订作完成后,选择“ 同步”。

    同步操作会自动更新应用服务中证书的主机名绑定,而不会导致应用停机。

    如果未选择“同步”,应用服务会在 24 小时内自动同步证书。

为应用服务证书重新生成密钥

如果你认为证书的私钥已泄露,则可以为证书重新生成密钥。 此操作将使用证书颁发机构颁发的新证书轮换更新现有证书。

自 2021 年 9 月 23 日起,如果在过去 395 天内未验证域,应用服务证书需要在续订、自动续订或重新生成过程中进行域验证。 在续订、自动续订或重新生成密钥期间,新证书订单将保持“待颁发”模式,直到完成域验证

与免费的应用服务托管证书不同,购买的应用服务证书没有自动域验证。 未能验证域所有权会导致续订失败。 有关如何验证应用服务证书的详细信息,请查看确认域所有权

重新生成密钥过程要求应用服务的服务主体拥有对密钥保管库的访问权限。 通过 Azure 门户导入应用服务证书时,将为你设置这些权限。 请确保不要从密钥保管库中删除这些权限。

  1. “应用服务证书”页上,选择证书。 在左窗格中,选择 “重新键”和“同步”。

  2. 若要开始该过程,请选择“重新生成密钥”。 此过程可能需要 1 到 10 分钟才能完成。

    显示重新设置应用服务证书密钥的屏幕截图。

  3. 可能还需要重新确认域所有权

  4. 重新生成密钥作完成后,选择“ 同步”。

    同步操作会自动更新应用服务中证书的主机名绑定,而不会导致应用停机。

    如果未选择“同步”,应用服务会在 24 小时内自动同步证书。

导出应用服务证书

由于应用服务证书是 Key Vault 机密,因此可以将副本导出为 .pfx 文件,该文件可用于其他 Azure 服务或 Azure 外部。

导出的证书是非托管项目。 应用服务 在续订应用服务证书时不会同步此类项目。 必须在必要时导出并安装续订的证书。

  1. “应用服务证书”页上,选择证书。

  2. 在左窗格中,选择“ 导出证书”。

  3. 选择“打开密钥保管库机密”。

  4. 选择证书的当前版本。

  5. 选择“下载为证书”。

下载的 .pfx 文件是包含公共证书和专用证书的原始 PKCS12 文件,并且具有空字符串的导入密码。 你可以通过将密码字段留空,在本地安装该文件。 无法 将文件上传到应用服务 中,因为该文件不受 密码保护

在应用服务证书中使用 Azure Advisor

应用服务证书与 Azure 顾问 集成,以便在证书需要域验证时提供可靠性建议。 如果您在过去395天内未验证域名,则在续订、自动续订或重新生成过程中必须验证证书的域名所有权。 若要确保不会错过任何需要验证的证书,也不会让任何证书面临过期风险,请使用顾问查看和设置应用服务证书的警报。

查看顾问建议

查看应用服务证书的顾问建议:

  1. 转到 Azure 顾问页

  2. 在左窗格中,选择 “建议>可靠性”。

  3. 选择筛选器选项 类型等于 ,并在下拉列表中搜索 应用服务证书 。 如果下拉列表中不存在该值,这意味着没有为应用服务证书资源生成任何建议,因为它们都不需要域所有权验证。

创建顾问警报

可以使用不同的配置针对新建议创建顾问警报。 若要为应用服务证书专门设置顾问警报,以便在证书需要域所有权验证时收到通知:

  1. 转到 Azure 顾问页

  2. 在左窗格中,选择“监视>警报”(预览版)。

  3. 选择顶部栏中的“ + 新建顾问警报 ”,打开“ 创建顾问警报 ”窗格。

  4. “条件”下,选择以下选项:

    配置者 建议类型
    建议类型 要颁发您的应用服务证书,需要进行域验证。
  5. 填写其余必填字段,然后选择“ 创建警报”。

删除应用服务证书

如果删除应用服务证书,则删除操作是不可逆的,也是最终的。 结果是已吊销的证书。 使用证书的应用服务中的任何绑定都无效。

  1. “应用服务证书”页上,选择证书。

  2. 在左窗格中,选择“ 概述>删除”。

  3. 确认框打开后,输入证书名称,然后选择“确定”。

常见问题

为什么我的应用服务证书在 Key Vault 中没有值?

您的应用服务证书可能尚未完成域名验证。 直到确认了域所有权后,才能使用 Azure 应用服务证书。 作为密钥保管库机密,它维护一个 Initialize 标记,其值和内容类型保持为空。 确认域所有权后,密钥保管库机密会显示值和内容类型,标记将更改为 Ready

为什么无法使用 PowerShell 导出应用服务证书?

您的应用服务证书可能尚未进行域名验证。 直到确认了域所有权后,才能使用 Azure 应用服务证书。

应用服务证书创建过程会对现有的密钥保管库进行哪些更改?

创建过程会进行以下更改:

  • 在保管库中添加两条访问策略:
    • Microsoft Azure 应用服务 (或 Microsoft.Azure.WebSites
    • Microsoft 证书经销商 CSM 资源提供程序(或 Microsoft.Azure.CertificateRegistration
  • 在保管库中创建名为 AppServiceCertificateLock,防止意外删除密钥保管库。