工件签名是 Microsoft 完全托管的端到端证书签名服务。 在本快速入门中,你将创建以下三个项目签名资源以开始使用项目签名:
可以使用 Azure 门户或 Azure CLI 扩展来创建和管理大部分项目签名资源。 (只能在 Azure 门户中完成标识验证。无法使用 Azure CLI 完成标识验证。)本快速入门演示了操作方法。
先决条件
注释
对于公共信任证书,工件签名目前适用于美国、加拿大、欧盟和英国的组织,以及美国和加拿大的个人开发者。 此限制不适用于专用信任证书。
若要完成本快速入门指南,你需要:
注册项目签名资源提供程序
在使用工件签名之前,必须注册工件签名资源提供者。
资源提供程序是一种提供Azure资源的服务。 使用 Azure 门户或 Azure CLI 注册 Microsoft.CodeSigning Artefact 签名资源提供程序。
通过 Azure 门户注册项目签名资源提供程序:
登录到 Azure 门户。
在搜索框中或“所有服务”下,选择“订阅”。
选择要在其中创建项目签名资源的订阅。
在资源菜单的“设置”下,选择“资源提供程序”。
在资源提供程序列表中,选择Microsoft。CodeSigning。
默认情况下,该资源提供程序的状态为“未注册”。
选择省略号,然后选择“注册”。
资源提供程序的状态更改为“已注册”。
若要使用Azure CLI注册人工制品签名资源提供程序,请执行以下操作:
如果使用Azure CLI的本地安装,请使用 az login 命令登录到Azure CLI。
若要完成身份验证过程,请完成终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
首次使用时出现提示时,请安装Azure CLI扩展。
有关详细信息,请参阅 使用 Azure CLI 的扩展。
有关 Artifact 签名 Azure CLI 扩展的详细信息,请参阅 Artifact 签名服务。
若要查看已安装的Azure CLI和依赖库的版本,请使用 az version 命令。
若要升级到Azure CLI和依赖库的最新版本,请运行以下命令:
az upgrade [--all {false, true}] [--allow-preview {false, true}] [--yes]
要设置默认订阅 ID,请使用 az account set -s <subscription ID> 命令。
要注册“工件签名”资源提供程序,请使用以下命令:
az provider register --namespace "Microsoft.CodeSigning"
验证注册:
az provider show --namespace "Microsoft.CodeSigning"
要添加制品签名的扩展,请使用以下命令:
az extension add --name artifact-signing
安装 Azure PowerShell 并登录。
要设置默认订阅 ID,请使用 Set-AzContext -Subscription <subscription ID> 命令。
验证注册:
Get-AzResourceProvider -ProviderNamespace Microsoft.CodeSigning
创建项目签名帐户
项目签名帐户是一个逻辑容器,包含标识验证和证书配置文件资源。 标识验证在订阅 ID 级别可用,可在该订阅中的所有项目签名帐户之间共享。
支持构件签名的 Azure 区域
只能在服务当前可用的Azure区域中创建项目签名资源。 下表列出了当前支持项目签名资源的Azure区域:
| 区域 |
区域类字段 |
终结点 URI 值 |
| Brazil South |
巴西南部 |
https://brs.codesigning.azure.net |
| 美国中部 |
中央美国地区 |
https://cus.codesigning.azure.net |
| 美国东部 |
EastUS |
https://eus.codesigning.azure.net |
| 日本东部 |
JapanEast |
https://jpe.codesigning.azure.net |
| 韩国中部 |
KoreaCentral |
https://krc.codesigning.azure.net |
| 美国中北部 |
NorthCentralUS |
https://ncus.codesigning.azure.net |
| 北欧 |
NorthEurope |
https://neu.codesigning.azure.net |
| 波兰中部 |
波兰中部 |
https://plc.codesigning.azure.net |
| 美国中南部 |
SouthCentralUS |
https://scus.codesigning.azure.net |
| 瑞士北部 |
SwitzerlandNorth |
https://swn.codesigning.azure.net |
| 美国中西部 |
WestCentralUS |
https://wcus.codesigning.azure.net |
| 西欧 |
西欧 |
https://weu.codesigning.azure.net |
| 美国西部 |
WestUS |
https://wus.codesigning.azure.net |
| 美国西部 2 |
WestUS2 |
https://wus2.codesigning.azure.net |
| 美国西部 3 |
WestUS3 |
https://wus3.codesigning.azure.net |
项目签名帐户的命名约束
项目签名帐户名称有一些约束。
项目签名帐户名称必须:
- 包含 3 到 24 个字母数字字符。
- 全局唯一。
- 以字母开头。
- 以字母或数字结尾。
- 不包含连续的连字符。
项目签名帐户名称是:
- 不区分大小写(“ABC”和“abc”没有区别)。
- 如果以“one”开头,会被Azure 资源管理器拒绝。
若要使用 Azure 门户创建项目签名帐户,请执行以下操作:
登录到 Azure 门户。
搜索并选择“项目签名帐户”。
截图,显示在 Azure 门户中搜索项目签名帐户。
在“ 项目签名帐户 ”窗格中,选择“ 创建”。
对于 Subscription,请选择Azure订阅。
对于“资源组”,选择“新建”,然后输入资源组名称。
对于“帐户名称”,输入唯一的帐户名称。
有关详细信息,请参阅 项目签名帐户的命名约束。
对于 Region,请选择支持人工制品签名的 Azure 区域。
对于“定价”,选择一个定价层。
选择“查看 + 创建”按钮。
成功创建项目签名帐户后,选择“转到资源”。
若要使用 Azure CLI创建项目签名帐户,请执行以下操作:
- 使用以下命令创建资源组。 如果选择使用现有资源组,请跳过此步骤。
az group create --name MyResourceGroup --location EastUS
使用以下命令创建唯一的项目签名帐户。
有关详细信息,请参阅 项目签名帐户的命名约束。
若要创建具有基本 SKU 的工件签名账户,请执行以下操作:
az artifact-signing create -n MyAccount -l eastus -g MyResourceGroup --sku Basic
若要创建具有高级 SKU 的 Artifact 签名帐户,请执行以下步骤:
az artifact-signing create -n MyAccount -l eastus -g MyResourceGroup --sku Premium
- 请通过以下方式验证您的工件签名帐户:
az artifact-signing show -g MyResourceGroup -n MyAccount`
注释
如果使用项目签名预览版中的早期 Azure CLI 版本,你的帐户默认使用基本 SKU。 若要使用高级 SKU,请将Azure CLI升级到最新版本,或使用 Azure 门户创建帐户。
下表列出了创建项目签名帐户时要使用的 有用命令 :
| Command |
Description |
az artifact-signing -h |
显示帮助命令和详细选项。 |
az artifact-signing show -n MyAccount -g MyResourceGroup |
显示帐户的详细信息。 |
az artifact-signing update -n MyAccount -g MyResourceGroup --tags "key1=value1 key2=value2" |
更新标记。 |
az artifact-signing list -g MyResourceGroup |
列出资源组中的所有帐户。 |
若要使用 Azure CLI创建项目签名帐户,请执行以下操作:
- 使用以下命令创建资源组。 如果选择使用现有资源组,请跳过此步骤。
New-AzResourceGroup -Name "MyResourceGroup" -Location "EastUS"
使用以下命令创建唯一的项目签名帐户。
有关详细信息,请参阅 项目签名帐户的命名约束。
若要创建具有基本 SKU 的工件签名账户,请执行以下操作:
New-AzArtifactSigningAccount -AccountName test -ResourceGroupName rg-test -Location eastus -SkuName Basic
若要创建具有高级 SKU 的 Artifact 签名帐户,请执行以下步骤:
New-AzArtifactSigningAccount -AccountName test -ResourceGroupName rg-test -Location eastus -SkuName Premium
- 请通过以下方式验证您的工件签名帐户:
Get-AzArtifactSigningAccount -AccountName test -ResourceGroupName rg-test
创建标识验证请求
可填写请求表单,提供证书中必须包含的信息,完成自己的标识验证。 标识验证只能在Azure门户中完成。 无法使用Azure CLI完成标识验证。
注释
如果没有相应的角色,则无法创建标识验证请求。 如果 Azure 门户中菜单栏上的“新建标识”按钮灰显,请确保你被分配了“工件签名身份验证者”角色,以继续进行身份验证。
若要为组织或 DBA 创建身份验证请求,请执行如下操作:
在 Azure 门户中,转到你的新工件签名帐户。
确认你已被分配项目签名标识验证者角色。
若要了解如何使用基于角色的访问控制 (RBAC) 进行管理,请参阅 教程:在制品签名中分配角色。
在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 标识验证”。
选择“新建标识”,然后选择“公共”或“专用”。
- 公共标识验证仅适用于以下证书配置文件类型:公共信任、公共信任测试、VBS Enclave。
- 专用标识验证仅适用于以下证书配置文件类型:专用信任、专用信任 CI 策略。
在“新建标识验证”上,提供以下信息:
| Fields |
详细信息 |
|
组织名称 |
对于公共标识验证,请提供要向其颁发证书的合法企业实体。 对于私有身份验证,该值默认为您的Microsoft Entra租户名称。 |
|
(仅限专用标识类型)组织单位 |
输入相关信息。 |
|
网站 URL |
输入属于该合法企业实体的网站。 |
|
主电子邮件地址 |
输入与正在验证的法律业务实体关联的电子邮件地址。 在标识验证过程中,验证链接将发送到此电子邮件地址,且该链接在七天内过期。 确保电子邮件地址可接收来自外部电子邮件地址的电子邮件(带有链接)。 这是用于接收完成已验证凭据和电子邮件验证链接的电子邮件地址。 |
|
次要电子邮件地址 |
此电子邮件地址必须与主要电子邮件地址不同(接受通讯组列表)。 对于组织,域必须与主电子邮件地址中提供的电子邮件地址匹配。 确保电子邮件地址可以接收来自外部电子邮件地址且带有链接的电子邮件。 |
|
企业标识符 |
输入合法企业实体的企业标识符。 |
|
卖家 ID |
仅适用于Microsoft Store客户。 在合作伙伴中心门户中查找卖家 ID。 |
|
街道, 城市, 国家/地区, 州/省, 邮政编码 |
输入合法企业实体的企业地址。 |
|
名字 |
请输入代表将执行个人身份验证的组织的人员的名字。 使用在政府颁发的身份证件中显示的确切名称进行身份验证过程。 |
|
姓 |
输入代表该组织的个人的姓氏。 此人进行个人身份验证。 使用在政府颁发的身份证件中显示的确切名称进行身份验证过程。 |
选择“证书主题预览”,查看证书中显示的信息预览。
选择“创建”按钮。
成功创建请求后,标识验证请求状态将更改为“正在进行”。
当状态更改为 “需要行动”时,请按照在上方“身份验证–个人开发者”标签页中从步骤 9 开始进行的说明。
单个标识验证的链接也会通过电子邮件发送到主要电子邮件地址。
成功完成个人标识验证后,状态将更改回 “正在进行 ”,验证过程将继续。
如果需要更多文件,会发送一封电子邮件,并且请求状态将更改为“需要操作”。
标识验证过程完成后,请求状态将发生更改,并且会发送一封电子邮件,其中包含请求的更新状态:
-
如果过程已成功完成,状态为“已完成”。
-
如果过程未成功完成,状态为“失败”。
| 要求 |
详细信息 |
| Onboarding |
为了更快完成加入过程,请确保已验证的合法企业实体的公共记录是最新的。 |
| 准确性 |
确保为公共标识验证提供正确信息。 如果需要在创建后进行任何更改,必须完成新的标识验证请求。 此更改会影响用于签名的关联证书。 |
| 电子邮件验证失败 |
如果电子邮件验证失败,必须发起新的标识验证请求。 |
| 标识验证状态 |
当标识验证状态更新时,你会收到电子邮件通知。 还可以随时在Azure门户中检查状态。 |
| 处理时间 |
处理标识验证请求需要 1 到 20 个工作日(如果需要向你请求更多文档,可能更长)。 |
| 更多文档 |
如果我们需要更多文档来处理标识验证请求,我们会通过电子邮件通知你。 可以在Azure门户中上传文档。 对于文档上传,最多可尝试三次。 文档请求电子邮件包含有关文件大小要求的信息。 确保提供的文档都是最新的。 - 提交的所有文档必须是在过去 12 个月内颁发的,并且其到期日期必须是至少两个月后的未来日期。 - 如果无法提供其他文档,请更新帐户信息,以匹配已提供的任何法律文档或官方公司注册详细信息。 - 提供正式业务文档(如业务注册表单、商业宪章或合并条款)时,应在创建标识验证请求时提供公司名称和地址。 - 确保域名注册或续订时的注册信息或发票中列出了实体及联系人名称,以及请求中包含或提及的所有域名。 |
若要为单个开发人员创建单个标识验证请求,请执行以下作:
在 Azure 门户中,转到你的新工件签名帐户。
确认你已被分配项目签名标识验证者角色。
若要了解如何使用基于角色的访问控制(RBAC)管理访问权限,请参阅 教程:在项目签名中分配角色。
在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 标识验证”。
选择 “组织”,在下拉列表中选择“ 个人 ”,然后选择“ 公共”。
- 公共标识验证适用于以下证书配置文件类型:公共信任、公共信任测试、VBS Enclave。
- 专用标识验证仅适用于组织。
在“新建标识验证”上,提供以下信息:
| Fields |
详细信息 |
|
名字 |
使用在政府颁发的身份证件中显示的确切名称进行身份验证过程。 |
|
姓 |
使用在政府颁发的身份证件中显示的确切名称进行身份验证过程。 |
|
主电子邮件地址 |
输入要接收标识验证链接的电子邮件地址。 登录 Microsoft 帐户以访问标识验证链接时,请确保使用相同的电子邮件地址。 |
|
街道, 城市, 国家/地区, 州/省, 邮政编码 |
请按照政府颁发的身份证、公用事业账单或银行账单上的地址输入。 此处输入的地址中的城市、州/省和国家/地区显示在证书上。 |
证书使用者预览 显示证书上显示的信息预览。
选择“创建”按钮。
成功创建请求后,标识验证请求状态将更改为“正在进行”。
状态变更为需要采取行动时。 选择你的名称,右侧会打开一个边栏。 选择“请在此处完成验证”下的链接。
按照链接完成标识验证过程。 使用在创建请求时提供的电子邮件地址。 出现提示时输入凭据,系统会将你导航到下一个屏幕。
请在此选择“通过我们可信的 ID 验证员进行认证”。
使用受信任的合作伙伴页面创建已验证的凭据。 以下步骤演示了一个示例演练。 它使用受信任的合作伙伴:AU10TIX。 你已导航到第三方网站。
- 选择“开始”。
在此处输入请求中的主电子邮件地址。
AU10TIX在包含 PIN 代码的电子邮件中发送电子邮件验证。
- 检查电子邮件中的验证电子邮件,并输入 PIN 代码以验证电子邮件帐户。
在下一屏幕上出现提示时输入电话号码。
选择 “开始”。
使用移动设备的相机扫描 QR 码。 不要在浏览器中关闭此屏幕。
在移动设备上,选择“开始”。 按照步骤完成该过程,并在出现提示时提供相关文档。
在移动设备上完成 Au10TIX 过程后,选择 “打开验证器”。
现在回到浏览器,从移动设备扫描 QR 码。 不要关闭浏览器。
选择 Add 将验证的 ID 添加到Microsoft Authenticator应用。
浏览器屏幕显示“出示您的已验证 ID”。 扫描 QR 码。
选择可与 Artifact Signing 共享的 可验证凭据。
选择“共享”以与项目签名共享凭据。
成功完成后,您的非移动设备上的浏览器屏幕将更新为:验证成功。
Azure门户上的标识验证状态更新需要几分钟时间。 对于成功的 Verified ID 状态,Azure portal 上的状态将更改为 Completed。
移动 OS 和支持的浏览器的最低要求:
接受的 ID 类型:
- 政府颁发的 ID,如护照、驾驶执照或身份证。
- 身份证(或美国社会保障卡)。
- 官方颁发的 ID,如护照、驾照或州 ID。
- 不要提交私人颁发的 ID,例如图书馆卡、学校 ID、俱乐部会员卡等。
可见性/低光/亮光:
- 不要使用闪存。
- 不要将 ID 放在阳光直射中。
- 拍摄照片时,保持相机或移动设备稳定。
补充文档指南:
- 公用事业账单:电力、水、天然气或电话费(应最近,通常在过去三个月内)。
- 银行帐单:显示个人地址的银行或信用卡公司的正式账单。
- POA 文档的地址、名称和日期必须显示在主页(第一页),因此不需要多个页面。
一般最佳做法:
- 每个文件只包含一张图片。如果是双面图像,每一面各创建一个文件。
- 不接受手写文档。
- 不要裁剪图像(剪切角,遗漏部分),在拍摄之前,尽量在拍摄图像的所有侧面都有边距。
- 请勿使用 Photoshop 或其他编辑软件;不要以任何方式更改文档。
- 不要使用闪存。
- 在文档位于平面上时,从文档正上方拍摄照片。
- 避免彩色和嘈杂的背景。
- 不要妨碍身份证明(确保没有手指遮挡文件的部分)。
- 使用不低于 200 DPI 的颜色图像。 理想的图像大小为 500Kb。 AU10TIX最佳做法是接受具有 400 DPI 及更高版本的图像。
- 正常结果的图像大小的最小阈值为 600 W X 370 H 像素。
- 接受的文件类型:.bmp .jpg .gif .tif .pdf。
- 用户无法上传小于 30kb 或大于 5MB 的图像。
创建证书配置文件
证书配置文件资源是已颁发给你进行签名的证书的逻辑容器。
证书配置文件的命名约束
证书配置文件名称具有一些约束。
证书配置文件名称必须:
- 包含 5 到 100 个字母数字字符。
- 以字母开头,以字母或数字结尾,并且不包含连续的连字符。
- 在帐户中唯一。
证书配置文件名称:
- 在帐户所在的同一 Azure 区域中,默认继承。
- 不区分大小写(“ABC”和“abc”没有区别)。
若要在Azure门户中创建证书配置文件,请执行以下操作:
在 Azure 门户中,转到你的新工件签名帐户。
在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 证书配置文件”。
在命令栏上,选择“创建”并选择证书配置文件类型。
在“创建证书配置文件”中,提供以下信息:
a。 对于“证书配置文件名称”,输入唯一名称。
有关详细信息,请参阅证书配置文件的命名约束。
“证书类型”的值根据所选的证书配置文件类型自动填充。
b. 对于“已验证的 CN 和 O”,选择必须在证书上显示的标识验证。
如果证书上必须显示街道地址,请选中“包括街道地址”复选框。
如果证书上必须显示邮政编码,请选中“包括邮政编码”复选框。
剩余字段中的值根据“已验证的 CN 和 O”中的选定内容自动填充。
生成的“证书使用者预览”会显示将颁发证书的预览。
选择 创建。
先决条件
需要将为其创建证书配置文件的实体的标识验证 ID。 完成这些步骤可在Azure门户中查找标识验证 ID。
在 Azure 门户中,转到你的项目签名帐户。
在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 标识验证”。
选择相关实体的超链接。 在“标识验证”窗格中,可以复制“标识验证 ID”的值。
若要使用 Azure CLI创建证书配置文件,请执行以下操作:
- 使用以下命令创建证书配置文件:
az artifact-signing certificate-profile create -g MyResourceGroup --a
account-name MyAccount -n MyProfile --profile-type PublicTrust --identity-validation-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
有关详细信息,请参阅证书配置文件的命名约束。
- 使用以下命令创建在证书主题名称中包含可选字段(街道地址或邮政编码)的证书配置文件:
az artifact-signing certificate-profile create -g MyResourceGroup --account-name MyAccount -n MyProfile --profile-type PublicTrust --identity-validation-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --include-street true
- 使用以下命令验证是否已成功创建证书配置文件:
az artifact-signing certificate-profile show -g myRG --account-name MyAccount -n MyProfile
下表列出了使用 Azure CLI 创建证书配置文件时要使用的帮助命令:
| Command |
Description |
az artifact-signing certificate-profile create -–help |
显示示例命令的帮助和详细参数说明。 |
az artifact-signing certificate-profile list -g MyResourceGroup --account-name MyAccount |
列出与项目签名帐户关联的所有证书配置文件。 |
az artifact-signing certificate-profile show -g MyResourceGroup --account-name MyAccount -n MyProfile |
获取证书配置文件的详细信息。 |
先决条件
需要将为其创建证书配置文件的实体的标识验证 ID。 完成这些步骤可在Azure门户中查找标识验证 ID。
在 Azure 门户中,转到你的项目签名帐户。
在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 标识验证”。
选择相关实体的超链接。 在“标识验证”窗格中,可以复制“标识验证 ID”的值。
若要使用 Azure Powershell 创建证书配置文件,请执行以下操作:
- 使用以下命令创建证书配置文件:
New-AzArtifactSigningCertificateProfile -AccountName test -ResourceGroupName rg-test -ProfileName test -IdentityValidationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ProfileType PublicTrustTest
有关详细信息,请参阅证书配置文件的命名约束。
- 使用以下命令创建在证书主题名称中包含可选字段(街道地址或邮政编码)的证书配置文件:
New-AzArtifactSigningCertificateProfile -AccountName test -ResourceGroupName rg-test -ProfileName test -IdentityValidationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ProfileType PublicTrustTest -IncludeStreetAddress
- 使用以下命令验证是否已成功创建证书配置文件:
Get-AzArtifactSigningCertificateProfile -AccountName test -ResourceGroupName rg-test -ProfileName test
清理资源
若要使用 Azure 门户删除项目签名资源,请执行以下操作:
删除证书配置文件
- 在 Azure 门户中,转到你的项目签名帐户。
- 在“项目签名帐户 概述 ”窗格或 “对象”下的“资源”菜单上,选择“ 证书配置文件”。
- 在“证书配置文件”中,选择要删除的证书配置文件。
- 在命令栏上,选择“ 删除”。
删除项目签名帐户
- 登录到 Azure 门户。
- 在搜索框中,输入并选择 “项目签名帐户”。
- 在 项目签名帐户上,选择要删除的项目签名帐户。
- 在命令栏上,选择“ 删除”。
注释
此操作将删除链接到此帐户的所有证书配置文件。 与证书配置文件关联的所有签名过程都会停止。
若要使用 Azure CLI删除项目签名资源,请执行以下操作:
删除证书配置文件
要删除项目签名证书配置文件:
az artifact-signing certificate-profile delete -g MyResourceGroup --account-name MyAccount -n MyProfile
删除项目签名帐户
可以使用 Azure CLI 删除工件签名资源。
要删除Artifact Signing账户:
az artifact-signing delete -n MyAccount -g MyResourceGroup
注释
此操作将删除链接到此帐户的所有证书配置文件。 与证书配置文件关联的所有签名过程都会停止。
若要使用 Azure Powershell 删除项目签名资源,请执行以下操作:
删除证书配置文件
要删除项目签名证书配置文件:
Remove-AzArtifactSigningCertificateProfile -AccountName test -ResourceGroupName test -ProfileName test
删除项目签名帐户
要删除项目签名帐户:
Remove-AzArtifactSigningAccount -AccountName test -ResourceGroupName rg-test
注释
此操作将删除链接到此帐户的所有证书配置文件。 与证书配置文件关联的所有签名过程都会停止。
相关内容
在本快速入门中,你创建了项目签名帐户、标识验证请求和证书配置文件。 若要了解有关工件签名的更多信息以及如何开始签名过程,请参阅以下文章:
- 详细了解签名集成。
- 详细了解 工件签名支持的信任模型。
- 详细了解证书管理。
- 在设置方面需要帮助:
- 请通过 Azure 门户联系 Azure 支持。
- 在 Stack Overflow 或 Microsoft Q&A 上发布查询,使用标签:制品签名。
- 标识验证问题只能通过 Stack Overflow 或 Microsoft Q&A 来解决。