Skip to content

Commit 2cd7166

Browse files
authored
Merge pull request #271257 from microsoftshawarma/main
Fixing small changes in versioning and adding questions to FAQ
2 parents 2955d51 + 6db6c24 commit 2cd7166

File tree

6 files changed

+102
-9
lines changed

6 files changed

+102
-9
lines changed

articles/trusted-signing/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
items:
1111
- name: Signing Integrations with Trusted Signing
1212
href: how-to-signing-integrations.md
13+
- name: How-To
14+
items:
15+
- name: Sign CI Policies with Trusted Signing
16+
href: how-to-sign-ci-policy.md
1317
- name: Quickstart
1418
items:
1519
- name: Quickstart onboarding

articles/trusted-signing/faq.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ summary: |
1717
sections:
1818
- name: Onboarding
1919
questions:
20-
- question: What Windows versions does Trusted Signing support? # Question.
20+
- question: What Windows versions do Trusted Signing support? # Question.
2121
answer: |
2222
Refer to the [Trusted Signing Program Windows Support](https://support.microsoft.com/topic/kb5022661-windows-support-for-the-azure-code-signing-program-4b505a31-fa1e-4ea6-85dd-6630229e8ef4) page for details about Windows support for Trusted Signing.
2323
The service is supported on all currently supported versions of:
@@ -47,6 +47,12 @@ sections:
4747
- question: What if I fail identity validation?
4848
answer: |
4949
If more documentation is required for identity validation, you're asked to provide those documents on the Azure portal. Otherwise, we recommend checking for an email sent to the listed address for email validation. However, if your organization fails identity validation we can't onboard you to Trusted Signing. We recommend you delete your Trusted Signing account so you don't get billed for unused resources.
50+
- question: What is the cost of using Trusted Signing?
51+
answer: |
52+
For the beginning of Public Preview until June 2024 Trusted Signing is free. You'll still be prompted to select a Basic or Premium SKU when you create your account and we throttle signing requests.
53+
- question: What are my support options when onboarding to Trusted Signing?
54+
answer: |
55+
If you're a managed customer on Azure, and have a support plan you can create a support ticket with the service on the Azure portal and be assisted by Azure customer support. Otherwise, we recommend you go to Microsoft Q&A or StackOverflow under the tag Trusted-Signing to ask questions.
5056
- name: Certificate Profiles
5157
questions:
5258
- question: What if my Trusted Signing subject name is different than my old cert and my MSIX's package name is now different?
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
title: Signing CI Policies #Required; page title is displayed in search results. Include the brand.
3+
description: Learn how to sign new CI policies with Trusted Signing. #Required; article description that is displayed in search results.
4+
author: microsoftshawarma #Required; your GitHub user alias, with correct capitalization.
5+
ms.author: rakiasegev #Required; microsoft alias of author; optional team alias.
6+
ms.service: azure-code-signing #Required; service per approved list. slug assigned by ACOM.
7+
ms.topic: how-to #Required; leave this attribute/value as-is.
8+
ms.date: 04/04/2024 #Required; mm/dd/yyyy format.
9+
ms.custom: template-how-to-pattern #Required; leave this attribute/value as-is.
10+
---
11+
12+
# Sign CI Policies with Trusted Signing
13+
14+
To sign new CI policies with the service first install several prerequisites.
15+
16+
17+
Prerequisites:
18+
* A Trusted Signing account, Identity Validation, and Certificate Profile.
19+
* Ensure there are proper individual or group role assignments for signing (“Trusted Signing Certificate Profile Signer” role).
20+
* [Azure PowerShell on Windows](https://learn.microsoft.com/powershell/azure/install-azps-windows) installed
21+
* [Az.CodeSigning](https://learn.microsoft.com/powershell/module/az.codesigning/) module downloaded
22+
23+
Overview of steps:
24+
1. ⁠Unzip the Az.CodeSigning module to a folder
25+
2. ⁠Open Windows PowerShell [PowerShell 7](https://github.com/PowerShell/PowerShell/releases/latest)
26+
3. In the Az.CodeSigning folder, run
27+
```
28+
Import-Module .\Az.CodeSigning.psd1
29+
```
30+
4. Optionally you can create a `metadata.json` file:
31+
```
32+
Endpoint "https://scus.codesigning.azure.net/"
33+
CodeSigningAccountName "youracsaccount"
34+
CertificateProfileName "youracscertprofile"
35+
```
36+
5. [Get the root certificate](https://learn.microsoft.com/powershell/module/az.codesigning/get-azcodesigningrootcert) to be added to the trust store
37+
```
38+
Get-AzCodeSigningRootCert -AccountName TestAccount -ProfileName TestCertProfile -EndpointUrl https://xxx.codesigning.azure.net/ -Destination c:\temp\root.cer
39+
```
40+
Or using a metadata.json
41+
```
42+
Get-AzCodeSigningRootCert -MetadataFilePath C:\temp\metadata.sample.scus.privateci.json https://xxx.codesigning.azure.net/ -Destination c:\temp\root.cer
43+
```
44+
6. To get the EKU (Extended Key Usage) to insert into your policy:
45+
```
46+
Get-AzCodeSigningCustomerEku -AccountName acstestcanary -ProfileName acstestcanaryCert1 -EndpointUrl https://xxx.codesigning.azure.net/
47+
```
48+
Or
49+
50+
```
51+
Get-AzCodeSigningCustomerEku -MetadataFilePath C:\temp\metadata.sample.scus.privateci.json
52+
```
53+
7. To sign your policy, you run the invoke command:
54+
```
55+
Invoke-AzCodeSigningCIPolicySigning -accountName acstestcanary -profileName acstestcanaryCert1 -endpointurl "https://xxx.codesigning.azure.net/" -Path C:\Temp\defaultpolicy.bin -Destination C:\Temp\defaultpolicy_signed.bin -TimeStamperUrl: http://timestamp.acs.microsoft.com
56+
```
57+
58+
Or use a `metadata.json` file and the following command:
59+
60+
```
61+
Invoke-AzCodeSigningCIPolicySigning -MetadataFilePath C:\temp\metadata.sample.scus.privateci.json -Path C:\Temp\defaultpolicy.bin -Destination C:\Temp\defaultpolicy_signed.bin -TimeStamperUrl: http://timestamp.acs.microsoft.com
62+
```
63+
64+
## Creating and Deploying a CI Policy
65+
66+
For steps on creating and deploying your CI policy refer to:
67+
* [Use signed policies to protect Windows Defender Application Control against tampering](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/deployment/use-signed-policies-to-protect-wdac-against-tampering)
68+
* [Windows Defender Application Control design guide](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/design/wdac-design-guide)
69+

articles/trusted-signing/how-to-signing-integrations.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: microsoftshawarma #Required; your GitHub user alias, with correct capita
55
ms.author: rakiasegev #Required; microsoft alias of author; optional team alias.
66
ms.service: azure-code-signing #Required; service per approved list. slug assigned by ACOM.
77
ms.topic: how-to #Required; leave this attribute/value as-is.
8-
ms.date: 03/21/2024 #Required; mm/dd/yyyy format.
8+
ms.date: 04/04/2024 #Required; mm/dd/yyyy format.
99
ms.custom: template-how-to-pattern #Required; leave this attribute/value as-is.
1010
---
1111

@@ -17,7 +17,8 @@ Trusted Signing currently supports the following signing integrations:
1717
* ADO Task
1818
* PowerShell for Authenticode
1919
* Azure PowerShell - App Control for Business CI Policy
20-
We constantly work to support more signing integrations and will update the above list if/when more are available.
20+
21+
We constantly work to support more signing integrations and update the above when more become available.
2122

2223
This article explains how to set up each of the above Trusted Signing signing integrations.
2324

@@ -66,7 +67,7 @@ The components that SignTool.exe uses to interface with Trusted Signing require
6667

6768
### Download and install Trusted Signing Dlib package
6869
Complete these steps to download and install the Trusted Signing Dlib package (.ZIP):
69-
1. Download the [Trusted Signing Dlib package](https://www.nuget.org/packages/Azure.CodeSigning.Client).
70+
1. Download the [Trusted Signing Dlib package](https://www.nuget.org/packages/Microsoft.Trusted.Signing.Client).
7071

7172
2. Extract the Trusted Signing Dlib zip content and install it onto your signing node in a directory of your choice. You’re required to install it onto the node you’ll be signing files from with SignTool.exe.
7273

@@ -113,12 +114,12 @@ Trusted Signing certificates have a 3-day validity, so timestamping is critical
113114
## Use other signing integrations with Trusted Signing
114115
This section explains how to set up other not [SignTool](#set-up-signtool-with-trusted-signing) signing integrations with Trusting Signing.
115116

116-
* GitHub Action – To use the GitHub action for Trusted Signing, visit [Azure Code Signing · Actions · GitHub Marketplace](https://github.com/marketplace/actions/azure-code-signing) and follow the instructions to set up and use GitHub action.
117+
* GitHub Action – To use the GitHub action for Trusted Signing, visit [Trusted Signing · Actions · GitHub Marketplace](https://github.com/azure/trusted-signing-action) and follow the instructions to set up and use GitHub action.
117118

118-
* ADO Task – To use the Trusted Signing AzureDevOps task, visit [Azure Code Signing - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.AzureCodeSigning) and follow the instructions for setup.
119+
* ADO Task – To use the Trusted Signing AzureDevOps task, visit [Trusted Signing - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.TrustedSigning&ssr=false#overview) and follow the instructions for setup.
119120

120-
* PowerShell for Authenticode – To use PowerShell for Trusted Signing, visit [PowerShell Gallery | AzureCodeSigning 0.2.15](https://www.powershellgallery.com/packages/AzureCodeSigning/0.2.15) to install the PowerShell module.
121+
* PowerShell for Authenticode – To use PowerShell for Trusted Signing, visit [PowerShell Gallery | Trusted Signing 0.3.8](https://www.powershellgallery.com/packages/TrustedSigning/0.3.8) to install the PowerShell module.
121122

122-
* Azure PowerShellApp Control for Business CI Policy - App Control for Windows [link to CI policy signing tutorial].
123+
* Azure PowerShell: App Control for Business CI Policy – To use Trusted Signing for CI policy signing follow the instructions at [Signing a New CI policy](./how-to-sign-ci-policy.md) and visit the [Az.CodeSigning PowerShell Module](https://learn.microsoft.com/powershell/azure/install-azps-windows).
123124

124125
* Trusted Signing SDK – To create your own signing integration our [Trusted Signing SDK](https://www.nuget.org/packages/Azure.CodeSigning.Sdk) is publicly available.

articles/trusted-signing/index.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ landingContent:
2424
links:
2525
- text: Implement Signing Integrations with Trusted Signing
2626
url: how-to-signing-integrations.md
27+
- title: CI Policy Signing
28+
linkLists:
29+
- linkListType: how-to-guide
30+
links:
31+
- text: Sign CI Policies with Trusted Signing
32+
url: how-to-sign-ci-policy.md
2733
- title: Overview
2834
linkLists:
2935
- linkListType: overview

articles/trusted-signing/tutorial-assign-roles.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,18 @@ The Identity Verified role specifically is needed to manage Identity Validation
2727

2828
## Assign roles in Trusting Signing
2929
Complete the following steps to assign roles in Trusted Signing.
30+
3031
1. Navigate to your Trusted Signing account on the Azure portal and select the **Access Control (IAM)** tab in the left menu.
3132
2. Select on the **Roles** tab and search "Trusted Signing". You can see in the screenshot below the two custom roles.
3233
![Screenshot of Azure portal UI with the Trusted Signing custom RBAC roles.](./media/trusted-signing-rbac-roles.png)
3334

34-
3. To assign these roles, select on the **Add** drop down and select **Add role assignment**. Follow the [Assign roles in Azure](../role-based-access-control/role-assignments-portal.md) guide to assign the relevant roles to your identities.
35+
3. To assign these roles, select on the **Add** drop down and select **Add role assignment**. Follow the [Assign roles in Azure](https://docs.microsoft.com/azure/role-based-access-control/role-assignments-portal?tabs=current) guide to assign the relevant roles to your identities. _You'll need at least a Contributor role to create a Trusted Signing account and certificate profile._
36+
4. For more granular access control on the certificate profile level, you can use the Azure CLI to assign roles. The following commands can be used to assign the _Code Signing Certificate Profile Signer_ role to users/service principles to sign files.
37+
```
38+
az role assignment create --assignee <objectId of user/service principle>
39+
--role "Code Signing Certificate Profile Signer"
40+
--scope "/subscriptions/<subscriptionId>/resourceGroups/<resource-group-name>/providers/Microsoft.CodeSigning/codeSigningAccounts/<codesigning-account-name>/certificateProfiles/<profileName>"
41+
```
3542

3643
## Related content
3744
* [What is Azure role-based access control (RBAC)?](../role-based-access-control/overview.md)

0 commit comments

Comments
 (0)