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 공개 키로 내보내는 경우 dwFlagspvAuxInfo 매개 변수의 값은 사용되지 않습니다.

요구 사항

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