Strumento firma digitale (Signcode.exe)
Lo strumento firma digitale consente di apporre una firma digitale Authenticode a un file eseguibile portabile (PE, Portable Executable) con estensione DLL o EXE. È possibile firmare un assembly o un singolo file contenuto in un assembly su più file. Se si distribuisce un assembly, è consigliabile firmare l'assembly anziché i singoli file. Se si esegue Signcode.exe senza specificare alcuna opzione, verrà avviata una procedura guidata che fornirà istruzioni per il processo di firma.
Lo Strumento firma digitale viene fornito solo con .NET Framework SDK versione 1.0 e 1.1. Nelle versioni successive di .NET Framework SDK, utilizzare lo Strumento per la firma (SignTool.exe).
signcode [options] filename | assemblyname
Parametri
Argomento | Descrizione |
---|---|
nomefile |
Nome del file PE da firmare. |
nomeassembly |
Nome dell'assembly da firmare. Questo file deve contenere un manifesto assembly. |
Opzione | Descrizione |
---|---|
-$ autorità |
Specifica l'autorità di firma del certificato, che deve essere individual o commercial. Per impostazione predefinita, viene utilizzato il livello massimo di autorizzazione del certificato. |
-a algoritmo |
Specifica l'algoritmo di hash per la firma, che deve corrispondere a md5 (valore predefinito) o sha1. |
-c file |
Specifica il file che contiene il certificato codificato dell'editore del software. |
-cn nome |
Specifica il nome comune del certificato. |
-i info |
Specifica una posizione in cui sono disponibili ulteriori informazioni sul contenuto (in genere un URL). |
-j Nomedll |
Specifica il nome di una DLL che restituisce una matrice di attributi autenticati per la firma dei file. È possibile specificare più DLL ripetendo l'opzione -j. |
-jp param |
Specifica un parametro da passare per la DLL precedente. Ad esempio: -j dll1 -jp Paramdll1. Lo strumento consente di specificare un unico parametro per ciascuna DLL. |
-k nomechiave |
Specifica il nome del contenitore di chiavi. |
-ky tipochiave |
Specifica il tipo della chiave, che deve corrispondere a signature, exchange o un valore integer quale 4. |
-n nome |
Specifica un nome in formato testo che rappresenta il contenuto del file da firmare. |
-p provider |
Specifica il nome del provider di crittografia del sistema. |
-r posizione |
Specifica la posizione dell'archivio certificati all'interno del Registro di sistema, che deve corrispondere a currentuser (valore predefinito) o localmachine. |
-s archivio |
Specifica l'archivio certificati contenente il certificato di firma. Il valore predefinito è l'archivio my. |
-sha1 identificativopersonale |
Specifica l'identificativopersonale, ovvero l'hash sha1 del certificato di firma incluso nell'archivio certificati. |
-sp criteri |
Imposta i criteri dell'archivio certificati, che devono corrispondere a spcStore (valore predefinito) o chain. Se si specifica chain, tutti i certificati della catena di verifica, inclusi i certificati autofirmati, verranno aggiunti alla firma. Se si specifica spcStore, i certificati autofirmati attendibili non verranno inclusi con i certificati della catena aggiunti alla firma. |
-spc file |
Specifica il file SPC contenente i certificati dell'editore del software. |
-t URL |
Indica che il file deve essere contrassegnato con un timestamp dal server di timestamp all'indirizzo http specificato. |
-tr numero |
Specifica il numero massimo di tentativi che è possibile effettuare per apporre un timestamp. Il valore predefinito è 1. |
-tw numero |
Specifica l'intervallo, in secondi, tra i tentativi di apposizione del timestamp. Il valore predefinito è 0. |
-v Filepvk |
Specifica il nome del file di chiave privata (PVK) contenente la chiave privata. |
-x |
Appone al file il timestamp, ma non la firma. |
-y tipo |
Specifica il tipo di provider di crittografia da utilizzare. Un provider di crittografia contiene implementazioni degli algoritmi e degli standard di crittografia. Per un elenco dei tipi di provider predefiniti, vedere "Microsoft Cryptographic Service Providers" in Platform SDK. |
-? |
Visualizza la sintassi e le opzioni dei comandi dello strumento. |
Note
Per firmare con un file SPC (Software Publisher Certificate, certificato dell'editore del software), è necessario specificare le opzioni -spc e -v se la chiave privata si trova in un file PVK. Se la chiave privata si trova in un contenitore di chiavi del Registro di sistema, sarà necessario specificare le opzioni -spc e -k. Se si desidera firmare il file con un file SPC, è consigliabile creare il file SPC mediante lo Strumento di creazione certificati e lo Strumento di verifica dei certificati dell'editore del software.
Esempi
Il comando che segue firma XYZ.exe
utilizzando il certificato dell'editore del software XYZ.spc
e la chiave privata presente nel contenitore di chiavi del Registro di sistema XYZ
.
signcode /spc XYZ.spc /k XYZ XYZ.exe
Il comando che segue firma l'assembly myAssembly
utilizzando il certificato presente in myCertificate.spc
e la chiave privata presente in myKey.pvk
.
signcode /spc myCertificate.spc /v myKey.pvk myAssembly
Vedere anche
Riferimenti
Strumenti di .NET Framework
Strumento di creazione certificati (Makecert.exe)
Strumento di verifica dei certificati dell'editore del software (Cert2spc.exe)
Prompt dei comandi di SDK