Ferramenta secutil (secutil.exe)
A ferramenta Secutil extrai informações de nome forte ou a chave pública de um certificado X.509 de um assembly e converte estas informações em um formato que pode ser incorporado em código.
secutil [-array | -hex] [-cmode | -vbmode]
{-strongname | -x509certificate} filename
Parâmetros
Argumento |
Descrição |
---|---|
nome do arquivo |
O arquivo do assembly que contém uma chave pública de nome forte ou um certificado X.509. |
Opção |
Descrição |
---|---|
-a[rray] |
Quando usado com o -strongname opção, retorna informações de nome forte que incluem a chave pública sistema autônomo uma matriz de byte e o nome e versão do assembly especificado. Quando usado com o –X509Certificate opção, retorna a chave pública sistema autônomo uma matriz de byte para o certificado X.509 no assembly especificado. Se você não especificar ambos o -matriz or -hex opção, o padrão é -matriz. |
-c[mode] |
Retorna as informações de nome forte ou a chave pública do certificado X.509 no assembly especificado. Se você não especificar ambos o -cmode or the -vbmode opção, o padrão é -cmode. |
-h[elp] |
Exibe sintaxe de comando e opções para a ferramenta. |
-hex |
Quando usado com o -strongname opção, retorna informações de nome forte que incluem a chave pública sistema autônomo uma seqüência de caracteres hexadecimal codificado e o nome e versão do assembly especificado. Quando usado com o –X509Certificate opção, retorna a chave pública sistema autônomo uma seqüência de caracteres hexadecimal codificado do certificado X.509 no assembly especificado. |
-s[trongname] |
Extrai a chave pública de nome forte, nome do assembly e número de versão do assembly especificado. Por padrão, a chave pública é retornada em um formato de array adequado para uso em uma definição de matriz de byte em translation from VPE for Csharp ou C++. (Para obter detalhes, consulte o -matriz and –cmode opções.) Referências a arquivos que não sejam de assemblies fortemente nomeados retornarão um erro. |
-v[bmode] |
Retorna as informações de nome forte ou a chave pública do certificado X.509 formatado em uma matriz adequada para uso no Visual Basic. |
-x[509certificate] |
Extrai a chave pública de certificado X.509 no assembly especificado. Por padrão, a chave pública é retornada em um formato de array adequado para uso em uma definição de matriz de byte em translation from VPE for Csharp ou C++. (Para obter detalhes, consulte o -matriz and –cmode opções.) Somente os arquivos que foram assinados com Authenticode contêm um certificado de publicador X.509 Authenticode. Referências a outros tipos de arquivos retornarão um erro. |
-? |
Exibe sintaxe de comando e opções para a ferramenta. |
Comentários
Se você não especificar nenhuma opção de linha de comando, secutil.exe exibe a sintaxe de comando e opções da ferramenta.
Sistema de segurança do.NET estrutura fornece mecanismos para restringir as ações de código com base em seus associados evidência. Dois tipos de prova, nomes de alta segurança e editores de Authenticode, baseiam-se em chaves de criptografia e a tecnologia de assinatura digital.
Usando essas formas de evidência em verificações de permissão imperativa identidade exige que você fazer referência a uma sequência muito longa de dados binário: um valor de chave público no caso de um nome forte e um certificado X.509 no caso de editores de Authenticode. Execute secutil.exe especificando nome de arquivo do assembly que contém a evidência de que deseja verificar. Você pode colar a saída da ferramenta no código na forma de uma definição de constante. Em seguida, você pode usar esse valor de constante para construir a permissão de identidade correta a ser verificado. Para obter informações sobre como construir essas permissões, consulte Classe sistema.segurança.Permissions.PublisherIdentityPermission and Classe sistema.segurança.Permissions.StrongNameIdentityPermission.
Exemplos
O comando a seguir extrai as informações de nome forte de myFile e retorna a chave pública no formato de matriz de byte padrão.
secutil -strongname myFile
A saída do comando anterior é o seguinte:
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
O comando a seguir extrai a chave pública do certificado X.509 no myHelloFile e o retorna sistema autônomo uma seqüência de caracteres hexadecimal codificado.
secutil -hex -x509certificate myHelloFile
A saída do comando anterior é o seguinte:
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
Consulte também
Conceitos
Referência
System.Security.Permissions.PublisherIdentityPermission