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 アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

CERT_PUBLIC_KEY_INFO