CryptSetProviderExA 함수(wincrypt.h)

중요 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 암호화 차세대 API 사용을 시작해야 합니다. Microsoft는 이후 릴리스에서 이 API를 제거할 수 있습니다.
 
CryptSetProviderEx 함수는 로컬 컴퓨터 또는 현재 사용자에 대해 지정된 공급자 유형의 기본 CSP(암호화 서비스 공급자)를 지정합니다.
참고 일반적인 애플리케이션은 이 함수를 사용하지 않습니다. 관리 애플리케이션에서만 사용하기 위한 것입니다.
 

구문

BOOL CryptSetProviderExA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType,
  [in] DWORD  *pdwReserved,
  [in] DWORD  dwFlags
);

매개 변수

[in] pszProvName

새 기본 CSP의 이름입니다. 컴퓨터에 설치된 CSP여야 합니다. 사용 가능한 암호화 공급자 목록은 암호화 공급자 이름을 참조하세요.

[in] dwProvType

pszProvName으로 지정된 CSP의 공급자 유형입니다.

[in] pdwReserved

이 매개 변수는 나중에 사용하도록 예약되어 있으며 NULL이어야 합니다.

[in] dwFlags

다음 플래그 값이 정의됩니다.

의미
CRYPT_DELETE_DEFAULT
0x00000004
CRYPT_MACHINE_DEFAULT 또는 CRYPT_USER_DEFAULT 함께 사용하여 기본값을 삭제할 수 있습니다.
CRYPT_USER_DEFAULT
0x00000002
지정된 형식의 사용자 컨텍스트 기본 CSP가 설정되도록 합니다.
CRYPT_MACHINE_DEFAULT
0x00000001
지정된 형식의 컴퓨터 기본 CSP가 설정되도록 합니다.

반환 값

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

함수가 실패하면 반환 값은 0(FALSE)입니다. 확장된 오류 정보는 GetLastError를 호출합니다. 가능한 오류 코드에는 다음 표에 나와 있는 오류 코드가 포함됩니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
매개 변수 중 하나에는 유효하지 않은 값이 포함되어 있습니다. 이는 가장 자주 유효하지 않은 포인터입니다.
ERROR_NOT_ENOUGH_MEMORY
운영 체제에 메모리가 부족합니다.

설명

대부분의 애플리케이션은 CryptAcquireContext 함수를 호출할 때 CSP 이름을 지정하지 않습니다. 그러나 애플리케이션은 CSP 이름을 지정하여 적절한 수준의 보안을 가진 CSP를 선택할 수 있습니다. CryptSetProviderEx를 호출하면 해당 시점부터 모든 애플리케이션에서 사용하는 지정된 형식의 CSP가 결정되므로 CryptSetProviderEx는 사용자의 동의 없이는 호출되지 않아야 합니다.

참고

wincrypt.h 헤더는 CRYptSetProviderEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

CryptAcquireContext

CryptSetProvider

서비스 공급자 함수