StrongNameGetPublicKeyEx メソッドStrongNameGetPublicKeyEx Method

公開キーと秘密キーのペアから公開キーを取得し、ハッシュアルゴリズムと署名アルゴリズムを指定します。Gets the public key from a public/private key pair, and specifies a hash algorithm and a signature algorithm.


HRESULT StrongNameGetPublicKey (
    [in]  LPCWSTR   pwzKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbPublicKeyBlob,  
    [out] ULONG     *pcbPublicKeyBlob  
    [in]  ULONG     uHashAlgId,  
    [in]  ULONG     uReserved,  


から公開キーと秘密キーのペアを格納するキーコンテナーの名前。[in] The name of the key container that contains the public/private key pair. pbKeyBlobが null の場合、では、 szKeyContainer 暗号化サービスプロバイダー (CSP) 内の有効なコンテナーを指定する必要があります。If pbKeyBlob is null, szKeyContainer must specify a valid container within the cryptographic service provider (CSP). この場合、メソッドは、 StrongNameGetPublicKeyEx コンテナーに格納されているキーペアから公開キーを抽出します。In this case, the StrongNameGetPublicKeyEx method extracts the public key from the key pair stored in the container.

pbKeyBlobが null でない場合、キーペアは、バイナリラージオブジェクト (BLOB) に格納されていると見なされます。If pbKeyBlob is not null, the key pair is assumed to be contained in the key binary large object (BLOB).

キーは 1024-Rivest-shamir-adleman-Rivest-shamir-adleman (RSA) 署名キーである必要があります。The keys must be 1024-bit Rivest-Shamir-Adleman (RSA) signing keys. この時点では、他の種類のキーはサポートされていません。No other types of keys are supported at this time.

から公開/秘密キーのペアへのポインター。[in] A pointer to the public/private key pair. このペアは、Win32 関数によって作成される形式です CryptExportKeyThis pair is in the format created by the Win32 CryptExportKey function. pbKeyBlobが null の場合、によって指定されたキーコンテナーには、キーのペアが含まれていると szKeyContainer 見なされます。If pbKeyBlob is null, the key container specified by szKeyContainer is assumed to contain the key pair.

からのサイズ (バイト単位) pbKeyBlob[in] The size, in bytes, of pbKeyBlob.

入出力返された公開キー BLOB。[out] The returned public key BLOB. パラメーターは、 ppbPublicKeyBlob 共通言語ランタイムによって割り当てられ、呼び出し元に返されます。The ppbPublicKeyBlob parameter is allocated by the common language runtime and returned to the caller. 呼び出し元は、 ICLRStrongName:: StrongNameFreeBufferメソッドを使用して、メモリを解放する必要があります。The caller must free the memory by using the ICLRStrongName::StrongNameFreeBuffer method.

入出力返される公開キー BLOB のサイズ。[out] The size of the returned public key BLOB.

からアセンブリハッシュアルゴリズム。[in] The assembly hash algorithm. 許容される値の一覧については、「解説」を参照してください。See the Remarks section for a list of accepted values.

から将来使用するために予約されています。既定値は null です。[in] Reserved for future use; defaults to null.

戻り値Return Value

S_OKメソッドが正常に完了した場合は。それ以外の場合は、失敗を示す HRESULT 値 (「リストの一般的な Hresult 値」を参照してください)。S_OK if the method completed successfully; otherwise, an HRESULT value that indicates failure (see Common HRESULT Values for a list).


公開キーはPublickeyblob構造に含まれています。The public key is contained in a PublicKeyBlob structure.


次の表は、パラメーターで許容される値のセットを示して uHashAlgId います。The following table shows the set of accepted values for the uHashAlgId parameter.

名前Name Value
なしNone 00
SHA-1SHA-1 0x80040x8004
SHA-256SHA-256 0x800c0x800c
SHA-384SHA-384 0x800d0x800d
SHA-512SHA-512 0x800e0x800e


:システム要件」を参照してください。Platforms: See System Requirements.

ヘッダー: メタホスト .hHeader: MetaHost.h

ライブラリ: Mscoree.dll にリソースとして含まれていますLibrary: Included as a resource in MSCorEE.dll

.NET Framework のバージョン:4.5 以降で使用可能Available since 4.5.NET Framework Versions: 4.5 以降で使用可能Available since 4.5

関連項目See also