更新 : 2007 年 11 月
公開キーと秘密キーのペアから公開キーを取得します。キーのペアは、暗号化サービス プロバイダ (CPS) 内のキー コンテナ名として供給されるか、バイトの生のコレクションとして供給されます。
BOOLEAN StrongNameGetPublicKey (
[in] LPCWSTR szKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbPublicKeyBlob,
[out] ULONG *pcbPublicKeyBlob
);
パラメータ
szKeyContainer
[入力] 公開キーと秘密キーのペアを含むキー コンテナの名前。pbKeyBlob が null の場合は、szKeyContainer には CSP 内の有効なコンテナを指定する必要があります。この場合、StrongNameGetPublicKey はコンテナに格納されているキーのペアから公開キーを抽出します。pbKeyBlob が null でない場合は、キーのペアはキーのバイナリ ラージ オブジェクト (BLOB) に格納されていると見なされます
キーは、1024 ビット RSA (Rivest-Shamir-Adleman) 署名キーである必要があります。これ以外のキーは、現時点ではサポートされていません。
pbKeyBlob
[入力] 公開キーと秘密キーのペアへのポインタ。このペアは、Win32 CryptExportKey 関数で作成される形式になっています。pbKeyBlob が null の場合は、szKeyContainer によって指定されたキー コンテナにキーのペアが格納されていると見なされます。cbKeyBlob
[入力] pbKeyBlob のサイズ (バイト単位)。ppbPublicKeyBlob
[出力] 返された公開キー BLOB。ppbPublicKeyBlob パラメータは、共通言語ランタイムによって割り当てられ、呼び出し元に返されます。呼び出し元は StrongNameFreeBuffer 関数を使用してメモリを解放する必要があります。pcbPublicKeyBlob
[出力] 返された公開キー BLOB のサイズ。
戻り値
正常終了した場合は true を返します。それ以外の場合は false を返します。
解説
公開キーは PublicKeyBlob 構造体に格納されています。
StrongNameGetPublicKey 関数が正常に終了しなかった場合は、StrongNameErrorInfo 関数を呼び出して、最後に生成されたエラーを取得します。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : StrongName.h
ライブラリ : MsCorEE.dll にリソースとして格納されていること
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0
参照
参照
StrongNameTokenFromPublicKey 関数