Strumento per la firma (SignTool.exe)

SignTool.exe è uno strumento della riga di comando che consente di eseguire alcune operazioni sui file: apporre una firma digitale, verificare le firme già presenti o aggiungere un time stamp.

Nota

Lo strumento non è supportato in Microsoft Windows NT, Windows Me, Windows 98 o Windows 95.

signtool [command] [options] [file_name | ...]

Parametri

Argomento Descrizione

command

Uno dei flag del comando che specifica l'operazione da eseguire su un file.

options

Uno dei flag dell'opzione che modifica un flag del comando.

file_name

Il percorso di un file da firmare.

SignTool.exe supporta i comandi seguenti:

Comando Descrizione

catdb

Aggiunge o rimuove un file catalogo da un database dei cataloghi.

sign

Firma digitalmente i file.

signwizard

Avvia la procedura guidata per l'apposizione della firma. È possibile specificare un solo file per l'argomento della riga di comando relativo al nome file.

timestamp

Aggiunge il time stamp ai file.

verify

Verifica la firma digitale dei file.

Le opzioni riportate di seguito si applicano al comando catdb**.

Opzione Catdb Descrizione

/d

Specifica che il database dei cataloghi predefinito viene aggiornato. Se non si utilizza né l'opzione /d /g, il database dei driver e dei componenti del sistema viene aggiornato.

/g GUID

Specifica che il database dei cataloghi identificato dal GUID viene aggiornato.

/r

Rimuove il catalogo specificato dal database dei cataloghi. Se questa opzione non è specificata, il catalogo specificato viene aggiunto al database dei cataloghi.

/u

Specifica che un nome univoco viene generato automaticamente per i file catalogo aggiunti. Se necessario, i file catalogo verranno rinominati per evitare conflitti con i nomi dei file catalogo esistenti. Se questa opzione non è specificata, i cataloghi esistenti che hanno lo stesso nome del catalogo aggiunto verranno sovrascritti.

Nota

I database dei cataloghi vengono utilizzati per la ricerca automatica di file catalogo.

Le opzioni riportate di seguito si applicano al comando sign.

Opzione Sign Descrizione

/a

Seleziona automaticamente il miglior certificato di firma. Se questa opzione non è presente, è prevista la presenza di un solo certificato di firma valido.

/c CertTemplateName

Specifica un'estensione Microsoft, Certificate Template Name, per il certificato di firma.

/csp CSPName

Specifica il provider del servizio di crittografia (CSP, cryptographic service provider) in cui è presente il contenitore di chiavi private.

/d Desc

Specifica una descrizione del contenuto firmato.

/du URL

Specifica un URL (Uniform Resource Locator) per la descrizione estesa del contenuto firmato.

/f SignCertFile

Specifica il certificato di firma in un file. Se il file è nel formato PFX (Personal Information Exchange) ed è protetto da una password, utilizzare l'opzione /p per specificare la password. Se il file non contiene chiavi private, utilizzare le opzioni /csp e /k per specificare rispettivamente la CSP e il nome del contenitore di chiavi private.

/i IssuerName

Specifica il nome dell'emittente del certificato di firma. Questo valore può essere una sottostringa dell'intero nome dell'emittente.

/k PrivKeyContainerName

Specifica il nome del contenitore di chiavi private.

/n SubjectName

Specifica il nome del soggetto del certificato di firma. Questo valore può essere una sottostringa dell'intero nome del soggetto.

/p Password

Specifica la password da utilizzare all'apertura di un file PFX. Questo tipo di file può essere specificato mediante l'opzione /f.

/r RootSubjectName

Specifica il nome del soggetto del certificato principale cui deve essere concatenato il certificato di firma. Questo valore può essere una sottostringa dell'intero nome del soggetto del certificato principale.

/s StoreName

Specifica l'archivio da aprire durante la ricerca del certificato. Se questa opzione non è specificata, viene aperto l'archivio personale.

/sha1 Hash

Specifica l'hash SHA1 del certificato di firma.

/sm

Specifica che viene utilizzato un archivio del computer anziché un archivio utente.

/t URL

Specifica l'URL del server del time stamp. Se questa opzione non è presente, al file firmato non verrà aggiunto il time stamp. Se l'aggiunta del time stamp non viene eseguita correttamente, viene generato un avviso.

/u Utilizzo

Specifica l'utilizzo chiavi avanzato (EKU, enhanced key usage) che deve essere presente nel certificato di firma. Il valore di utilizzo può essere specificato tramite OID o stringa. L'utilizzo predefinito è "Firma codice" (1.3.6.1.5.5.7.3.3).

L'opzione seguente si applica al comando **timestamp.

Opzione Timestamp Descrizione

/t URL

Obbligatoria. Specifica l'URL del server del time stamp. È necessario che il file a cui viene aggiunto il time stamp sia stato precedentemente firmato.

Le opzioni riportate di seguito si applicano al comando verify.

Opzione Sign Descrizione

/a

Specifica che tutti i metodi possono essere utilizzati per verificare il file. Innanzitutto, viene effettuata una ricerca nei database dei cataloghi per determinare se il file è firmato in un catalogo. Se non risulta firmato in alcun catalogo, viene effettuato un tentativo di verificare la firma incorporata del file. Questa opzione è consigliata durante la verifica di file che all'interno di un catalogo possono risultare firmati o non firmati, come nel caso, ad esempio, di file o driver Windows.

/ad

Trova il catalogo utilizzando il database dei cataloghi predefinito.

/as

Trova il catalogo utilizzando il database dei cataloghi (driver) dei componenti del sistema.

/ag CatDBGUID

Trova il catalogo nel database dei cataloghi identificato dal GUID.

/c CatFile

Specifica il file catalogo in base al nome.

/o Version

Verifica il file in base alla versione del sistema operativo. Il parametro della versione presenta il formato PlatformID:VerMajor.VerMinor.BuildNumber

/pa

Specifica che vengono utilizzati i criteri di verifica dell'autenticazione predefiniti. Se l'opzione /pa non è specificata, vengono utilizzati i criteri di verifica dei driver di Windows. Non è possibile utilizzare questa opzione in combinazione con catdb.

/pg PolicyGUID

Specifica un criterio di verifica del GUID. Il GUID corrisponde all'ActionID del criterio di verifica. Non è possibile utilizzare questa opzione in combinazione con catdb.

/r RootSubjectName

Specifica il nome del soggetto del certificato principale cui deve essere concatenato il certificato di firma. Questo valore può essere una sottostringa dell'intero nome del soggetto del certificato principale.

/tw

Specifica che, se la firma non contiene un time stamp, viene generato un avviso.

Le opzioni riportate di seguito si applicano a tutti i comandi di SignTool.exe.

Opzione Global Descrizione

/q

Non viene prodotto alcun output per indicare la corretta esecuzione e un output minimo per indicare che l'esecuzione non è riuscita.

/v

Output dettagliato per indicare la corretta esecuzione, l'esecuzione non riuscita e messaggi di avviso.

Note

In Sign Tool è richiesta l'installazione della versione ridistribuibile di CAPICOM 2.0 nel computer locale. La versione ridistribuibile di CAPICOM 2.0 è disponibile all'indirizzo https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.

Il comando verify di Sign Tool determina se il certificato di firma è stato emesso da un'autorità trusted, se è stato revocato e, facoltativamente, se è valido per un criterio specifico.

Sign Tool restituisce un codice di uscita pari a zero per indicare la corretta esecuzione, uno per l'esecuzione non riuscita e due per l'esecuzione completata con avvisi.

Esempi

Nel comando viene illustrato come firmare automaticamente un file utilizzando il certificato migliore.

signtool sign /a MyFile.exe

Vedere anche

Riferimenti

Strumenti di .NET Framework
Prompt dei comandi di SDK