CertAddCertificateLinkToStore 함수(wincrypt.h)
CertAddCertificateLinkToStore 함수는 인증서 저장소의 링크를 다른 저장소의 인증서 컨텍스트에 추가합니다. 이 함수는 인증서 컨텍스트의 중복을 만들고 추가하는 대신 원래 인증서에 대한 링크를 추가합니다.
구문
BOOL CertAddCertificateLinkToStore(
[in] HCERTSTORE hCertStore,
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCERT_CONTEXT *ppStoreContext
);
매개 변수
[in] hCertStore
링크를 추가할 인증서 저장소 에 대한 핸들입니다.
[in] pCertContext
연결할 CERT_CONTEXT 구조체에 대한 포인터입니다.
[in] dwAddDisposition
일치하는 인증서 또는 일치하는 인증서에 대한 링크가 저장소에 이미 있는 경우 작업을 지정합니다. 현재 정의된 처리 값 및 해당 용도는 다음과 같습니다.
값 | 의미 |
---|---|
|
함수는 일치하는 기존 인증서 또는 일치하는 인증서에 대한 링크를 검사 않습니다. 새 인증서는 항상 저장소에 추가됩니다. 이로 인해 저장소에서 중복이 발생할 수 있습니다. |
|
일치하는 인증서 또는 일치하는 인증서에 대한 링크가 있는 경우 작업이 실패합니다. GetLastError 는 CRYPT_E_EXISTS 코드를 반환합니다. |
|
일치하는 인증서에 대한 링크가 있는 경우 기존 링크가 삭제되고 새 링크가 만들어지고 저장소에 추가됩니다. 일치하는 인증서 또는 일치하는 인증서에 대한 링크가 없으면 인증서가 추가됩니다. |
|
일치하는 인증서 또는 일치하는 인증서에 대한 링크가 있는 경우 기존 인증서가 사용됩니다. 함수는 실패하지 않지만 새 링크가 추가되지 않습니다. 일치하는 인증서 또는 일치하는 인증서에 대한 링크가 없는 경우 새 링크가 추가됩니다. |
[out, optional] ppStoreContext
만든 링크의 복사본에 대한 포인터에 대한 포인터입니다. 링크의 복사본이 필요하지 않음을 나타내기 위해 ppStoreContext 매개 변수는 NULL 일 수 있습니다. 링크의 복사본을 만든 경우 CertFreeCertificateContext 함수를 사용하여 해당 복사본을 해제해야 합니다.
반환 값
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보는 GetLastError를 호출합니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
CERT_STORE_ADD_NEW dwAddDisposition 매개 변수의 경우 인증서가 저장소에 이미 있습니다. |
|
유효하지 않은 처리 값이 dwAddDisposition 매개 변수에 지정되었습니다. |
설명
링크는 원래 인증서 컨텍스트에 대한 액세스를 제공하므로 연결된 인증서 컨텍스트 에서 확장 속성을 설정하면 인증서의 원래 위치와 해당 인증서에 대한 다른 링크에서 확장 속성이 변경됩니다.
컬렉션으로 열린 저장소에 링크를 추가할 수 없습니다. 컬렉션으로 열린 저장소에는 CERT_STORE_PROV_SYSTEM 또는 CERT_STORE_PROV_COLLECTION 사용하여 CertOpenSystemStore 또는 CertOpenStore 로 열린 모든 저장소가 포함됩니다. 자세한 내용은 CertAddStoreToCollection을 참조하세요.
링크를 사용하고 CERT_CLOSE_STORE_FORCE_FLAG 사용하여 CertCloseStore 를 호출하는 경우 원래 컨텍스트가 포함된 저장소를 닫기 전에 링크를 사용하는 저장소를 닫아야 합니다. CERT_CLOSE_STORE_FORCE_FLAG 사용하지 않으면 두 저장소를 두 순서로 닫을 수 있습니다.
인증서 저장소에서 인증서 컨텍스트 링크를 제거하려면 CertDeleteCertificateFromStore 함수를 사용합니다.
예제
이 함수를 사용하는 예제는 예제 C 프로그램: 인증서 저장소 작업을 참조하세요. 이 함수를 사용하는 추가 코드는 예제 C 프로그램: 컬렉션 및 형제 인증서 저장소 작업을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |