Condividi tramite


Firma Authenticode di provider di servizi di crittografia di terze parti

La firma Authenticode di terze parti per provider di servizi di crittografia personalizzati è disponibile in Windows Vista e versioni successive.

Di conseguenza, Microsoft non firmerà più i provider di servizi di configurazione e il servizio di firma CSP manuale è stato ritirato. I messaggi di posta elettronica e i provider di servizi di configurazione inviati a cspsign@microsoft.com o cecspsig@microsoft.com da firmare non verranno più elaborati da Microsoft.

Al contrario, tutti i provider di servizi di configurazione di terze parti possono ora essere autofirmati seguendo questa procedura:

  1. Acquistare un certificato di firma del codice da un'autorità di certificazione (CA) per cui Microsoft rilascia anche un certificato incrociato. L'argomento Cross-Certificates for Kernel Mode Code Signing (Certificati incrociati per la firma del codice in modalità kernel ) fornisce un elenco di CA per cui Microsoft fornisce anche certificati incrociati e i certificati incrociati corrispondenti. Si noti che questi sono gli unici certificati incrociati che concatenano fino alla "radice di verifica del codice Microsoft" rilasciata da Microsoft, che consentirà a Windows di eseguire CSP di terze parti.
  2. Dopo aver ottenuto un certificato dalla CA e il certificato incrociato corrispondente, è possibile usare SignTool per firmare tutti i file binari CSP.
  3. SignTool è incluso nelle versioni più recenti di Visual Studio. È incluso anche nella versione WDK 7.0 e versioni successive. Si noti che SignTool fornito con versioni precedenti di WDK non è compatibile con i certificati incrociati e non può essere usato per firmare i file binari.

Nota

A partire da Windows 8, non è più necessario firmare i provider di servizi di configurazione.

È possibile firmare i file binari da una riga di comando o firmare come passaggio di compilazione integrato in Visual Studio 2012 e versioni successive.

Il comando per SignTool è:

signtool.exe sign /ac <cross-certificate_from_ms> /sha1 <sha1_hash> /t <timestamp_server> /d <”optional_description_in_double_quotes”> <binary_file.ext>
  • <cross-certificate_from_ca> è il file di certificato incrociato scaricato da Microsoft
  • < > sha1_hash è l'identificazione personale SHA1 che corrisponde al certificato di firma del codice
  • < > timestamp_server è il server usato per timestampare l'operazione di firma
  • <"optional_description_in_double_quotes"> è una descrizione descrittiva facoltativa
  • <binary_file.ext> è il file da firmare

Ad esempio:

signtool.exe sign /ac certificate.cer /sha1 553e39af9e0ea8c9edcd802abbf103166f81fa50 /t "http://timestamp.digicert.com" /d "My Cryptographic Service Provider" csp.dll

Nota

Non è necessario includere l'ID risorsa #666 nella DLL CSP o la firma nel Registro di sistema, come richiesto per le firme CSP meno recenti.

Guida e supporto aggiuntivi

È possibile provare il forum sulla sicurezza delle applicazioni per Windows Desktop per assistenza.