CryptImportPKCS8 함수(wincrypt.h)

[ CryptImportPKCS8 함수는 Windows Server 2008 및 Windows Vista를 기준으로 더 이상 사용할 수 없습니다. 대신 PFXImportCertStore 함수를 사용합니다.]

중요 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다.
 
CryptImportPKCS8 함수는 PKCS #8 형식의 프라이빗 키를 CSP(암호화 서비스 공급자)로 가져옵니다. CryptImportPKCS8은 공급자에 대한 핸들과 사용된 가져오기 KeySpec을 반환합니다.

구문

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 값 중 하나일 수 있습니다.

의미
CRYPT_EXPORTABLE
가져오는 키는 결국 다시 적용됩니다. 이 플래그를 사용하지 않으면 키 핸들이 있는 CryptExportKey 에 대한 호출이 실패합니다.
CRYPT_USER_PROTECTED
이 플래그가 설정되면 CSP는 이 키를 사용하여 특정 작업을 시도할 때 대화 상자 또는 다른 메서드를 통해 사용자에게 알려줍니다. 정확한 동작은 CSP 또는 사용된 CSP 형식으로 지정됩니다. CRYPT_SILENT 집합을 사용하여 공급자 컨텍스트를 가져온 경우 이 플래그를 사용하면 오류가 발생하고 마지막 오류가 NTE_SILENT_CONTEXT 설정됩니다.

[out, optional] phCryptProv

CryptImportPKCS8 함수를 호출하여 키를 가져오는 공급자의 핸들을 수신하는 HCRYPTPROV에 대한 포인터입니다.

핸들 사용을 마쳤으면 CryptReleaseContext를 호출하여 핸들을 해제합니다.

이 매개 변수는 NULL일 수 있으며, 이 경우 공급자의 핸들이 반환되지 않습니다.

[in, optional] pvAuxInfo

이 매개 변수는 NULL이어야 합니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값(TRUE)을 반환합니다.

함수가 실패하면 0(FALSE)을 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.

다음 오류 코드는 이 함수와 관련이 있습니다.

반환 코드 설명
ERROR_UNSUPPORTED_TYPE
프라이빗 키의 OID(알고리즘 개체 식별자 )는 지원되지 않습니다.
 

함수가 실패하면 GetLastError추상 구문 표기법 1(ASN.1) 인코딩/디코딩 오류를 반환할 수 있습니다. 이러한 오류에 대한 자세한 내용은 ASN.1 반환 값 인코딩/디코딩을 참조하세요.

설명

CryptImportPKCS8sPrivateKeyAndParams 매개 변수에 포함된 CRYPT_PKCS8_IMPORT_PARAMS 구조를 사용하여 키를 가져올 공급자의 핸들을 검색하여 PCRYPT_RESOLVE_HCRYPTPROV_FUNC 함수를 호출합니다. PCRYPT_RESOLVE_HCRYPTPROV_FUNCNULL이면 기본 공급자가 사용됩니다.

이 함수는 비대칭 키에 대해서만 지원됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CRYPT_PKCS8_IMPORT_PARAMS

CryptExportPKCS8Ex

CryptReleaseContext

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC

PCRYPT_RESOLVE_HCRYPTPROV_FUNC