CryptExportPublicKeyInfoFromBCryptKeyHandle 関数 (wincrypt.h)

CryptExportPublicKeyInfoFromBCryptKeyHandle 関数は、プロバイダーの対応する秘密キーに関連付けられている公開キー情報をエクスポートします

構文

BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
  [in]            BCRYPT_KEY_HANDLE     hBCryptKey,
  [in]            DWORD                 dwCertEncodingType,
  [in, optional]  LPSTR                 pszPublicKeyObjId,
  [in]            DWORD                 dwFlags,
  [in, optional]  void                  *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD                 *pcbInfo
);

パラメーター

[in] hBCryptKey

公開キー情報のエクスポート元となるキーのハンドル。

[in] dwCertEncodingType

照合するエンコードの種類を指定します。

この値は、現在定義されているエンコード型のビットごとの組み合わせにすることができます。

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in, optional] pszPublicKeyObjId

キーのエクスポートに使用するインストール可能な関数を識別する オブジェクト識別子 (OID) へのポインター。 OID の上位ワードが 0 以外の場合、 pszPublicKeyObjId は、"2.5.29.1" などの OID 文字列または "file" などの ASCII 文字列へのポインターです。OID の上位ワードが 0 の場合、下位ワードはオブジェクト識別子として使用される整数識別子を指定します。

[in] dwFlags

公開キー情報のエクスポート方法を示す DWORD 値。

意味
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
0x80000000
CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG フラグで明示的にフラグが設定されているCRYPT_PUBKEY_ALG_OID_GROUP_ID グループ内の公開キーをスキップします。
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
0x40000000
CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG フラグで明示的にフラグが設定されているCRYPT_PUBKEY_ALG_OID_GROUP_ID グループ内の公開キーをスキップします。

[in, optional] pvAuxInfo

このパラメーターは将来使用するために予約されており、 NULL に設定する必要があります。

[out, optional] pInfo

エクスポートする公開キー情報を受け取る CERT_PUBLIC_KEY_INFO 構造体へのポインター。

このパラメーターは、メモリ割り当てのためにこの情報のサイズを設定するために NULL にすることができます 。 詳細については、「 不明な長さのデータの取得」を参照してください。

[in, out] pcbInfo

pInfo パラメーターによって指されるバッファーのサイズ (バイト単位) を含む DWORD へのポインター。 関数が戻ると、 DWORD にはバッファーに格納されているバイト数が含まれます。

戻り値

関数が成功した場合、 関数は TRUE を 返します。それ以外の場合は、 FALSE を返します

注釈

CryptExportPublicKeyInfoFromBCryptKeyHandle 関数が pszPublicKeyObjId パラメーターで指定された OID のインストール可能な OID 関数を見つけられない場合は、キーを RSA 公開キー (szOID_RSA_RSA) としてエクスポートしようとします。 キーが RSA 公開キーとしてエクスポートされる場合、 dwFlags パラメーターと pvAuxInfo パラメーターの値は使用されません。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll