Strumento Secutil (Secutil.exe)

Aggiornamento: novembre 2007

Lo strumento Secutil estrae da un assembly informazioni sul nome sicuro o la chiave pubblica per un certificato X.509 e converte queste informazioni in un formato che è possibile incorporare nel codice.

secutil [-array | -hex] [-cmode | -vbmode]
{-strongname | -x509certificate} filename 

Parametri

Argomento

Descrizione

nomefile

Il file assembly contenente una chiave pubblica con nome sicuro o un certificato X.509.

Opzione

Descrizione

-a[rray]

Quando utilizzata con l'opzione -strongname, restituisce informazioni sul nome sicuro che includono la chiave pubblica sotto forma di matrice di byte e il nome e la versione dell'assembly specificato. Quando utilizzata con l'opzione –x509certificate, restituisce la chiave pubblica sotto forma di matrice di byte per il certificato X.509 dell'assembly specificato. Se non si specifica l'opzione -array o -hex, per impostazione predefinita verrà utilizzata l'opzione -array.

-c[mode]

Restituisce le informazioni sul nome sicuro o la chiave pubblica relativa al certificato X.509 dell'assembly specificato. Se non si specifica l'opzione -cmode o -vbmode, per impostazione predefinita verrà utilizzata l'opzione -cmode.

-h[elp]

Visualizza la sintassi e le opzioni dei comandi dello strumento.

-hex

Quando utilizzata con l'opzione -strongname, restituisce informazioni sul nome sicuro che includono la chiave pubblica sotto forma di stringa codificata in formato esadecimale e il nome e la versione dell'assembly specificato. Quando utilizzata con l'opzione –x509certificate, restituisce la chiave pubblica sotto forma di stringa codificata in formato esadecimale per il certificato X.509 dell'assembly specificato.

-s[trongname]

Estrae dall'assembly specificato la chiave pubblica con nome sicuro, il nome dell'assembly e il numero di versione. Per impostazione predefinita, la chiave pubblica viene restituita in un formato matrice utilizzabile in una definizione di matrice di byte in C# o C++. Per informazioni dettagliate, vedere le opzioni -array e –cmode.

I riferimenti a file diversi da assembly con nome sicuro restituiscono un errore.   

-v[bmode]

Restituisce le informazioni sul nome sicuro o la chiave pubblica relativa al certificato X.509 in un formato matrice utilizzabile in Visual Basic.

-x[509certificate]

Estrae la chiave pubblica dal certificato X.509 dell'assembly specificato. Per impostazione predefinita, la chiave pubblica viene restituita in un formato matrice utilizzabile in una definizione di matrice di byte in C# o C++. Per informazioni dettagliate, vedere le opzioni -array e –cmode.

Solo i file firmati con Authenticode contengono un certificato dell'editore Authenticode X.509. I riferimenti ad altri tipi di file restituiscono un errore.

-?

Visualizza la sintassi e le opzioni dei comandi dello strumento.

Note

Se non si specifica alcuna opzione sulla riga di comando, verranno automaticamente visualizzate la sintassi e le opzioni dei comandi dello strumento.

Il sistema di protezione di .NET Framework fornisce meccanismi che consentono di limitare le operazioni del codice sulla base della evidenza a esso associata. Due tipi di evidenza, i nomi sicuri e gli editori Authenticode, sono basati sulle chiavi crittografiche e sulla tecnologia della firma digitale.

Per l'utilizzo di queste forme di evidenza in controlli imperativi delle autorizzazioni di identità, è necessario fare riferimento a una sequenza di dati binari piuttosto lunga: un valore di chiave pubblica, nel caso di un nome sicuro, e un certificato X.509, nel caso di editori Authenticode. Eseguire Secutil.exe specificando il nome del file di assembly contenente l'evidenza che si desidera controllare. È possibile incollare l'output dello strumento nel codice sotto forma di una definizione di costante. Sarà quindi possibile utilizzare il valore di questa costante per creare la corretta autorizzazione di identità da controllare. Per informazioni su come creare queste autorizzazioni, vedere Classe System.Security.Permissions.PublisherIdentityPermission e Classe System.Security.Permissions.StrongNameIdentityPermission.

Esempi

Il comando che segue estrae le informazioni sul nome sicuro da myFile e restituisce la chiave pubblica nel formato matrice di byte predefinito.

secutil -strongname myFile

L'output del comando precedente sarà il seguente:

Microsoft (R) .NET Framework SecUtil 1.0.2310.0
Copyright (c) Microsoft Corp 1999-2000. All rights reserved.

Public Key = 
{ 0, 36, 0, 0, 4, 128, 0, 0, 148, 0, 0, 0, 6, 2, 0, 0, 0, 36, 0, 0, 82,
83, 65, 49, 0, 4, 0, 0, 1, 0, 1, 0, 125, 153, 220, 107, 82, 7, 120, 98,
141, 142, 191, 216, 4, 190, 9, 125, 149, 0, 18, 169, 111, 81, 149, 179,
79, 192, 204, 91, 207, 61, 87, 213, 54, 9, 203, 70, 249, 71, 6, 181, 33,
153, 60, 69, 190, 178, 223, 99, 236, 47, 217, 110, 16, 228, 107, 180, 72,
189, 147, 126, 155, 81, 88, 89, 125, 126, 30, 149, 207, 139, 216, 132,
46, 171, 8, 95, 249, 114, 196, 80, 183, 159, 173, 75, 73, 113, 195, 29,
41, 6, 49, 150, 195, 168, 228, 235, 156, 42, 215, 132, 177, 108, 211, 78,
86, 170, 16, 0, 66, 93, 100, 139, 9, 78, 60, 3, 242, 12, 35, 13, 154, 39,
50, 183, 95, 253, 208, 172 }
Name =
myFile
Version =
1.2.3.4
Success

Il comando che segue estrae la chiave pubblica dal certificato X.509 in myHelloFile e la restituisce sotto forma di stringa codificata in formato esadecimale.

secutil -hex -x509certificate myHelloFile 

L'output del comando precedente sarà il seguente:

Microsoft (R) .NET Framework SecUtil 1.0.2310.0
Copyright (c) Microsoft Corp 1999-2000. All rights reserved.

X509 Certificate =
0x308201833082012DA0030201020210B9360877C4B169244F7435304C270D4300D06092A8
64886F70D01010405003016311430120603550403130B526F6F74204167656E6379301E170
D3030313131353030333033385A170D3339313233313233353935395A30223120301E06035
5040313174A6F6527732D536F674776172652D456D706F7269756D305C300D06092A864886
F70D0101010500034B003048024100B7C23E337868D7971CEBB435B68736A6F694AFD50443
147FE18AF26029B2A8FAB3DC014D72195CA64844E26648878B32BABFE06126D1B63233C2D7
A88A38EC170203010001A34B304930470603551D010440303E801012E4092D061D1D4F008D
6121DC166463A1183016311430120603550403130B526F6F74204167656E6379821006376C
00AA00648A11CFB8D4AA5C35F4300D06092A864886F70D01010405000341005690921281BE
823AC4EC33D09ED8A2D04AE052B6022AB6DEEC67E3A6F203051AEDB8C54F3E7280D3983DC3
07560EA934966871ED5D4C9D304AC2553FD24BF3EE
Success

Vedere anche

Concetti

Evidenza

Riferimenti

Strumenti di .NET Framework

System.Security.Permissions.PublisherIdentityPermission

System.Security.Permissions.StrongNameIdentityPermission

Prompt dei comandi di SDK