CryptImportPKCS8 関数 (wincrypt.h)
[ CryptImportPKCS8 関数は、Windows Server 2008 および Windows Vista では使用できなくなりました。 代わりに、 PFXImportCertStore 関数を 使用します。
構文
BOOL CryptImportPKCS8(
[in] CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams,
[in] DWORD dwFlags,
[out, optional] HCRYPTPROV *phCryptProv,
[in, optional] void *pvAuxInfo
);
パラメーター
[in] sPrivateKeyAndParams
秘密キー BLOB とそれに対応するパラメーターを含むCRYPT_PKCS8_IMPORT_PARAMS構造体。
[in] dwFlags
DWORD 値。 このパラメーターには、次のいずれかの値、それらの組み合わせ、または null 値を指定できます。
値 | 説明 |
---|---|
|
インポートされるキーは、最終的に再エクスポートされます。 このフラグを使用しない場合、キー ハンドルを使用して CryptExportKey を呼び出すと失敗します。 |
|
このフラグが設定されている場合、CSP は、このキーを使用して特定のアクションが試行されたときに、ダイアログ ボックスまたはその他の方法を使用してユーザーに通知します。 正確な動作は、使用される CSP または CSP の種類によって指定されます。 プロバイダー コンテキストが CRYPT_SILENT 設定された状態で取得された場合、このフラグを使用するとエラーが発生し、最後のエラーは NTE_SILENT_CONTEXT に設定されます。 |
[out, optional] phCryptProv
CryptImportPKCS8 関数を呼び出してキーがインポートされるプロバイダーのハンドルを受け取る HCRYPTPROV へのポインター。
ハンドルの使用が完了したら、 CryptReleaseContext を呼び出してハンドルを解放します。
このパラメーターには NULL を指定できます。この場合、プロバイダーのハンドルは返されません。
[in, optional] pvAuxInfo
このパラメーターは NULL である必要があります。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
次のエラー コードは、この関数に固有のものです。
リターン コード | 説明 |
---|---|
|
秘密キーのアルゴリズム オブジェクト識別子 (OID) はサポートされていません。 |
関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。
解説
CryptImportPKCS8 は、sPrivateKeyAndParams パラメーターに含まれるCRYPT_PKCS8_IMPORT_PARAMS構造体を使用して、キーをインポートするプロバイダーのハンドルを取得することで、PCRYPT_RESOLVE_HCRYPTPROV_FUNC関数を呼び出します。 PCRYPT_RESOLVE_HCRYPTPROV_FUNCが NULL の場合は、既定のプロバイダーが使用されます。
この関数は、非対称キーでのみサポートされています。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |