次の方法で共有


Secutil ツール (Secutil.exe)

Secutil ツールは、厳密な名前情報または X.509 証明書用の公開キーをアセンブリから抽出し、この情報をコードに組み込むことができる形式に変換します。

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

パラメータ

引数 説明

filename

厳密な名前の公開キーまたは X.509 証明書を保持しているアセンブリ ファイル。

オプション 説明

-a[rray]

-strongname オプションと一緒に使用した場合は、バイト配列としての公開キー、および指定したアセンブリの名前とバージョンを含む厳密な名前情報を返します。–x509certificate オプションと一緒に使用した場合は、指定したアセンブリが保持している X.509 証明書用のバイト配列としての公開キーを返します。-array オプションまたは -hex オプションを指定しない場合の既定値は -array です。

-c[mode]

指定したアセンブリが保持している厳密な名前情報または X.509 証明書用の公開キーを返します。-cmode または -vbmode オプションを指定しない場合の既定値は -cmode です。

-h[elp]

このツールのコマンド構文とオプションを表示します。

-hex

-strongname オプションと一緒に使用した場合は、16 進形式にエンコードされた文字列としての公開キー、および指定したアセンブリの名前とバージョンを含む厳密な名前情報を返します。–x509certificate オプションと一緒に使用した場合は、指定したアセンブリが保持している X.509 証明書用の、16 進形式にエンコードされた文字列としての公開キーを返します。

-s[trongname]

指定したアセンブリから、厳密な名前の公開キー、アセンブリ名、およびバージョン番号を抽出します。既定では、C# または C++ のバイト配列定義での使用に適した配列形式の公開キーが返されます。詳細については、-array オプションと –cmode オプションを参照してください。

厳密な名前が付けられたアセンブリ以外のファイルを参照すると、エラーが返されます。   

-v[bmode]

厳密な名前情報または、Visual Basic での使用に適した配列形式の X.509 証明書用の公開キーを返します。

-x[509certificate]

指定したアセンブリが保持している X.509 証明書から公開キーを抽出します。既定では、C# または C++ のバイト配列定義での使用に適した配列形式の公開キーが返されます。詳細については、-array オプションと –cmode オプションを参照してください。

Authenticode を使用して署名したファイルだけが X.509 Authenticode 発行元証明書を保持します。他の種類のファイルを参照するとエラーが返されます。

-?

このツールのコマンド構文とオプションを表示します。

解説

コマンド ライン オプションを指定しない場合は、Secutil.exe に関するコマンド構文とオプションが表示されます。

.NET Framework セキュリティ システムには、関連付けられている証拠に基づいてコードのアクションを制限するための機構が用意されています。厳密な名前と Authenticode 発行元という 2 種類の証拠は、暗号キーとデジタル署名の技術に基づいています。

これらの形式の証拠を必須の ID アクセス許可チェックで使用するためには、かなり長いバイナリ データのシーケンス (厳密な名前の場合は公開キーの値、Authenticode 発行元の場合は X.509 証明書) を参照する必要があります。チェックする証拠を保持するアセンブリ ファイルの名前を指定して、Secutil.exe を実行してください。Secutil.exe からの出力データを定数定義の形式でコードに貼り付けることができます。その後、この定数値を使用して、チェック対象の正確な ID アクセス許可を構築できます。これらのアクセス許可の構築方法については、「PublisherIdentityPermission クラス」および「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 証明書から公開キーを抽出し、そのキーを 16 進形式でエンコードされた文字列として返すコマンドを次に示します。

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 Class
System.Security.Permissions.StrongNameIdentityPermission Class
SDK のコマンド プロンプト

概念

証拠