ICertAdmin2::GetCAProperty 메서드(certadm.h)
GetCAProperty 메서드는 CA(인증 기관)에 대한 속성 값을 검색합니다. 이 메서드는 ICertAdmin 인터페이스에서 처음 정의되었습니다.
구문
HRESULT GetCAProperty(
[in] const BSTR strConfig,
[in] LONG PropId,
[in] LONG PropIndex,
[in] LONG PropType,
[in] LONG Flags,
[out] VARIANT *pvarPropertyValue
);
매개 변수
[in] strConfig
COMPUTERNAME\CANAME 형식의 CA에 대한 유효한 구성 문자열을 나타냅니다. 여기서 COMPUTERNAME은 인증서 서비스 서버의 네트워크 이름이고 CANAME는 인증서 서비스 설정 중에 입력한 대로 CA의 일반 이름입니다. 구성 문자열 이름에 대한 자세한 내용은 ICertConfig를 참조하세요.
[in] PropId
다음 속성 식별자 중 하나를 지정합니다.
값 | 의미 |
---|---|
|
속성의 데이터 형식: Long CA가 고급 서버를 실행하고 있는지 여부를 지정합니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA의 전체 또는 기본 CRL(인증서 해지 목록 )입니다. |
|
속성의 데이터 형식: Long, indexed 기본 CRL 게시 상태. 자세한 내용은 설명을 참조하세요. |
|
속성의 데이터 형식: 이진, 인덱싱됨 역방향 교차 인증서입니다. 역방향 교차 인증서는 CA에서 CA의 새 키로 서명된 자체로 갱신할 때 발급된 인증서입니다. 역방향 교차 인증서에는 새 CA 인증서의 기관 키 식별자와 이전 CA 인증서의 주체 키 식별자가 있습니다. 루트 CA에만 적용됩니다. |
|
속성의 데이터 형식: Long, indexed 이전 버전 간 인증서가 유효한지 여부입니다. 루트 CA에만 유효합니다. |
|
속성의 데이터 형식: Long CA 인증서의 상태입니다. 값은 다음이 될 수 있습니다.
|
|
속성의 데이터 형식: Long, indexed CA 인증서의 상태( HRESULT)입니다. |
|
속성의 데이터 형식: Long, indexed CA 인증서의 버전(DWORD)입니다. 상위 단어는 키 인덱스이고, 하위 단어는 CA 인증서 인덱스입니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 전달 교차 인증서입니다. 전달 교차 인증서는 CA에서 CA의 이전 키로 서명된 자체로 갱신할 때 발급된 인증서입니다. 전달 교차 인증서에는 이전 CA 인증서의 기관 키 식별자와 새 CA 인증서의 주체 키 식별자가 있습니다. 루트 CA에만 적용됩니다. |
|
속성의 데이터 형식: Long, indexed 전달 교차 인증서가 유효한지 여부입니다. 루트 CA에만 유효합니다. |
|
속성의 데이터 형식: 문자열 CA의 이름입니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA 서명 인증서. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA 서명 인증서 체인. |
|
속성의 데이터 형식: Long CA에 대한 서명 인증서 수입니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA의 서명 인증서 CRL 체인입니다. |
|
속성의 데이터 형식: Long CA 유형입니다. 다음 값 중 하나일 수 있습니다(Certsrv.h에 정의됨).
|
|
속성의 데이터 형식: 이진, 인덱싱됨 CA 교환 인증서. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA 교환 인증서 체인. |
|
속성의 데이터 형식: Long CA에 대한 교환 인증서 수입니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA의 교환 인증서 CRL 체인입니다. |
|
속성의 데이터 형식: 문자열, 인덱싱됨 기관 정보 액세스 URL을 클라이언트에서 요청한 URL 유형으로 지정합니다. Windows Server 2003: 이 플래그는 지원되지 않습니다. |
|
속성의 데이터 형식: 문자열, 인덱싱됨 CRL 배포 지점 URL을 클라이언트에서 요청한 URL 유형으로 지정합니다. Windows Server 2003: 이 플래그는 지원되지 않습니다. |
|
속성의 데이터 형식: Long CA CRL의 상태입니다. 값은 다음이 될 수 있습니다.
|
|
속성의 데이터 형식: 이진, 인덱싱됨 CA의 델타 CRL입니다. |
|
속성의 데이터 형식: Long, indexed 델타 CRL 게시 상태. 자세한 내용은 설명을 참조하세요. |
|
속성의 데이터 형식: 문자열 CA의 DNS 이름입니다. |
|
속성의 데이터 형식: Long CA에서 사용 중인 종료 모듈의 수입니다. |
|
속성의 데이터 형식: 문자열 종료 모듈에 대한 설명입니다. |
|
속성의 데이터 형식: 문자열 Certificate Services 파일 버전입니다. |
|
속성의 데이터 형식: 이진, 인덱싱됨 CA의 KRA(키 복구 에이전트) 인증서입니다. |
|
속성의 데이터 형식: Long CA에 대한 KRA 인증서 수입니다. |
|
속성의 데이터 형식: Long, indexed KRA의 인증서 상태입니다. 반환 값은 다음 중 하나입니다.
|
|
속성의 데이터 형식: Long CA에서 사용하는 KRA 인증서 수입니다. |
|
속성의 데이터 형식: 문자열 CA의 부모 CA 이름입니다. |
|
속성의 데이터 형식: 문자열 정책 모듈에 대한 설명입니다. |
|
속성의 데이터 형식: 문자열 파일이 배송된 제품 버전입니다. |
|
속성의 데이터 형식: Long 역할 분리를 사용할지 여부를 지정하는 값입니다. |
|
속성의 데이터 형식: 문자열 CA의 삭제된 이름입니다. 삭제된 CA 이름의 정의는 ICertConfig2::GetConfig를 참조하세요. |
|
속성의 데이터 형식: 문자열 CA의 삭제된 짧은 이름입니다. 삭제된 CA 짧은 이름의 정의는 ICertConfig2::GetConfig를 참조하세요. |
|
속성의 데이터 형식: 문자열 공유 폴더 디렉터리의 이름입니다. |
|
속성의 데이터 형식: 문자열 CA에서 지원하는 템플릿 목록입니다. |
[in] PropIndex
PropId 매개 변수가 인덱싱되면 속성 값을 검색할 때 사용할 0부터 시작하는 인덱스입니다. PropId가 인덱싱되지 않으면 이 값은 무시됩니다.
[in] PropType
PropId 테이블의 의미 열에 표시된 속성의 형식을 지정합니다. 형식은 다음 형식 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
서명된 긴 데이터 |
|
날짜/시간(향후 사용을 위해 예약됨) |
|
이진 데이터 |
|
유니코드 문자열 데이터 |
[in] Flags
다음 플래그를 사용하여 반환된 속성 값의 형식을 지정할 수 있습니다. 이러한 플래그는 이진 데이터(예: 인증서, 인증서 체인 또는 인증서 해지 목록)에 대해서만 의미가 있으며, 그렇지 않으면 무시됩니다.
[out] pvarPropertyValue
요청된 속성 값을 수신하는 버퍼에 대한 포인터입니다. VariantClear를 호출하면 이 리소스를 해제하는 것은 호출자의 책임입니다.
반환 값
C++
반환 값은 HRESULT입니다. S_OK 값은 메서드가 성공했음을 나타냅니다.VB
요청된 속성 값입니다.설명
속성 식별자가 CR_PROP_BASECRLPUBLISHSTATUS 또는 CR_PROP_DELTACRLPUBLISHSTATUS 경우 다음 값이 반환됩니다. 이러한 값은 결합할 수 있습니다.
값 | Description |
---|---|
CPF_BADURL_ERROR | URL이 잘못되었습니다. |
CPF_BASE | 기본 CRL이 게시되었습니다. |
CPF_CASTORE_ERROR | CA 저장소 오류로 인해 게시가 차단되었습니다. |
CPF_COMPLETE | 전체 CRL이 게시되었습니다. |
CPF_DELTA | 델타 CRL이 게시되었습니다. |
CPF_FILE_ERROR | 파일 오류로 인해 게시가 차단되었습니다. |
CPF_FTP_ERROR | FTP 오류로 인해 게시가 차단되었습니다. |
CPF_HTTP_ERROR | HTTP 오류로 인해 게시가 차단되었습니다. |
CPF_LDAP_ERROR | LDAP 오류로 인해 게시가 차단되었습니다. |
CPF_MANUAL | CRL이 수동으로 게시되었습니다. |
CPF_SHADOW | 빈 델타 CRL이 새 BASE CRL과 함께 게시되었습니다. |
CPF_SIGNATURE_ERROR | 서명 오류로 인해 게시가 차단되었습니다. |
CRL을 검색하는 예제는 인증서 해지 목록 검색을 참조하세요.
예제
다음 예제에서는 CA의 서명 인증서를 검색하는 방법을 보여줍니다. 이 예제에서는 ICertAdmin2 인터페이스 포인터가 유효하다고 가정합니다.
BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
CR_PROP_CASIGCERT,
0,
PROPTYPE_BINARY,
CV_OUT_BASE64HEADER,
&var1);
if (FAILED(hr))
{
printf("Failed GetCAProperty\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Use the property as needed.
// ...
// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certadm.h(Certsrv.h 포함) |
라이브러리 | Certidl.lib |
DLL | Certadm.dll |