Bei "normalen" Anwendungen ist das eigentlich alles zielich einfach und
geht mit preiswerten Signaturen zu machen die für Core Signing sind. Bei
Treibern kommts drauf an. Wenn du z.B. den WinUSB Triber nimmst, musst
du lediglich die cat Datei signieren, das geht ohne Intervention von MS.
Dann kommt nur noch "Wollen Sie dem Hersteller vertrauen?" Auch einen
PCI Treiber für unsere alte Hardware konnte ich so signieren. Aber z.B.
den CyUSB Treiber von Cypress kann man damit nicht signieren, den muss
man dann per WHQL machen lassen. Das ist echt viel Aufwand, man braucht
nämlich mehrere Testrechner bzw. einen Rechner mit MultiBoot für alle zu
testenden OS, dazu einen Steuerrechner, der mit Windows Server in
Englisch laufen muss usw. Und wenn man dann endlich lokal alle Tests
bestanden hat (dauert ewig, auch wegen der vielen Standby-Resume
Zyklen), dann darf man den Treiber samt pdb Debug Infos und den
(signierten) Testergebnissen zu MS schicken, bezahlen und nach einer
Weile kriegt man den WHQL signierten Treiber zurück.
Für USB kann man sich den Quatsch aber sparen, entweder WinUSB (kann man
mittlerweile sogar ohne Inf machen...OS descriptor) oder LibUSB-win32,
der ist schon per embedded signatur signiert. Damit geht dann auch
richtig BULK Transfer bis zu USB 3.0 SuperSpeed ohne Verrenkungen über
schneclenlangsamen HID oder MSD Simulation.