次の方法で共有


StrongNameSignatureGenerationEx 関数

更新 : 2010 年 7 月

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

この関数は、.NET Framework Version 4 では推奨されていません。 代わりに、ICLRStrongName::StrongNameSignatureGenerationEx メソッドを使用してください。

BOOLEAN 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 でない場合は、共通言語ランタイムは署名を返す領域を割り当てます。 呼び出し元は StrongNameFreeBuffer 関数を使用してこの領域を解放する必要があります。

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

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

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

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

戻り値

正常終了した場合は true を返します。それ以外の場合は false を返します。

解説

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

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

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

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

StrongNameSignatureGenerationEx 関数が正常に終了しなかった場合は、StrongNameErrorInfo 関数を呼び出して、最後に生成されたエラーを取得します。

必要条件

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

ヘッダー : StrongName.h

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

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

ICLRStrongName インターフェイス

その他の技術情報

ICLRStrongName::StrongNameSignatureGenerationEx メソッド

ICLRStrongName::StrongNameSignatureGeneration メソッド

履歴の変更

日付

履歴

理由

2010 年 7 月

推奨される代替の関数へのリンクを追加。

情報の拡充