次の方法で共有


CryptImportPublicKeyInfoEx2 関数 (wincrypt.h)

CryptImportPublicKeyInfoEx2 関数は、公開キーオブジェクト識別子 (OID) に対応する公開キーを CNG 非対称プロバイダーにインポートし、キーに CNG ハンドルを返します。

構文

BOOL CryptImportPublicKeyInfoEx2(
  [in]  DWORD                 dwCertEncodingType,
  [in]  PCERT_PUBLIC_KEY_INFO pInfo,
  [in]  DWORD                 dwFlags,
  [in]  void                  *pvAuxInfo,
  [out] BCRYPT_KEY_HANDLE     *phKey
);

パラメーター

[in] dwCertEncodingType

サブジェクトの暗号化に使用された 証明書エンコードの種類。 この値の高い WORD に含まれる メッセージ エンコードの種類 識別子は、この関数では無視されます。

このパラメーターには、現在定義されている次の証明書エンコードの種類を指定できます。

価値 意味
X509_ASN_ENCODING
1 (0x1)
X.509 証明書エンコード 指定します。

[in] pInfo

プロバイダーにインポートする公開キー情報を含む CERT_PUBLIC_KEY_INFO 構造体のアドレス。

[in] dwFlags

この関数の動作を変更するフラグのセット。 0 または次の値の 1 つ以上の組み合わせを指定できます。

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

これらのフラグは、公開キー オブジェクト識別子を対応する CNG 公開キー アルゴリズム識別子にマッピングするときに、CryptFindOIDInfo 関数の dwKeyType パラメーターで渡されます。

[in] pvAuxInfo

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

[out] phKey

インポートされたキーのハンドルを受け取る BCRYPT_KEY_HANDLE 変数のアドレス。

このハンドルが不要になったら、BCryptDestroyKey 関数を呼び出して解放する必要があります。

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、GetLastError呼び出します。 考えられるエラー コードは次のとおりですが、これらに限定されません。

リターン コード 形容
ERROR_FILE_NOT_FOUND
指定した dwCertEncodingType および pInfo パラメーターに対して、インストールまたは登録できるインポート関数が見つかりませんでした。
E_INVALIDARG
1 つ以上のパラメーターが無効です。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2008 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wincrypt.h
ライブラリ Crypt32.lib
DLL Crypt32.dll

関連項目

CERT_PUBLIC_KEY_INFO