다음을 통해 공유


CryptCATAdminAcquireContext2 함수(mscat.h)

CryptCATAdminAcquireContext2 함수는 지정된 해시 알고리즘 및 해시 정책에 대한 카탈로그 관리자 컨텍스트에 대한 핸들을 가져옵니다.

다음 함수에 대한 후속 호출에서 이 핸들을 사용할 수 있습니다.

이 함수에는 연결된 가져오기 라이브러리가 없습니다. LoadLibraryGetProcAddress 함수를 사용하여 Wintrust.dll 동적으로 연결해야 합니다.

구문

BOOL CryptCATAdminAcquireContext2(
  [out]          HCATADMIN               *phCatAdmin,
  [in, optional] const GUID              *pgSubsystem,
  [in, optional] PCWSTR                  pwszHashAlgorithm,
  [in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
                 DWORD                   dwFlags
);

매개 변수

[out] phCatAdmin

이 함수에서 할당한 카탈로그 관리자 컨텍스트 핸들에 대한 포인터입니다. 핸들 사용을 마쳤으면 CryptCATAdminReleaseContext 함수를 호출하여 핸들을 닫습니다.

[in, optional] pgSubsystem

하위 시스템을 식별하는 GUID 에 대한 포인터입니다. DRIVER_ACTION_VERIFY 운영 체제 구성 요소 및 타사 드라이버에 대한 하위 시스템을 나타냅니다. 대부분의 구현에서 사용하는 하위 시스템입니다.

[in, optional] pwszHashAlgorithm

해시를 계산하고 확인할 때 사용할 해시 알고리즘의 이름을 지정하는 선택적 null로 끝나는 유니코드 문자열입니다. 이 값은 NULL일 수 있습니다. NULL인 경우 pStrongHashPolicy 매개 변수에 대해 설정한 값에 따라 기본 해시 알고리즘을 선택할 수 있습니다. Windows 8의 기본 알고리즘은 SHA1입니다. 기본값은 이후 Windows 버전에서 변경될 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.

[in, optional] pStrongHashPolicy

강력한 서명을 위해 검사 데 사용되는 매개 변수를 포함하는 CERT_STRONG_SIGN_PARA 구조체에 대한 포인터입니다. 함수는 지정된 정책을 충족하는 가장 낮은 공통 해시 알고리즘과 pwszHashAlgorithm 매개 변수 또는 시스템 기본 알고리즘(알고리즘이 지정되지 않은 경우)으로 지정된 알고리즘을 선택합니다.

dwFlags

예약되어 있습니다. 이 값은 0이어야 합니다.

반환 값

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

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

다음 표에서는 GetLastError 함수에서 가장 일반적으로 반환되는 오류 코드를 나열합니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
phCatAdmin 매개 변수는 NULL일 수 없습니다.

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

ERROR_NOT_ENOUGH_MEMORY
새 카탈로그 관리자 개체를 만들기 위한 메모리가 부족했습니다.
NTE_BAD_ALGID
pwszHashAlgorithm 매개 변수로 지정된 해시 알고리즘을 찾을 수 없습니다.

설명

이 함수를 사용하면 카탈로그 관리자 컨텍스트가 필요한 함수에서 사용할 해시 알고리즘을 선택하거나 선택할 수 있습니다. 해시 알고리즘의 이름을 설정할 수 있지만 함수가 알고리즘을 결정하도록 하는 것이 좋습니다. 이렇게 하면 나중에 신뢰할 수 없게 될 수 있는 하드 코딩 알고리즘으로부터 애플리케이션을 보호합니다.

요구 사항

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

참고 항목

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog