次の方法で共有


ICLRStrongName::StrongNameSignatureGenerationEx メソッド

更新 : 2011 年 4 月

指定されたフラグに従って、指定されたアセンブリの厳密な名前の署名を生成します。

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

パラメーター

  • wszFilePath
    [入力] 厳密な名前の署名を生成するアセンブリのマニフェストを含むファイルへのパス。

  • wszKeyContainer
    [入力] 公開キーと秘密キーのペアを含むキー コンテナーの名前。

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

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

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

  • cbKeyBlob
    [入力] pbKeyBlob のサイズ (バイト単位)。

  • ppbSignatureBlob
    [出力] 共通言語ランタイムが署名を返す場所へのポインター。 ppbSignatureBlob が null の場合、ランタイムは wszFilePath によって指定されたファイルに署名を格納します。

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

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

  • dwFlags
    [入力] 次の値のうちの 1 つまたは複数。

    • SN_SIGN_ALL_FILES (0x00000001) - リンクされたモジュールについてすべてのハッシュを再計算します。

    • SN_TEST_SIGN (0x00000002) - アセンブリにテスト署名します。

戻り値

メソッドが正常に完了した場合は S_OK、それ以外の場合は失敗を示す HRESULT 値 (一覧については「Common HRESULT Values (一般的な HRESULT 値)」を参照)。

解説

署名のサイズの計算のみを行い、署名の作成を行わない場合は、wszFilePath に null を指定します。

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

SN_SIGN_ALL_FILES を指定したが、公開キーが含まれていない場合 (pbKeyBlob と wszFilePath の両方が null の場合)、リンクされたモジュールのハッシュは再計算されますが、アセンブリの再署名は行われません。

SN_TEST_SIGN を指定した場合、共通言語ランタイム ヘッダーは、アセンブリが厳密な名前で署名されていることを示すように変更されません。

要件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: MetaHost.h

ライブラリ: MSCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン: 4

参照

参照

ICLRStrongName インターフェイス

その他の技術情報

ICLRStrongName::StrongNameSignatureGeneration メソッド

履歴の変更

日付

履歴

理由

2011 年 4 月

戻り値を修正。

コンテンツ バグ修正

2010 年 7 月

トピックを追加

情報の拡充