Поделиться через


Средство Secutil (Secutil.exe)

Обновлен: Ноябрь 2007

Программа Secutil извлекает из сборки данные строгого имени или открытый ключ для сертификата X.509 и преобразует их в формат, который может быть включен в код.

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

Параметры

Аргумент

Свойство

имя_файла

Файл сборки, содержащий открытый ключ строгого имени или сертификат X.509.

Параметр

Свойство

-a[rray]

При задании параметра -strongname возвращает данные строгого имени, которые включают открытый ключ в виде массива байтов, а также имя и версию указанной сборки. При задании параметра –x509certificate возвращает открытый ключ сертификата X.509 указанной сборки в виде массива байтов. Если параметры -array или -hex опущены, то по умолчанию используется -array.

-c[mode]

Для заданной сборки возвращает данные строгого имени или открытый ключ сертификата X.509. Если параметры -cmode or the -vbmode опущены, то по умолчанию используется использоваться -cmode.

-h[elp]

Отображает синтаксис команды и параметры программы.

-hex

При задании параметра -strongname возвращает данные строгого имени, которые включают открытый ключ в виде шестнадцатеричной строки, а также имя и версию указанной сборки. При задании параметра –x509certificate возвращает открытый ключ сертификата X.509 указанной сборки в виде шестнадцатеричной строки.

-s[trongname]

Для указанной сборки извлекает открытый ключ строгого имени, имя сборки и номер версии. По умолчанию открытый ключ возвращается в формате массива, который можно использовать при определении массива байтов в C# или в C++. (Для получения подробных сведений обратитесь к описанию параметров -array и –cmode).

При использовании ссылок на файлы, не являющиеся сборками со строгими именами, возвращается ошибка.

-v[bmode]

Возвращает данные строгого имени или открытый ключ сертификата X.509 в формате массива, который можно использовать в Visual Basic.

-x[509certificate]

Для указанной сборки извлекает из сертификата X.509 открытый ключ . По умолчанию открытый ключ возвращается в формате массива, который можно использовать при определении массива байтов в C# или в C++. (Для получения подробных сведений обратитесь к описанию параметров -array и –cmode).

Сертификат издателя X.509 Authenticode содержится лишь в файлах, подписанных с помощью Authenticode. При использовании ссылок на другие типы файлов возвращается ошибка.

-?

Отображает синтаксис команды и параметры программы.

Заметки

Если параметры командной строки не указываются, то программа Secutil.exe отобразит синтаксис команд и параметры программы.

В системе безопасности .NET Framework механизмы ограничения действий кода основаны на связанных с ними свидетельствах. Два типа свидетельств — строгие имена и сертификаты издателей Authenticode — основаны на криптографических ключах и технологии цифровой подписи.

Если принудительная проверка разрешений выполняется с помощью указанных форм удостоверений, то необходимо использовать достаточно длинную последовательность бинарных данных: для строгих имен — значение открытого ключа, а для издателей Authenticode — сертификат X.509. При запуске Secutil.exe указывается имя файла сборки, содержащего проверяемое свидетельство. Выходные данные программы могут быть добавлены в код в виде определения констант. Значения этих констант могут быть использованы впоследствии для создания верного разрешения, которое будет проверяться. Сведения о способах создания таких разрешений см. в разделах Класс System.Security.Permissions.PublisherIdentityPermission и Класс System.Security.Permissions.StrongNameIdentityPermission.

Примеры

В следующей команде данные строгого имени извлекаются из файла myFile, а открытый ключ возвращается в формате массива байтов по умолчанию.

secutil -strongname myFile

После выполнения предыдущей команды выходной поток выглядит следующим образом.

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

В следующей команде из содержащегося в файле myHelloFile сертификата X.509 извлекается открытый ключ, который возвращается в виде шестнадцатеричной строки.

secutil -hex -x509certificate myHelloFile 

После выполнения предыдущей команды выходной поток выглядит следующим образом.

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

См. также

Основные понятия

Свидетельство

Ссылки

Инструменты .NET Framework

System.Security.Permissions.PublisherIdentityPermission

System.Security.Permissions.StrongNameIdentityPermission

Командная строка пакета SDK