You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: windows-driver-docs-pr/dashboard/code-signing-attestation.md
+33-35Lines changed: 33 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,28 +1,28 @@
1
1
---
2
2
title: Attestation Sign Windows Drivers
3
-
description: Sign a Windows driver by using attestation signing, create and sign the CAB file, submit and validate the signed file in the Partner Center, and test your driver on Windows.
3
+
description: Sign a Windows driver by using attestation signing. Create and sign the CAB file, submit and validate the signed file in Partner Center, and test your driver.
4
4
ms.date: 07/15/2025
5
5
ms.topic: how-to
6
6
---
7
7
8
8
# Attestation sign Windows drivers
9
9
10
-
This article describes how to sign a driver by using attestation signing. For detailed information and requirements for attestation signing, see [Attestation signed drivers](driver-signing-offerings.md#attestation-signed-drivers-for-testing-scenarios).
10
+
This article describes how to sign a driver by using attestation signing.
11
11
12
-
> [!IMPORTANT]
13
-
> As of March 1, 2023, attestation signed drivers that target retail audiences are no longer published on Windows Update. Support continues for attestation-signed drivers when testing scenarios with the **CoDev** or **Test Registry Key / Surface SSRK** options.
12
+
> [!NOTE]
13
+
> Attestation signed drivers that target retail audiences aren't published on Windows Update. Support continues for attestation-signed drivers when you're testing scenarios with the **CoDev** or **Test Registry Key / Surface SSRK** options.
14
14
15
15
## Prerequisites
16
16
17
-
- Read and understand the requirements for [Attestation signed drivers](driver-signing-offerings.md#attestation-signed-drivers-for-testing-scenarios) for testing scenarios.
17
+
- Read and understand the requirements for [attestation signed drivers](driver-signing-offerings.md#attestation-signed-drivers-for-testing-scenarios) for testing scenarios.
18
18
19
-
- Register for the Hardware Developer program. If you aren't registered, follow the steps in [Register for the Microsoft Windows Hardware Developer Program](hardware-program-register.md).
19
+
- Register for the Hardware Developer Program. If you aren't registered, follow the steps in [Register for the Microsoft Windows Hardware Developer Program](hardware-program-register.md).
20
20
21
21
- You must have an extended validation (EV) code signing certificate. Check whether your organization already has a code signing certificate.
22
22
23
-
- If you have an existing certificate, make the certificate available.
24
-
25
-
- If your organization doesn't have a certificate, [purchase an EV certificate](code-signing-reqs.md#ev-certificate-signed-drivers).
23
+
- If you have an existing certificate, make the certificate available.
24
+
25
+
- If your organization doesn't have a certificate, [purchase an EV certificate](code-signing-reqs.md#ev-certificate-signed-drivers).
26
26
27
27
- Download and install the Windows Assessment and Deployment Kit (Windows ADK) by following the process described in [Download and install the Windows ADK](/windows-hardware/get-started/adk-install).
28
28
@@ -34,13 +34,13 @@ The following procedure creates a CAB files submission by using the [Echo driver
34
34
35
35
A typical CAB file submission must contain the following components:
36
36
37
-
- The driver itself, for example *Echo.sys*.
37
+
- The driver itself (for example,*Echo.sys*).
38
38
39
39
- The driver INF (*.inf*) file used by the dashboard to facilitate the signing process.
40
40
41
-
- The symbol file used for debugging information, such as *Echo.pdb*. The *.pdb* file is required for Microsoft's automated crash analysis tools.
41
+
- The symbol file used for debugging information, such as *Echo.pdb*. The *.pdb* file is required for Microsoft automated crash analysis tools.
42
42
43
-
- Catalog *.CAT* files are required and used for company verification only. Microsoft regenerates catalog files and replaces any catalog files submitted previously.
43
+
- Catalog (*.cat*) files are required and used for company verification only. Microsoft regenerates catalog files and replaces any catalog files submitted previously.
44
44
45
45
> [!NOTE]
46
46
> Each driver folder in your CAB file must support the same set of architectures. For example, they must support x86, x64, or they must all support both x86 and x64.
@@ -73,7 +73,7 @@ To create the CAB file, follow these steps:
73
73
/V[n] Verbosity level (1..3).
74
74
```
75
75
76
-
1. Prepare a cab file DDF input file. For the Echo driver in this example, the input might be similar to the following code:
76
+
1. Prepare a CAB file device description framework (DDF) input file. For the Echo driver in this example, the input might be similar to the following code:
77
77
78
78
```ddf
79
79
;*** Echo.ddf example
@@ -120,13 +120,13 @@ To create the CAB file, follow these steps:
120
120
Throughput: 86.77 Kb/second
121
121
```
122
122
123
-
1. Locate the CAB file in the `Disk1` subdirectory. You can select the CAB file in File Explorer to verify it contains the expected files.
123
+
1. Locate the CAB file in the `Disk1` subdirectory. You can select the CAB file in File Explorer to verify that it contains the expected files.
124
124
125
125
## Sign the CAB file with your EV certificate
126
126
127
-
The next procedure step is to sign the CAB file with your EV certificate.
127
+
The next step is to sign the CAB file with your EV certificate.
128
128
129
-
Use the process recommended by your EV certificate provider. For example, to sign your CAB file with an SHA256 Certificate/Digest Algorithm/Timestamp, enter the following command:
129
+
Use the process recommended by your EV certificate provider. For example, to sign your CAB file with an SHA256 timestamp, enter the following command:
> Remember to use industry best practices to manage the security of the EV code signing process.
137
137
138
-
## Submit the EV signed Cab file in the Partner Center
138
+
## Submit the EV signed CAB file in Partner Center
139
139
140
-
After you sign the CAB file, you're ready to submit the file in the Partner Center:
140
+
After you sign the CAB file, you're ready to submit the file in Partner Center:
141
141
142
-
1. Go to the [Partner Center hardware dashboard](https://partner.microsoft.com/dashboard/hardware/Search) and sign in with your credentials.
142
+
1. Go to the [Partner Center hardware dashboard](https://partner.microsoft.com/dashboard/hardware/Search), and sign in with your credentials.
143
143
144
-
1. Select **Submit new hardware**:
144
+
1. Select **Submit new hardware**.
145
145
146
146
:::image type="content" source="./images/code-signing-attestation/hardware-list.png" alt-text="Screenshot of the list of hardware submissions.":::
147
147
148
-
1. In the **Packages and signing properties** section, enter a product name for your driver submission. This name can be used to search for and organize your driver submissions.
148
+
1. In the **Packages and signing properties** section, enter a product name for your driver submission. Use this name to search for and organize your driver submissions.
149
149
150
150
> [!NOTE]
151
151
> The name is visible when you share your driver with another company.
@@ -154,21 +154,21 @@ After you sign the CAB file, you're ready to submit the file in the Partner Cent
154
154
155
155
1. For the **Requested Signatures** option, select the signatures to include in your driver package:
156
156
157
-
:::image type="content" source="./images/code-signing-attestation/attestation-flow.png" alt-text="Screenshot showing the options for submitting the Echo driver for signing.":::
157
+
:::image type="content" source="./images/code-signing-attestation/attestation-flow.png" alt-text="Screenshot that shows the options for submitting the Echo driver for signing.":::
158
158
159
159
1. Select **Submit** at the bottom of the page.
160
160
161
-
1. After the signing process completes, download your signed driver from the hardware dashboard.
161
+
1. After the signing process finishes, download your signed driver from the hardware dashboard.
162
162
163
-
## Validate the driver is properly signed
163
+
## Validate that the driver is properly signed
164
164
165
-
Confirm your driver was properly signed with these steps:
165
+
Confirm that your driver is properly signed with these steps:
166
166
167
167
1. After you download the submission file, extract the driver file.
168
168
169
169
1. Open a Command Prompt window with Administrator privileges.
170
170
171
-
1. Enter the following command to verify the driver is signed as expected:
171
+
1. Enter the following command to verify that the driver is signed as expected:
172
172
173
173
```cmd
174
174
C:\Echo> SignTool verify Echo.Sys
@@ -180,23 +180,23 @@ Confirm your driver was properly signed with these steps:
180
180
C:\Echo> SignTool verify /pa /ph /v /d Echo.Sys
181
181
```
182
182
183
-
1. To confirm the EKUs of the driver complete the following steps:
183
+
1. To confirm the Enhanced Key Usages (EKUs) of the driver, complete the following steps:
184
184
185
185
1. Open Windows Explorer and locate the binary file. Right-click the file and select **Properties**.
186
186
187
-
1. On the **Digital Signatures** tab, select the listed item in the Signature list.
187
+
1. On the **Digital Signatures** tab, select the listed item in the signature list.
188
188
189
189
1. Select **Details**, and then select **View Certificate**.
190
190
191
191
1. On the **Details** tab, select **Enhanced Key Usage**.
192
192
193
193
The driver uses the following process when it resigns the driver:
194
194
195
-
1. Append a Microsoft SHA2 embedded signature.
195
+
1. Append a Microsoft SHA-2 embedded signature.
196
196
197
197
1. If the driver binaries are embedded signed by the customer with their own certificates, overwrite the signatures.
198
198
199
-
1. Create and sign a new catalog file with an SHA2 Microsoft certificate. The catalog replaces any existing catalog provided by the customer.
199
+
1. Create and sign a new catalog file with an SHA-2 Microsoft certificate. The catalog replaces any existing catalog provided by the customer.
200
200
201
201
## Test your driver on Windows
202
202
@@ -210,17 +210,15 @@ Install the sample driver and test it on Windows:
210
210
C:\Echo> devcon install echo.inf root\ECHO
211
211
```
212
212
213
-
1. Confirm the driver install process doesn't show the following error message:
214
-
215
-
> _Windows can't verify the publisher of this driver software_ message._
213
+
1. Confirm that the driver install process doesn't show the following error message: "Windows can't verify the publisher of this driver software."
216
214
217
215
## Create a submission with multiple drivers
218
216
219
217
Submit multiple drivers at the same time by following these steps:
220
218
221
-
1. Create a subdirectory for each driver:
219
+
1. Create a subdirectory for each driver.
222
220
223
-
:::image type="content" source="./images/code-signing-attestation/multiple-driver-signing.png" border="false" alt-text="Diagram showing an example driver signing directory structure.":::
221
+
:::image type="content" source="./images/code-signing-attestation/multiple-driver-signing.png" border="false" alt-text="Diagram that shows an example driver signing directory structure.":::
224
222
225
223
1. Prepare a CAB file DDF input file that references the subdirectories. For this example, the input might be similar to the following code:
Copy file name to clipboardExpand all lines: windows-driver-docs-pr/dashboard/code-signing-cert-manage.md
+21-10Lines changed: 21 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,29 +9,40 @@ ms.topic: how-to
9
9
10
10
As a Partner Center administrator, you're responsible for adding, updating, and retiring driver certificates when they expire. This article describes how to get, add, and update code signing certificates to the hardware dashboard.
11
11
12
-
For more information on rules for driver signing, see [Driver Signing changes in Windows 10, version 1607](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10-version-1607/364894) in the [Windows Hardware Certification blog](https://techcommunity.microsoft.com/category/winhec-online/blog/windowshardwarecertification).
12
+
For more information on rules for driver signing, see [Driver signing changes in Windows 10, version 1607](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10-version-1607/364894) in the [Windows Hardware Certification blog](https://techcommunity.microsoft.com/category/winhec-online/blog/windowshardwarecertification).
13
13
14
14
## Prerequisites
15
15
16
-
Register for the Hardware Developer program. If you're not registered, follow the steps in [How to register for the Microsoft Windows Hardware Developer Program](hardware-program-register.md).
16
+
Register for the Hardware Developer Program. If you're not registered, follow the steps in [Register for the Microsoft Windows Hardware Developer Program](hardware-program-register.md).
17
17
18
18
## Get or renew a code signing certificate
19
19
20
20
To get a new code signing certificate:
21
21
22
22
1. Determine which certificate you need. To help you choose a certificate, see [Driver signing requirements](code-signing-reqs.md).
23
+
23
24
1. If you're reusing a certificate, move on to step 5.
25
+
24
26
1. If your organization doesn't have a certificate, you need to [purchase an EV certificate from a trusted vendor](code-signing-reqs.md#where-to-get-ev-code-signing-certificates).
25
-
1. Once the certificate authority verifies your contact information and your certificate purchase is approved, follow their directions to retrieve the certificate.
26
-
1. Go to [Partner Center](https://partner.microsoft.com/dashboard) and sign in using administrator credentials.
27
-
1. Select the gear icon in the upper right, then select **Account Settings**, then **Manage Certificates** on the left side of the screen.
28
-
1. Select **Add a new certificate**, then select **Next**.
29
-
1. Download *Signablefile.bin* and sign it with the new digital certificate for your company using [SignTool](/windows/win32/seccrypto/signtool) with the `/fd sha256` switch and appropriate SHA-2 timestamp.
27
+
28
+
1. After the certificate authority verifies your contact information and your certificate purchase is approved, follow their directions to retrieve the certificate.
29
+
30
+
1. Go to [Partner Center](https://partner.microsoft.com/dashboard) and sign in by using your administrator credentials.
31
+
32
+
1. Select the gear icon in the upper right, select **Account Settings**, and then select **Manage Certificates** on the left side of the screen.
33
+
34
+
1. Select **Add a new certificate**, and then select **Next**.
35
+
36
+
1. Download *Signablefile.bin*. Sign it with the new digital certificate for your company by using [SignTool](/windows/win32/seccrypto/signtool) with the `/fd sha256` switch and the appropriate SHA-2 timestamp.
37
+
30
38
1. Upload the signed file to Partner Center.
31
39
32
40
## Retire a code signing certificate
33
41
34
-
1. Go to [Partner Center](https://partner.microsoft.com/dashboard) and sign in using administrator credentials.
35
-
1. Select the gear icon in the upper right, then select **Developer settings**, then **Manage Certificates** on the left pane.
36
-
1. Move through the page to find the certificate you wish to remove.
42
+
1. Go to [Partner Center](https://partner.microsoft.com/dashboard) and sign in by using your administrator credentials.
43
+
44
+
1. Select the gear icon in the upper right, select **Developer settings**, and then select **Manage Certificates** on the left pane.
45
+
46
+
1. Find the certificate that you want to remove.
47
+
37
48
1. Under the **Action** column of the certificate, select **Remove**.
description: This article describes requirements for code signing your driver.
4
4
ms.date: 05/29/2025
5
5
ms.topic: best-practice
6
6
---
7
7
8
8
# Driver code signing requirements
9
9
10
-
Your drivers must be signed with a certificate before you submit them to the hardware dashboard. Your organization can associate any number of certificates with its dashboard account, and each one of your submissions must be signed with any one of those certificates. There's no restriction on the number of certificates (both extended validation (EV) and Standard) associated with your organization.
10
+
You must sign your drivers with a certificate before you submit them to the hardware dashboard. Your organization can associate any number of certificates with its dashboard account, and each one of your submissions must be signed with any one of those certificates. Whether you have extended validation (EV) or standard certificates, there's no restriction on the number of certificates associated with your organization.
11
11
12
12
This article provides general information on the types of code signing available for your drivers, and the associated requirements for those drivers.
13
13
14
-
For more extensive information on driver signing requirements see the following pages:
14
+
For more extensive information on driver signing requirements, see:
15
+
16
+
-[Driver signing changes in Windows 10](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10/364859)
17
+
18
+
-[Driver signing changes in Windows 10, version 1607](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10-version-1607/364894)
15
19
16
-
-[Driver Signing Changes in Windows 10](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10/364859)
17
-
-[Driver Signing changes in Windows 10, version 1607](https://techcommunity.microsoft.com/blog/windowshardwarecertification/driver-signing-changes-in-windows-10-version-1607/364894)
18
20
-[Update on Sysdev EV Certificate requirement](https://techcommunity.microsoft.com/blog/windowshardwarecertification/update-on-sysdev-ev-certificate-requirement/364879)
19
21
20
22
## Where to get EV code signing certificates
21
23
22
-
EV Code signing certificates can be purchased from one of the following certificate authorities:
24
+
You can purchase EV code signing certificates from one of the following certificate authorities:
23
25
24
26
-[Certum EV code signing certificate](https://shop.certum.eu/certum-ev-code-sigining.html)
27
+
25
28
-[DigiCert EV code signing certificate](https://www.digicert.com/signing/code-signing-certificates)
29
+
26
30
-[GlobalSign EV code signing certificate](https://go.microsoft.com/fwlink/p/?LinkId=620888)
31
+
27
32
-[IdenTrust EV code signing certificate](https://www.identrust.com/digital-certificates/trustid-ev-code-signing)
33
+
28
34
-[Sectigo (formerly Comodo) EV code signing certificate](https://www.sectigo.com/ssl-certificates-tls/code-signing)
35
+
29
36
-[SSL.com EV code signing certificate](https://www.ssl.com/certificates/ev-code-signing/)
30
37
31
38
## EV certificate signed drivers
32
39
33
-
Your Hardware Dev Center dashboard account must have at least one EV certificate associated with it to submit binaries for attestation signing or to submit binaries for HLK certification.
40
+
To submit binaries for attestation signing, your Hardware Dev Center dashboard account must have at least one EV certificate associated with it. This requirement is also true if you want to submit binaries for Windows Hardware Compatibility Program (WHCP) certification.
34
41
35
42
The following rules apply:
36
43
37
44
- Your registered EV certificate must be valid at the time of submission.
38
-
- While Microsoft strongly recommends that you sign individual submissions with an EV certificate, you can alternatively sign submissions with an Authenticode signing certificate that is also registered to your Partner Center account.
39
-
- All certificates must be SHA2 and signed with the `/fd sha256` SignTool command line switch.
45
+
46
+
- Although Microsoft strongly recommends that you sign individual submissions with an EV certificate, you can sign submissions with an Authenticode signing certificate. The Authenticode certificate must be registered to your Partner Center account.
47
+
48
+
- All certificates must be SHA-2, and signed with the `/fd sha256` SignTool command line switch.
40
49
41
50
If you already have an approved EV certificate from a certificate authority, you can use it to establish a Partner Center account. If you don't have an EV certificate, choose [one the certificate authorities](#where-to-get-ev-code-signing-certificates) and follow their directions for purchase.
42
51
43
-
Once the certificate authority verifies your contact information and your certificate purchase is approved, follow their directions to retrieve the certificate.
52
+
After the certificate authority verifies your contact information and your certificate purchase is approved, follow their directions to retrieve the certificate.
0 commit comments