다음을 통해 공유


PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC 콜백 함수(wincrypt.h)

[ PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC 함수는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC 함수는 프라이빗 키를 암호화하고 pbEncryptedKey 매개 변수에 암호화된 콘텐츠를 반환합니다. PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 구조를 만드는 CRYPT_PKCS8_EXPORT_PARAMS 구조체에서 식별되는 콜백 함수입니다. 각 애플리케이션에 맞게 개발자가 함수를 구현해야 합니다.

구문

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

매개 변수

[out] pAlgorithm

PKCS #8 표준에 있는 PrivateKeyInfo ASN.1 형식을 암호화하는 데 사용되는 알고리즘을 수신하는 CRYPT_ALGORITHM_IDENTIFIER 구조체에 대한 포인터입니다.

[in] pClearTextPrivateKey

암호화할 일반 텍스트 프라이빗 키가 포함된 CRYPT_DATA_BLOB 구조 체에 대한 포인터입니다.

[out] pbEncryptedKey

암호화된 프라이빗 키 BLOB을 수신하는 BYTE 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL인 경우 pcbEncryptedKey 는 이 함수에 대한 후속 호출에서 암호화된 키를 포함하는 데 필요한 메모리의 크기(바이트)를 반환합니다.

[in, out] pcbEncryptedKey

pbEncryptedKey 버퍼의 크기(바이트)를 포함하는 DWORD 변수에 대한 포인터입니다. pbEncryptedKey가 NULL인 경우 pcbEncryptedKey 는 키를 암호화하는 데 필요한 크기(바이트)로 설정됩니다. 자세한 내용은 알 수 없는 길이의 데이터 검색을 참조하세요.

[in] pVoidEncryptFunc

키, 초기화 벡터 및 암호와 같은 암호화에 사용되는 데이터를 포함하는 LPVOID 변수입니다.

반환 값

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

함수가 실패하면 0(FALSE)을 반환합니다.

요구 사항

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

추가 정보

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC