Skip to content

Commit 9215a65

Browse files
added dgss migration fixes
1 parent bbf083e commit 9215a65

File tree

3 files changed

+26
-23
lines changed

3 files changed

+26
-23
lines changed

articles/trusted-signing/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
href: how-to-renew-identity-validation.md
2525
- name: Change Pricing Tier
2626
href: how-to-change-sku.md
27+
- name: Device Guard Signing Service Migration
28+
href: how-to-device-guard-signing-service-migration
2729
- name: Tutorials
2830
items:
2931
- name: Assign roles in Trusted Signing

articles/trusted-signing/how-to-device-guard-signing-service-migration.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@ ms.custom: template-how-to-pattern, devx-track-azurepowershell
1010
---
1111

1212

13-
# Device Guard Signing Service (DGSSv2) Migration to Trusted Signing for code integrity policy
13+
# Device Guard Signing Service (DGSSv2) migration to Trusted Signing for code integrity policy
1414

1515
Device Guard Signing Service is being deprecated at the beginning of December 2024. All existing DGSSv2 customers who plan to continue using the service must transition to Trusted Signing.
16-
The root that issues the code signing and CI policy signing certificates remains the same between DGSSv2 and Trusted Signing. Since Trusted Signing is an Azure service, you now need to have Azure Tenant Id and Subscription Id to access signing, and a new dedicated EKU for signing. Steps you need to take include:
16+
The root that issues the code signing and CI policy signing certificates remains the same between DGSSv2 and Trusted Signing. Since Trusted Signing is an Azure service, you now need to have Azure Tenant ID and Subscription ID to access signing, and a new dedicated EKU for signing. Steps you need to take include:
1717

18-
- Get an Azure account
19-
- Set up access to signing control (controlled through Azure portal and Azure identities)
20-
- Choose a pricing tier (Trusted Signing is a paid service – learn more about pricing [here](https://azure.microsoft.com/pricing/details/trusted-signing/))
21-
- Follow the steps dependent on your migration scenarios
18+
1. Get an Azure account
19+
2. Set up access to signing control (controlled through Azure portal and Azure identities)
20+
3. Choose a pricing tier (Trusted Signing is a paid service – learn more about pricing [here](https://azure.microsoft.com/pricing/details/trusted-signing/))
21+
4. Follow the steps dependent on your migration scenarios
2222

2323
This guide outlines the steps needed to migrate to Trusted Signing. **Read the entirety of this document and note these steps must be followed carefully; missing a step may cause damage to the OS image.**
2424

25-
## Migration Scenarios
25+
## Migration scenarios
2626

2727
- Scenario 1: Signed CI Policy Migration & Deployment
2828
- You have an existing CI policy signed with DGSSv2 and now wish to migrate it to Trusted Signing.
@@ -44,7 +44,7 @@ This guide outlines the steps needed to migrate to Trusted Signing. **Read the e
4444
> Migration isn't possible without creating a Trusted Signing account, Private Trust identity validation, and Private Trust CI policy signing certificate profile using these steps: [Quickstart: Set up Trusted Signing | Microsoft Learn](https://learn.microsoft.com/azure/trusted-signing/quickstart?tabs=registerrp-portal%2Caccount-portal%2Ccertificateprofile-portal%2Cdeleteresources-portal).
4545
4646

47-
## Scenario 1: Signed CI Policy Migration & Deployment
47+
## Scenario 1: Signed CI Policy Migration and Deployment
4848

4949
The migration of the signed CI policy is applicable only to customers who have already implemented a DGSSv2 signed CI policy in their environment. To ensure a smooth transition and deployment, carefully follow the next two steps:
5050

@@ -75,11 +75,11 @@ ConvertFrom-CIPolicy -XmlFilePath <xmlCIPolicyFilePath> -BinaryFilePath <binaryC
7575
5. Deploy this signed policy .bin file. For more information, refer to [Deploy Windows Defender Application Control polices](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/deploy-windows-defender-application-control-policies-using-group-policy).
7676
6. Reboot the machine and confirm the Code Integrity event 3099 shows that the policy is activated.
7777
- Open Event Viewer (Select Start, type Event Viewer) &rarr; Applications and Services Logs &rarr; Microsoft &rarr; Windows &rarr; CodeIntegrity &rarr; Operational
78-
- Filter by event Id 3099
78+
- Filter by event ID 3099
7979
>[!NOTE]
8080
> If you don't see event 3099, DON'T proceed to step 7. Restart from No.1 and make sure your CI policy file is well formed and successfully signed.
81-
- Well formed: Compare the xml with the [default CI policy xml](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/design/example-wdac-base-policies) to verify the format.
82-
- Successfully signed: To verify, use SignTool; refer to this [link](https://docs.microsoft.com/windows/win32/seccrypto/using-signtool-to-verify-a-file-signature).
81+
> - Well formed: Compare the xml with the [default CI policy xml](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/design/example-wdac-base-policies) to verify the format.
82+
> - Successfully signed: To verify, use SignTool; refer to this [link](https://docs.microsoft.com/windows/win32/seccrypto/using-signtool-to-verify-a-file-signature).
8383
8484
7. Run the command to delete this CI policy: `del SiPolicy.p7b` from both folders: C:\Windows\System32\CodeIntegrity and S:\EFI\Microsoft\Boot.
8585
1. If there's no S: drive, run the command:  
@@ -89,10 +89,10 @@ ConvertFrom-CIPolicy -XmlFilePath <xmlCIPolicyFilePath> -BinaryFilePath <binaryC
8989
8. Reboot the machine once deletion is completed.
9090
9. Reboot the machine twice more, to ensure the CI policy is properly removed, before moving on or deploying this change to other machines.
9191

92-
### Step 2: Deploy and Test the new CI policy on the same machine.
92+
### Step 2: Deploy and test the new CI policy on the same machine
9393
1. Continue to the steps outlined in Scenario 2.
9494

95-
## Scenario 2: Unsigned to Signed CI Policy Migration & Deployment
95+
## Scenario 2: Unsigned to Signed CI Policy Migration and Deployment
9696

9797
### Step 1: Determine your new EKUs
9898

@@ -116,7 +116,7 @@ private string CalculateEkuValue(string CustomerEku)
116116
}
117117
```
118118

119-
### Step 2: Deploy and Test the new CI policy.
119+
### Step 2: Deploy and test the new CI policy
120120

121121
1. Now that you have your two EKUs, it is time to edit your CI policy. If you have an existing CI policy, you can proceed to the next section. To create a new one go to: [Policy creation for common WDAC usage scenarios - Windows Security | Microsoft Learn](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/design/common-wdac-use-cases).
122122
2. Add the new EKU in the EKU section of your policy, using the two EKU values from Step 1.
@@ -160,14 +160,15 @@ ConvertFrom-CIPolicy -XmlFilePath <xmlCIPolicyFilePath> -BinaryFilePath <binaryC
160160
6. Deploy this signed policy .bin file; refer to this [link](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide) for instructions.
161161

162162
7. Reboot the machine and confirm that Code Integrity event 3099 is showing, which means the new CI policy is activated.
163-
1. **Note**: If you don't see event 3099, DON'T proceed to step 8. Restart from No.1 and make sure your CI policy file is well formed and successfully signed.
163+
> [!NOTE]
164+
> If you don't see event 3099, DON'T proceed to step 8. Restart from No.1 and make sure your CI policy file is well formed and successfully signed.
164165
1. Well formed: Compare the xml with the default CI policy xml to verify the format.
165166
2. Successfully signed: To verify, use SignTool; refer to this [link](https://docs.microsoft.com/windows/win32/seccrypto/using-signtool-to-verify-a-file-signature).
166167
8. Reboot the machine again to ensure a successful boot.
167168
9. Reboot the machine twice more, to ensure the CI policy is properly enabled, before moving on or deploying this change to other machines.
168169

169170

170-
### Step 3: Perform testing to validate that the new policy does not break any expected scenarios.
171+
### Step 3: Perform testing to validate that the new policy does not break any expected scenarios
171172

172173
1. Verify that any files signed with Trusted Signing still behave as expected.
173174
2. Sign a catalog file with Trusted Signing and make sure it can run on your test machine with the Trusted Signing (new) CI policy.
@@ -180,18 +181,18 @@ ConvertFrom-CIPolicy -XmlFilePath <xmlCIPolicyFilePath> -BinaryFilePath <binaryC
180181

181182
3. After confirming the CI policy is activated on this machine and all scenarios work as expected, repeat steps on the rest of the desired machines in your environment.
182183

183-
## Scenario 3: Unsigned to Unsigned CI Policy Migration & Deployment
184+
## Scenario 3: Unsigned to Unsigned CI Policy Migration and Deployment
184185

185186
You need to add the Trusted Signing EKUs to your existing CI policy by following the steps in Scenario 2 to locate and update the EKUs.
186187

187-
## Scenario 4: No Existing CI Policy
188+
## Scenario 4: No existing CI policy
188189

189190
If isolation is desired, deploy a new CI policy by following steps outlined in Scenario 2.
190191

191192

192-
## Related Content
193+
## Related content
193194

194-
1. [Understand Windows Defender Application Control (WDAC) policy rules and file rules](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create).
195-
2. [Deploy catalog files to support Windows Defender Application Control (Windows 10) - Windows security](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control#:~:text=%20Deploy%20catalog%20files%20to%20support%20Windows%20Defender,signing%20certificate%20to%20a%20Windows%20Defender...%20More%20).
196-
3. [Example Windows Defender Application Control (WDAC) base policies (Windows 10) - Windows security | Microsoft Docs](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/example-wdac-base-policies)
197-
4. [Use multiple Windows Defender Application Control Policies (Windows 10)](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/deploy-multiple-windows-defender-application-control-policies#deploying-multiple-policies-locally)
195+
- [Understand Windows Defender Application Control (WDAC) policy rules and file rules](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/select-types-of-rules-to-create).
196+
- [Deploy catalog files to support Windows Defender Application Control (Windows 10) - Windows security](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/deploy-catalog-files-to-support-windows-defender-application-control#:~:text=%20Deploy%20catalog%20files%20to%20support%20Windows%20Defender,signing%20certificate%20to%20a%20Windows%20Defender...%20More%20).
197+
- [Example Windows Defender Application Control (WDAC) base policies (Windows 10) - Windows security | Microsoft Docs](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/example-wdac-base-policies)
198+
- [Use multiple Windows Defender Application Control Policies (Windows 10)](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-application-control/deploy-multiple-windows-defender-application-control-policies#deploying-multiple-policies-locally)
58 KB
Loading

0 commit comments

Comments
 (0)