Secutil-Tool (Secutil.exe)

Das Secutil-Tool extrahiert Informationen über den starken Namen oder den öffentlichen Schlüssel für ein X.509-Zertifikat aus einer Assembly und konvertiert diese Informationen in ein Format, in dem das Einbinden in Code möglich ist.

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

Parameter

Argument Beschreibung

filename

Eine Assemblydatei, die einen öffentlichen Schlüssel mit starkem Namen oder ein X.509-Zertifikat enthält.

Option Beschreibung

-a[rray]

Gibt beim Verwenden mit der Option -strongname Informationen über den starken Namen zurück, die den öffentlichen Schlüssel als Bytearray sowie den Namen und die Version der angegebenen Assembly enthalten. Beim Verwenden mit der Option –x509certificate wird der öffentliche Schlüssel für das X.509-Zertifikat in der angegebenen Assembly als Bytearray zurückgegeben. Ist weder die Option -array noch die Option -hex angegeben, wird als Standard -array verwendet.

-c[mode]

Gibt die Informationen über den starken Namen oder den öffentlichen Schlüssel für das X.509-Zertifikat in der angegebenen Assembly zurück. Ist weder die Option -cmode noch die Option -vbmode angegeben, wird als Standard -cmode verwendet.

-h[elp]

Zeigt die Befehlssyntax und Optionen für das Tool an.

-hex

Gibt beim Verwenden mit der Option -strongname Informationen über den starken Namen zurück, die den öffentlichen Schlüssel als hexadezimal codierte Zeichenfolge sowie den Namen und die Version der angegebenen Assembly enthalten. Beim Verwenden mit der Option –x509certificate wird der öffentliche Schlüssel für das X.509-Zertifikat in der angegebenen Assembly als hexadezimal codierte Zeichenfolge zurückgegeben.

-s[trongname]

Extrahiert den öffentlichen Schlüssel mit starkem Namen, den Assemblynamen und die Versionsnummer aus der angegebenen Assembly. Standardmäßig wird der öffentliche Schlüssel in einem Arrayformat zurückgegeben, das in einer Bytearraydefinition von C# oder C++ verwendet werden kann. (Weitere Informationen finden Sie unter den Optionen -array und –cmode.)

Verweise auf andere Dateien als Assemblys mit starken Namen geben einen Fehler zurück.   

-v[bmode]

Gibt die Information über den starken Namen oder den öffentlichen Schlüssel für das X.509-Zertifikat in einem Array für die Verwendung in Visual Basic zurück.

-x[509certificate]

Extrahiert den öffentlichen Schlüssel aus dem X.509-Zertifikat in der angegebenen Assembly. Standardmäßig wird der öffentliche Schlüssel in einem Arrayformat zurückgegeben, das in einer Bytearraydefinition von C# oder C++ verwendet werden kann. (Weitere Informationen finden Sie unter den Optionen -array und –cmode.)

Nur Dateien, die mit Authenticode signiert wurden, enthalten ein X.509-Authenticode-Herausgeberzertifikat. Verweise auf andere Dateitypen geben einen Fehler zurück.

-?

Zeigt die Befehlssyntax und Optionen für das Tool an.

Hinweise

Wenn Sie keine Befehlszeilenoptionen angeben, zeigt Secutil.exe die Befehlssyntax und die Optionen für das Tool an.

Das .NET Framework-Sicherheitssystem stellt Mechanismen bereit, mit denen Codeaktionen basierend auf den zugeordneten Beweisen eingeschränkt werden können. Zwei Beweistypen, starke Namen und Authenticode-Herausgeber, basieren auf kryptografischen Schlüsseln und digitalen Signaturen.

Beim Verwenden dieser Beweistypen in imperativen Überprüfungen der Identitätsberechtigung müssen Sie auf eine relativ lange Folge binärer Daten verweisen: im Falle eines starken Namens auf den Wert eines öffentlichen Schlüssels und im Falle von Authenticode-Herausgebern auf ein X.509-Zertifikat. Führen Sie Secutil.exe aus, und geben Sie hierbei den Dateinamen der Assembly an, die den zu überprüfenden Beweis enthält. Sie können die Ausgabe des Tools im Code als eine Konstantendefinition einfügen. Mit diesem Konstantenwert können Sie dann die korrekte zu überprüfende Identitätsberechtigung erstellen. Informationen zum Erstellen dieser Berechtigungen finden Sie unter System.Security.Permissions.PublisherIdentityPermission-Klasse und System.Security.Permissions.StrongNameIdentityPermission-Klasse.

Beispiele

Mit dem folgenden Befehl werden die Informationen über den starken Namen aus myFile extrahiert und der öffentliche Schlüssel im Standardformat für das Bytearray zurückgegeben.

secutil -strongname myFile

Der vorherige Befehl gibt folgende Ausgabe aus.

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

Mit dem folgenden Befehl wird der öffentliche Schlüssel aus dem X.509-Zertifikat in myHelloFile extrahiert und als hexadezimal codierte Zeichenfolge zurückgegeben.

secutil -hex -x509certificate myHelloFile 

Der vorherige Befehl gibt folgende Ausgabe aus.

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

Siehe auch

Referenz

.NET Framework-Tools
System.Security.Permissions.PublisherIdentityPermission Class
System.Security.Permissions.StrongNameIdentityPermission Class
SDK-Eingabeaufforderung

Konzepte

Beweise