StrongNameGetPublicKeyEx メソッド
公開キーと秘密キーのペアから公開キーを取得し、ハッシュアルゴリズムと署名アルゴリズムを指定します。
構文
HRESULT StrongNameGetPublicKey (
[in] LPCWSTR pwzKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbPublicKeyBlob,
[out] ULONG *pcbPublicKeyBlob
[in] ULONG uHashAlgId,
[in] ULONG uReserved,
);
パラメーター
pwzKeyContainer
[in] 公開キーと秘密キーの組を格納するキー コンテナーの名前。 pbKeyBlob
が null の場合は、szKeyContainer
で暗号化サービスプロバイダー (CSP) 内の有効なコンテナーを指定する必要があります。 この場合、StrongNameGetPublicKeyEx
メソッドにより、コンテナーに格納されているキーの組から公開キーが抽出されます。
pbKeyBlob
が null でない場合は、キーの組がバイナリ ラージ オブジェクト (BLOB) に格納されていると見なされます。
キーは 1024 ビットの RSA (Rivest-Shamir-Adleman) 署名キーである必要があります。 現時点では、他の種類のキーはサポートされていません。
pbKeyBlob
[in] 公開キーと秘密キーの組へのポインター。 この組は、Win32 CryptExportKey
関数で作成される形式です。 pbKeyBlob
が null の場合は、szKeyContainer
で指定されたキー コンテナーにキーの組が格納されていると見なされます。
cbKeyBlob
[in] pbKeyBlob
のサイズ (バイト単位)。
ppbPublicKeyBlob
[out] 返された公開キー BLOB。 ppbPublicKeyBlob
パラメーターは、共通言語ランタイムで割り当てられ、呼び出し元に返されます。 呼び出し元では、ICLRStrongName::StrongNameFreeBuffer メソッドを使用してメモリを解放する必要があります。
pcbPublicKeyBlob
[出力] 返された公開キー BLOB のサイズ。
uHashAlgId
[入力] アセンブリ ハッシュ アルゴリズム。 受け取られる値の一覧については、「解説」セクションを参照してください。
uReserved
[入力] 将来使用するために予約されています。既定値は null です。
戻り値
メソッドが正常に完了した場合は S_OK
、それ以外の場合は失敗を示す HRESULT 値 (リストについては、一般的な HRESULT 値に関するページを参照)。
解説
公開キーは PublicKeyBlob 構造体に格納されています。
次の表に、uHashAlgId
パラメーターに指定できる値のセットを示しています。
名前 | [値] |
---|---|
なし | 0 |
SHA-1 | 0x8004 |
SHA-256 | 0x800c |
SHA-384 | 0x800d |
SHA-512 | 0x800e |
必要条件
:「システム要件」を参照してください。
ヘッダー: MetaHost.h
ライブラリ: MSCorEE.dll にリソースとして含まれます
.NET Framework のバージョン: 4.5 以降で使用可能
関連項目
.NET