Dela via


Krav för signering av drivrutinskod

Dina drivrutiner måste signeras med ett certifikat innan du skickar dem till maskinvaruinstrumentpanelen. Din organisation kan associera valfritt antal certifikat med sitt instrumentpanelskonto, och var och en av dina inskickade måste signeras med något av dessa certifikat. Det finns ingen begränsning för antalet certifikat (både utökad validering (EV) och Standard) som är associerade med din organisation.

Den här artikeln innehåller allmän information om vilka typer av kodsignering som är tillgängliga för dina drivrutiner och tillhörande krav för dessa drivrutiner.

Mer omfattande information om krav på drivrutinssignering finns på följande sidor:

Var du kan hämta certifikat för EV-kodsignering

EV Code-signeringscertifikat kan köpas från någon av följande certifikatutfärdare:

EV-certifikatsignerade drivrutiner

Ditt instrumentpanelskonto för Maskinvaruutvecklingscenter måste ha minst ett EV-certifikat associerat med det för att skicka binärfiler för attesteringssignering eller för att skicka binärfiler för HLK-certifiering.

Följande regler gäller:

  • Ditt registrerade EV-certifikat måste vara giltigt när det skickas in.
  • Microsoft rekommenderar starkt att du signerar enskilda bidrag med ett EV-certifikat, men du kan också signera inskickade filer med ett Authenticode-signeringscertifikat som också är registrerat på ditt Partnercenter-konto.
  • Alla certifikat måste vara SHA2 och signerade med kommandoradsväxeln /fd sha256 SignTool.

Om du redan har ett godkänt EV-certifikat från en certifikatutfärdare kan du använda det för att upprätta ett Partnercenter-konto. Om du inte har något EV-certifikat väljer du en certifikatutfärdare och följer anvisningarna för köp.

När certifikatutfärdare verifierar din kontaktinformation och ditt certifikatköp har godkänts följer du anvisningarna för att hämta certifikatet.

HLK-testade och instrumentpanelssignerade drivrutiner

En instrumentpanelssignerad drivrutin som har klarat HLK-testerna fungerar i Windows Vista och senare, inklusive Windows Server-utgåvor. HLK-testning är den rekommenderade metoden för drivrutinssignering eftersom den signerar en drivrutin för alla os-versioner. HLK-testade drivrutiner visar att en tillverkare noggrant testar sin maskinvara för att uppfylla alla Microsofts krav på tillförlitlighet, säkerhet, energieffektivitet, servicebarhet och prestanda för att ge en bra Windows-upplevelse. Testning omfattar efterlevnad av branschstandarder och efterlevnad av Microsofts specifikationer för teknikspecifika funktioner, vilket bidrar till att säkerställa korrekt installation, distribution, anslutning och samverkan. Information om hur du skapar en HLK-testad drivrutin för din instrumentpanelsöverföring finns i Komma igång med Windows HLK.

Windows 10-attestering signerade drivrutiner för testscenarier

Installation av Windows-enheter använder digitala signaturer för att verifiera integriteten för drivrutinspaket och identiteten för programvaruutgivaren som tillhandahåller drivrutinspaketen.

Endast i testsyfte kan du skicka in drivrutinerna för attesteringssignering, vilket inte kräver HLK-testning.

Attesteringssignering har följande begränsningar och krav:

  • Attestering av signerade drivrutiner kan inte publiceras till Windows Update för detaljhandelskunder. Om du vill publicera en drivrutin till Windows Update för detaljhandelspubliker måste du skicka din drivrutin via Windows Hardware Compatibility Program (WHCP). Publicering av attesteringssignerade drivrutiner till Windows Update i testsyfte stöds genom att välja codev - eller testregisternyckel/Surface SSRK-alternativ .

  • Attesteringssignering fungerar endast på Windows 10 Desktop och senare versioner av Windows.

  • Attesteringssignering stöder Windows 10 Desktop-kernelläge och drivrutiner för användarläge. Även om drivrutiner för användarläge inte behöver signeras av Microsoft för Windows 10 kan samma attesteringsprocess användas för både drivrutiner för användar- och kernelläge. För drivrutiner som behöver köras i tidigare versioner av Windows bör du skicka HLK/HCK-testloggar för Windows-certifiering.

  • Attesteringssignering returnerar inte rätt PE-nivå för ELAM - eller Windows Hello PE-binärfiler. Dessa binärfiler måste testas och skickas som .hlkx-paket för att få de extra signaturattributen.

  • Attesteringssignering kräver att ett utökat valideringscertifikat (EV) används för att skicka drivrutinen till Partnercenter (Instrumentpanelen för maskinvaruutvecklingscenter).

  • Attesteringssignering kräver att namn på drivrutinsmappar inte innehåller några specialtecken, inga UNC-filresurssökvägar och att de är färre än 40 tecken långa.

  • När en drivrutin får attesteringssignering är den inte Windows-certifierad. En attesteringssignatur från Microsoft anger att drivrutinen är betrodd av Windows. Men eftersom drivrutinen inte har testats i HLK Studio finns det inga garantier för kompatibilitet, funktionalitet och så vidare. En drivrutin som tar emot undertecknande av attestering kan inte publiceras till slutanvändare via Windows Update. Om du vill publicera drivrutinen till detaljhandelspubliker måste du skicka in drivrutinen via Windows Hardware Compatibility Program (WHCP).

  • DUA (Driver Update Acceptable) stöder inte drivrutiner signerade med attest.

  • Följande PE-nivåer och binärfiler kan bearbetas via attestering:

    • PeTrust
    • DrmLevel
    • HAL
    • .exe
    • .cab
    • .dll
    • .ocx
    • .msi
    • .xpi
    • .xap

Information om hur du skapar en attesteringssignerad drivrutin för Windows 10+-drivrutiner finns i Attesteringstecken för Windows 10+-drivrutiner.

Windows Server-signerade drivrutiner

  • Windows Server 2016 och senare accepterar inte attesterade signeringsöverföringar för enhet och filterdrivrutin.
  • Instrumentpanelen signerar endast enhets- och filterdrivrutiner som klarar HLK-testerna.
  • Windows Server 2016 och senare läser bara in instrumentpanelssignerade drivrutiner som klarar HLK-testerna.

Windows Defender Programkontroll

Företag kan implementera en princip för att ändra kraven för drivrutinssignering med Windows 10 Enterprise Edition. Windows Defender Application Control (WDAC) tillhandahåller en företagsdefinierad kodintegritetsprincip som kan konfigureras för att kräva minst en attesteringssignerad drivrutin. Mer information om WDAC finns i Planera och komma igång med distributionsprocessen för Windows Defender Application Control.

Signeringskrav för Windows-drivrutin

I följande tabell sammanfattas kraven på drivrutinssignering för Windows:

Utgåva Attesteringsinstrumentpanel signerad HLK-test godkänd instrumentpanel signerad Korssignerat med ett SHA-1-certifikat utfärdat före den 29 juli 2015
Windows Vista Nej Ja Ja
Windows 7 Nej Ja Ja
Windows 8 /8.1 Nej Ja Ja
Windows 10 Ja Ja Nej (från och med Windows 10 1809)
Windows 10 – DG Aktiverat *Konfigurationsberoende *Konfigurationsberoende *Konfigurationsberoende
Windows Server 2008 R2 Nej Ja Ja
Windows Server 2012 R2 Nej Ja Ja
Windows Server >= 2016 Nej Ja Ja
Windows Server >= 2016 – DG Aktiverat *Konfigurationsberoende *Konfigurationsberoende *Konfigurationsberoende
Windows IoT Enterprise Ja Ja Ja
Windows IoT Enterprise – DG Aktiverat *Konfigurationsberoende *Konfigurationsberoende *Konfigurationsberoende
Windows IoT Core(1) Ja (krävs inte) Ja (krävs inte) Ja (Korssignering fungerar också för certifikat som utfärdats efter den 29 juli 2015)

*Konfigurationsberoende – Med Windows 10 Enterprise Edition kan organisationer använda Windows Defender Application Control (WDAC) för att definiera anpassade signeringskrav. Mer information om WDAC finns i Planera och komma igång med distributionsprocessen för Windows Defender Application Control.

(1) Förarsignering krävs för tillverkare som bygger detaljhandelsprodukter (dvs. för icke-utvecklingsändamål) med IoT Core. En lista över godkända certifikatutfärdare finns i Korscertifikat för kodsignering i kernelläge. Om UEFI Secure Boot är aktiverat måste drivrutiner signeras.