ICertServerExit::GetCertificateProperty 메서드(certif.h)
GetCertificateProperty 메서드는 인증서에서 명명된 속성을 반환합니다.
구문
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
매개 변수
[in] strPropertyName
검색할 명명된 속성을 지정합니다. 항상 유효하고 이 메서드를 호출하여 검색할 수 있는 인증서 속성의 주식 집합( 이름 속성이라고 함)이 있습니다. 이러한 속성에 대한 자세한 내용은 이름 속성을 참조하세요. 검색할 수 있는 다른 속성에는 인증서 속성이 포함됩니다.
다음 속성은 인증서에 고유하며 GetCertificateProperty에서 읽을 수 있습니다.
값 | 의미 |
---|---|
|
인증서 시작 유효 날짜 |
|
인증서 만료 날짜 |
|
주체 키 알고리즘 개체 식별자 (OID) |
|
원시 인증서 바이트 |
|
제목 키 |
|
주체 키 알고리즘 매개 변수 |
|
내부 요청 ID |
|
인증서 일련 번호 |
인증서의 DistinguishedName, RawName 및 SerialNumber 속성은 정책 모듈이 요청 처리를 완료하고 인증서를 발급한 후에만 GetCertificateProperty 에서 액세스할 수 있습니다.
다음 속성은 인증 기관에 적용됩니다. 이러한 속성을 읽으려면 컨텍스트가 0이어야 합니다. 컨텍스트는 ICertServerExit 개체를 처음 만들 때 0으로 설정됩니다. SetContext 메서드를 호출하여 0으로 설정할 수도 있습니다.
값 | 의미 |
---|---|
|
인증 기관의 유형입니다. 다음 값 중 하나일 수 있습니다(Certsrv.h에 정의됨). ENUM_ENTERPRISE_ROOTCA ENUM_ENTERPRISE_SUBCA ENUM_STANDALONE_ROOTCA ENUM_STANDALONE_SUBCA |
|
CA 인증서 수입니다. 이 값은 CA가 갱신된 횟수를 더한 값입니다. 갱신에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
CA 인증서 상태입니다. 다음 값 중 하나일 수 있습니다.
|
|
CA 인증서에 대한 접미사입니다. 접미사는 인덱스가 0인 CA 인증서의 빈 문자열입니다. 그렇지 않으면 접미사(nn이 인증서 인덱스인 "(nn)" 형식)가 파일 또는 디렉터리 서비스 개체에 저장된 CA 인증서를 가리키는 모든 URL에 적용됩니다. LDAP가 아닌 URL의 경우 접미사는 일반적으로 ".crt" 텍스트 앞에 표시됩니다. LDAP URL의 경우 접미사는 일반적으로 전체 고유 이름의 첫 번째 'CN='에 추가됩니다.
이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
CRL(인증서 해지 목록) 인덱스입니다. 인증서 인덱스를 이 속성 이름에 추가하면 CRL 인덱스를 검색할 수 있습니다. CRL 인덱스가 인증서 인덱스와 반드시 일치하지는 않습니다. 자세한 내용은 인증을 참조 하세요.
이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
CRL 상태입니다. 다음 값 중 하나일 수 있습니다.
|
|
CA CRL에 대한 접미사입니다. 접미사는 인덱스가 0인 CRL의 빈 문자열입니다. 그렇지 않으면 접미사(nn이 CRL 인덱스인 "(nn)" 형식)가 파일 또는 디렉터리 서비스 개체에 저장된 CRL을 가리키는 모든 URL에 적용됩니다. LDAP가 아닌 URL의 경우 접미사는 일반적으로 ".crl" 텍스트 앞에 표시됩니다. LDAP URL의 경우 접미사는 일반적으로 전체 고유 이름의 첫 번째 'CN='에 추가됩니다.
이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
CA가 디렉터리 서비스를 사용하는지 여부를 나타냅니다. 다음 값 중 하나일 수 있습니다.
|
|
CA를 호스팅하는 서버의 DNS 이름입니다. |
|
모듈에서 사용할 수 있는 레지스트리 위치입니다. |
|
CA 인증서.
이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
CA의 CRL( 인증서 해지 목록 ).
이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요. |
|
요청자에게 인증서를 요청할 권한이 있는지 여부를 나타냅니다. 다음 값 중 하나일 수 있습니다.
|
|
CA의 삭제된 이름입니다. 삭제된 CA 이름에 대한 자세한 내용은 ICertConfig::GetConfig를 참조하세요. |
|
고유성을 보장하기 위해 단축되고 해시 값을 포함하는 CA의 삭제된 이름입니다. |
[in] PropertyType
속성 형식을 지정합니다. 형식은 다음 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
서명된 긴 데이터 |
|
날짜/시간 |
|
이진 데이터 |
|
유니코드 문자열 데이터 |
[out] pvarPropertyValue
속성 값을 포함할 VARIANT 에 대한 포인터입니다. 반환된 값은 BSTR로 인코딩됩니다. SysStringByteLen 함수를 사용하여 BSTR의 길이를 검색합니다. 이진 BLOB은 Distinguished Encoding Rules 인코딩된 X.509 인증서로 저장됩니다.
반환 값
C++
메서드가 성공하면 메서드는 S_OK 반환합니다.메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.
VB
반환 값은 요청된 속성 값입니다.설명
이 메서드를 사용하기 전에 ICertServerExit::SetContext 를 호출해야 합니다.
예제
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit(&varProp);
// Set the property name to RequestID.
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the certificate property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateProperty(bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetCertificateProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
if (NULL != bstrPropName)
SysFreeString(bstrPropName);
VariantClear(&varProp);
요구 사항
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certif.h(Certsrv.h 포함) |
라이브러리 | Certidl.lib |
DLL | Certcli.dll |