ICLRStrongName::StrongNameSignatureGenerationEx メソッド
指定したフラグに従って、指定したアセンブリに対する厳密な名前の署名が作成されます。
構文
HRESULT StrongNameSignatureGenerationEx (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob,
[in] DWORD dwFlags
);
パラメーター
wszFilePath
[in] 厳密な名前の署名が生成されるアセンブリのマニフェストを格納するファイルへのパス。
wszKeyContainer
[in] 公開キーと秘密キーの組を格納するキー コンテナーの名前。
pbKeyBlob
が null の場合は、wszKeyContainer
で暗号化サービス プロバイダー (CSP) 内の有効なコンテナーを指定する必要があります。 この場合、コンテナーに格納されているキーの組がファイルの署名に使用されます。
pbKeyBlob
が null でない場合は、キーの組がキーのバイナリ ラージ オブジェクト (BLOB) に格納されていると見なされます。
pbKeyBlob
[in] 公開キーと秘密キーの組へのポインター。 この組は、Win32 CryptExportKey
関数で作成される形式です。 pbKeyBlob
が null の場合は、wszKeyContainer
で指定されたキー コンテナーにキーの組が格納されていると見なされます。
cbKeyBlob
[in] pbKeyBlob
のサイズ (バイト単位)。
ppbSignatureBlob
[out] 共通言語ランタイムから署名が返される場所へのポインター。 ppbSignatureBlob
が null の場合は、wszFilePath
で指定されたファイルに署名が格納されます。
ppbSignatureBlob
が null でない場合は、共通言語ランタイムで署名が返される領域が割り当てられます。 呼び出し元では、ICLRStrongName::StrongNameFreeBuffer メソッドを使用して、この領域を解放する必要があります。
pcbSignatureBlob
[out] 返された署名のサイズ (バイト単位)。
dwFlags
[in] 次の 1 つ以上の値:
SN_SIGN_ALL_FILES
(0x00000001) - リンクされたモジュールのハッシュをすべて再計算します。SN_TEST_SIGN
(0x00000002) - アセンブリへの署名をテストします。
戻り値
メソッドが正常に完了した場合は S_OK
、それ以外の場合は失敗を示す HRESULT 値 (リストについては、一般的な HRESULT 値に関するページを参照)。
解説
署名を作成せずに署名のサイズを計算するには、wszFilePath
に null を指定します。
署名はファイルに直接格納するか、呼び出し元に返すことができます。
SN_SIGN_ALL_FILES
が指定されていても、公開キーが含まれていない (pbKeyBlob
と wszFilePath
の両方が null である) 場合は、リンクされたモジュールのハッシュが再計算されますが、アセンブリは再署名されません。
SN_TEST_SIGN
が指定されている場合は、アセンブリが厳密な名前で署名されていることを示すように、共通言語ランタイム ヘッダーが変更されません。
必要条件
:「システム要件」を参照してください。
ヘッダー: MetaHost.h
ライブラリ: MSCorEE.dll にリソースとして含まれます
.NET Framework のバージョン: 4 以降で使用可能
関連項目
.NET