Herramienta Secutil (Secutil.exe)

Esta herramienta extrae de un ensamblado información sobre nombre seguro o la clave pública para un certificado X.509, y convierte esta información en un formato que se puede incorporar al código.

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

Parámetros

Argumento Descripción

filename

Archivo de ensamblado que contiene una clave pública de nombre seguro o un certificado X.509.

Opción Descripción

-a[rray]

Cuando se utiliza con la opción -strongname, devuelve información sobre nombre seguro que incluye la clave pública en forma de matriz de bytes, así como el nombre y la versión del ensamblado especificado. Cuando se utiliza con la opción –x509certificate, devuelve la clave pública en forma de matriz de bytes para el certificado X.509 en el ensamblado especificado. Si no se especifica la opción -array o la opción -hex, el valor predeterminado es -array.

-c[mode]

Devuelve la información sobre nombre seguro o la clave pública para el certificado X.509 en el ensamblado especificado. Si no se especifica la opción -cmode o la opción -vbmode, el valor predeterminado es -cmode.

-h[elp]

Muestra la sintaxis de comandos y opciones para la herramienta.

-hex

Cuando se utiliza con la opción -strongname, devuelve información sobre nombre seguro que incluye la clave pública en forma de cadena codificada en hexadecimal, así como el nombre y la versión del ensamblado especificado. Cuando se utiliza con la opción –x509certificate, devuelve la clave pública en forma de cadena codificada en hexadecimal para el certificado X.509 en el ensamblado especificado.

-s[trongname]

Extrae la clave pública del nombre seguro, el nombre del ensamblado y el número de versión del ensamblado especificado. De forma predeterminada, se devuelve la clave pública en formato de matriz adecuado para su uso en la definición de una matriz de bytes en C# o C++. Para obtener detalles, vea las opciones -array y –cmode.

Las referencias a archivos que no son ensamblados con nombre seguro devuelven un error.

-v[bmode]

Devuelve la información sobre nombre seguro o la clave pública para el certificado X.509 con un formato de matriz apropiado para su uso en Visual Basic.

-x[509certificate]

Extrae la clave pública del certificado X.509 correspondiente al ensamblado especificado. De forma predeterminada, se devuelve la clave pública en formato de matriz adecuado para su uso en la definición de una matriz de bytes en C# o C++. Para obtener detalles, vea las opciones -array y –cmode.

Sólo los archivos que se han firmado con Authenticode contienen un certificado de compañía Authenticode X.509. Las referencias a otros tipos de archivos devuelven un error.

-?

Muestra la sintaxis de comandos y opciones para la herramienta.

Comentarios

Si no se especifican opciones en la línea de comandos, Secutil.exe muestra la sintaxis de comandos y opciones para la herramienta.

El sistema de seguridad de .NET Framework proporciona mecanismos para restringir las acciones de código basadas en su evidencia asociada. Hay dos tipos de evidencia, nombres seguros y compañías Authenticode, que están basadas en claves criptográficas y tecnología de firma digital.

La utilización de estas formas de evidencia en comprobaciones imperativas de permiso de identidad requiere que se haga referencia a una secuencia bastante larga de datos binarios: una clave pública en el caso de un nombre seguro y un certificado X.509 en el caso de compañías Authenticode. Se debe ejecutar Secutil.exe especificando el nombre de archivo del ensamblado que contiene la evidencia que se desea comprobar. Se puede pegar el resultado de la herramienta en el código en forma de definición de constante. A continuación, se puede utilizar este valor de constante para crear el permiso de identidad correcto que se va a comprobar. Para obtener información sobre cómo se crean estos permisos, vea System.Security.Permissions.PublisherIdentityPermission (Clase) y System.Security.Permissions.StrongNameIdentityPermission (Clase).

Ejemplos

El comando siguiente extrae la información sobre nombre seguro de myFile y devuelve la clave pública en formato de matriz de bytes de forma predeterminada.

secutil -strongname myFile

El resultado del comando anterior es el que figura a continuación.

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

El comando siguiente extrae la clave pública del certificado X.509 de myHelloFile y la devuelve como cadena codificada en hexadecimal.

secutil -hex -x509certificate myHelloFile 

El resultado del comando anterior es el que figura a continuación.

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

Vea también

Referencia

Herramientas de .NET Framework
System.Security.Permissions.PublisherIdentityPermission Class
System.Security.Permissions.StrongNameIdentityPermission Class
Símbolo del sistema de SDK

Conceptos

Prueba