ICLRStrongName::StrongNameSignatureGeneration メソッド

指定したアセンブリに対して厳密な名前の署名が生成されます。

構文

HRESULT StrongNameSignatureGeneration (
    [in]  LPCWSTR   wszFilePath,  
    [in]  LPCWSTR   wszKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbSignatureBlob,  
    [out] ULONG     *pcbSignatureBlob  
);  

パラメーター

wszFilePath
[in] 厳密な名前の署名が生成されるアセンブリのマニフェストを格納するファイルへのパス。

wszKeyContainer
[in] 公開キーと秘密キーの組を格納するキー コンテナーの名前。

pbKeyBlob が null の場合は、wszKeyContainer で暗号化サービス プロバイダー (CSP) 内の有効なコンテナーを指定する必要があります。 この場合、コンテナーに格納されているキーの組がファイルの署名に使用されます。

pbKeyBlob が null でない場合は、キーの組がキーのバイナリ ラージ オブジェクト (BLOB) に格納されていると見なされます。

キーは 1024 ビットの RSA (Rivest-Shamir-Adleman) 署名キーである必要があります。 現時点では、他の種類のキーはサポートされていません。

pbKeyBlob
[in] 公開キーと秘密キーの組へのポインター。 この組は、Win32 CryptExportKey 関数で作成される形式です。 pbKeyBlob が null の場合は、wszKeyContainer で指定されたキー コンテナーにキーの組が格納されていると見なされます。

cbKeyBlob
[in] pbKeyBlob のサイズ (バイト単位)。

ppbSignatureBlob
[out] 共通言語ランタイムから署名が返される場所へのポインター。 ppbSignatureBlob が null の場合は、wszFilePath で指定されたファイルに署名が格納されます。

ppbSignatureBlob が null でない場合は、共通言語ランタイムで署名が返される領域が割り当てられます。 呼び出し元は、ICLRStrongName::StrongNameFreeBuffer メソッドを使用して、この領域を解放する必要があります。

pcbSignatureBlob
[out] 返された署名のサイズ (バイト単位)。

戻り値

メソッドが正常に完了した場合は S_OK、それ以外の場合は失敗を示す HRESULT 値 (リストについては、一般的な HRESULT 値に関するページを参照)。

解説

署名を作成せずに署名のサイズを計算するには、wszFilePath に null を指定します。

署名はファイルに直接格納するか、呼び出し元に返すことができます。

必要条件

:システム要件」を参照してください。

ヘッダー: MetaHost.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 4 以降で使用可能

関連項目