CertSetCRLContextProperty 함수(wincrypt.h)
CertSetCRLContextProperty 함수는 지정된 CRL(인증서 해지 목록) 컨텍스트에 대한 확장 속성을 설정합니다.
구문
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
매개 변수
[in] pCrlContext
CRL_CONTEXT 구조체에 대한 포인터입니다.
[in] dwPropId
설정할 속성을 확인합니다. dwPropId 값은 pvData 매개 변수의 형식과 콘텐츠를 결정합니다. 현재 정의된 식별자와 pvData 에서 반환할 데이터 형식은 다음 표에 나와 있습니다.
일반적으로 다음 속성만 설정됩니다.
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
값 | 의미 |
---|---|
|
pvData에 대한 데이터 형식: DWORD에 대한 포인터
인증서에 대한 쓰기 작업이 지속되는지 여부를 나타내는 DWORD 값을 설정합니다. 인증서가 메모리 저장소 또는 읽기 전용으로 열려 있는 레지스트리 기반 저장소에 있는 경우 DWORD 값이 설정되지 않습니다. |
|
pvData에 대한 데이터 형식: NULL
열거형 중에 인증서를 건너뛰었다는 것을 나타냅니다. 이 속성 집합이 있는 인증서는 특정 해시 또는 일련 번호가 있는 인증서를 찾는 데 사용되는 것과 같은 명시적 검색 작업을 통해 찾을 수 있습니다. pvData의 데이터는 이 속성과 연결되지 않습니다. |
|
pvData에 대한 데이터 형식: BYTE 배열에 대한 포인터 인증서가 자동으로 등록된 인증서 형식의 이름을 null로 끝나는 유니코드 문자열로 설정합니다. |
|
pvData에 대한 데이터 형식: BYTE 배열에 대한 포인터 ASN.1( Abstract Syntax Notation One ) 인코딩된 CTL_USAGE 구조체를 포함하는 바이트 배열을 설정합니다. |
|
pvData에 대한 데이터 형식: BYTE 배열에 대한 포인터 인증서 UI에 표시되는 속성을 설정합니다. 이 속성을 사용하면 사용자가 인증서의 사용을 설명할 수 있습니다. |
|
pvData의 데이터 형식: ASN.1로 인코딩된 CERT_ENHKEY_USAGE 구조체를 포함하는 바이트 배열을 설정합니다. |
|
pvData에 대한 데이터 형식: BYTE 배열에 대한 포인터 CRL의 표시 이름을 포함하는 null로 끝나는 유니코드 문자열을 설정합니다. |
|
pvData의 데이터 형식: CRYPT_DATA_BLOB 구조체에 대한 포인터입니다.
L"<PUBKEY>/<BITLENGTH>" 공개 키 알고리즘 및 비트 길이 쌍 집합을 포함하는 문자열을 설정합니다. 세미콜론 L";"은 구분 기호로 사용됩니다. PUBKEY> 값은< CNG 공개 키 알고리즘을 식별합니다. 지원되는 알고리즘은 다음과 같습니다.
참고 위임된 OCSP 서명자 인증서에 대해 이 속성을 설정하면 안 됩니다. 위임된 서명자 인증서는 주체 인증서에 서명하는 데 사용되는 것과 동일한 키로 서명되고 해당 인증서에서 확인됩니다.
: L"RSA/2048; RSA/4096" |
|
pvData의 데이터 형식: CRYPT_DATA_BLOB 구조체에 대한 포인터입니다.
L"<SIGNATURE>/<HASH>" 알고리즘 쌍 집합이 포함된 문자열을 설정합니다. 세미콜론 L";"은 쌍 간의 구분 기호로 사용됩니다. 이 속성은 OCSP 응답이 CRL로 변환되는 경우에만 설정됩니다. 위임된 OCSP 서명자 인증서의 경우 서명자 인증서에 대한 알고리즘 쌍만 반환됩니다. 독립적인 OCSP 서명자 인증서 체인의 경우 루트를 제외한 체인의 각 인증서에 대해 알고리즘 쌍이 반환됩니다. SIGNATURE> 값은< CNG 공개 키 알고리즘을 식별합니다. 지원되는 알고리즘은 다음과 같습니다.
|
|
pvData의 데이터 형식: CRYPT_DATA_BLOB 구조체에 대한 포인터입니다.
CRL 발급자 인증서에서 공개 키의 길이를 비트로 설정합니다. 이 속성은 CRL로 변환된 OCSP에도 적용할 수 있습니다. 이 속성은 확인 해지 함수에 의해 명시적으로 설정됩니다. Windows 8 및 Windows Server 2012: 이 속성에 대한 지원이 시작됩니다. |
|
pvData에 대한 데이터 형식: CERT_KEY_CONTEXT 대한 포인터
CERT_KEY_CONTEXT 구조를 설정합니다. |
|
pvData에 대한 데이터 형식: BYTE 배열에 대한 포인터 |
|
pvData에 대한 데이터 형식: HCRYPTPROV에 대한 포인터
CERT_KEY_CONTEXT_PROP_ID 가져온 공급자 핸들을 설정합니다. |
|
pvData의 데이터 형식: CRYPT_KEY_PROV_INFO 대한 포인터
CRYPT_KEY_PROV_INFO 구조체에 대한 포인터를 설정합니다. |
|
pvData에 대한 데이터 형식: DWORD에 대한 포인터
있는 경우 CERT_KEY_CONTEXT_PROP_ID 속성에서 가져온 프라이빗 키를 지정하는 DWORD 값을 설정합니다. 그렇지 않으면 CERT_KEY_PROV_INFO_PROP_ID 있는 경우 dwKeySpec의 원본입니다. |
|
pvData의 데이터 형식: BYTE 배열에 대한 포인터 MD5 해시를 설정합니다. CryptHashCertificate 함수를 사용하여 해시를 계산할 수 있습니다. |
|
pvData의 데이터 형식: BYTE 배열에 대한 포인터 CTL에서 ASN.1로 인코딩된 CERT_ALT_NAME_INFO 구조를 설정합니다. |
|
pvData의 데이터 형식: BYTE 배열에 대한 포인터 인증서의 공개 키와 연결된 프라이빗 키가 포함된 파일의 이름을 지정하는 null로 끝나는 유니코드 와이드 문자열을 설정합니다. |
|
pvData의 데이터 형식: BYTE 배열에 대한 포인터 SHA1 해시를 설정합니다. CryptHashCertificate를 사용하여 해시를 컴퓨팅할 수 있습니다. |
|
pvData의 데이터 형식: CRYPT_DATA_BLOB 구조체에 대한 포인터입니다.
인증서 서명을 나타내는 L"<SIGNATURE>/<HASH>" 문자열을 설정합니다. SIGNATURE> 값은< CNG 공개 키 알고리즘을 식별합니다. 지원되는 알고리즘은 다음과 같습니다.
이 속성은 확인 해지 함수에 의해 명시적으로 설정됩니다. Windows 8 및 Windows Server 2012: 이 속성에 대한 지원이 시작됩니다. |
|
pvData의 데이터 형식: BYTE 배열에 대한 포인터 서명 해시를 설정합니다. 해시가 없으면 CryptHashToBeSigned로 계산됩니다. 해시의 길이는 SHA의 경우 20바이트, MD5의 경우 16바이트입니다. |
사용자는 CERT_FIRST_USER_PROP_ID CERT_LAST_USER_PROP_ID DWORD 값을 사용하여 추가 dwPropId 형식을 정의할 수 있습니다. 모든 사용자 정의 dwPropId 형식의 경우 pvData 는 인코딩된 CRYPT_DATA_BLOB 가리킵니다.
다른 모든 속성 식별자의 경우 pvData 는 인코딩된 CRYPT_DATA_BLOB 구조를 가리킵니다.
[in] dwFlags
CERT_KEY_PROV_HANDLE_PROP_ID 또는 CERT_KEY_CONTEXT_PROP_ID dwPropId 속성에 대해 CERT_STORE_NO_CRYPT_RELEASE_FLAG 설정할 수 있습니다.
CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG 값이 설정되면 공급자 쓰기 오류가 무시되고 캐시된 컨텍스트의 속성이 항상 설정됩니다.
CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG 설정되면 모든 속성 집합이 유지되지 않습니다.
[in] pvData
dwPropId에 전달된 값에 의해 결정되는 데이터 형식에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보는 GetLastError를 호출합니다. 가능한 오류 코드 중 하나는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
속성이 잘못되었습니다. 지정된 식별자가 0x0000FFFF보다 크거나 CERT_KEY_CONTEXT_PROP_ID 속성의 경우 유효하지 않은 cbSize 멤버가 CERT_KEY_CONTEXT 구조체에 지정되었습니다. |
설명
속성이 이미 있는 경우 이전 값이 바뀝니다.
예제
이 함수를 사용하는 예제는 예제 C 프로그램: 인증서 속성 가져오기 및 설정을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |