다음을 통해 공유


ICertServerPolicy::GetCertificateProperty 메서드(certif.h)

GetCertificateProperty 메서드는 인증서에서 명명된 속성을 반환합니다.

이 메서드를 사용하기 전에 ICertServerPolicy::SetContext 를 호출해야 합니다.

구문

HRESULT GetCertificateProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

매개 변수

[in] strPropertyName

검색할 명명된 속성을 지정합니다. 항상 유효하고 이 메서드를 호출하여 검색할 수 있는 이름 속성이라고 하는 인증서 속성의 주식 집합이 있습니다. 이러한 속성에 대한 자세한 내용은 이름 속성을 참조하세요. 이름 속성 옆에 있는 다른 속성도 검색할 수 있습니다.

인증서의 DistinguishedName 및 RawName 속성은 정책 모듈이 요청 처리를 완료하고 인증서가 발급된 후에만 ICertServerExit::GetCertificateProperty 에서 액세스할 수 있습니다. 발급된 인증서의 DistinguishedName 및 RawName 속성은 ICertServerExit::GetCertificateProperty를 사용하여 종료 모듈에서도 읽을 수 있습니다.

GetCertificateProperty에서 액세스할 수 없는 추가 인증서 속성이 있습니다. 이러한 속성은 정책 모듈이 VR_INSTANT_OK 반환하고 인증서가 발급될 때까지 설정되지 않습니다. 발급된 인증서의 모든 속성에 대한 전체 목록은 GetCertificateProperty를 참조하세요.

다음 속성은 인증서에 고유하며 GetCertificateProperty에서 읽을 수 있습니다.

인증서 속성 의미
RequestID
긴 서명됨
내부 요청 ID
NotBefore
날짜/시간
인증서 시작 유효 날짜
NotAfter
날짜/시간
인증서 만료 날짜
RawPublicKey
이진
제목 키
PublicKeyAlgorithm
String
주체 키 알고리즘 개체 ID (OID)
RawPublicKeyAlgorithmParameters
이진
주체 키 알고리즘 매개 변수
GeneralFlags
PROPTYPE_LONG
등록 요청의 GeneralFlags입니다. 값의 비트 OR 입니다. 관심 있는 유일한 값은 0x00000400 플래그 값이어야 합니다. 이 값은 CA가 데이터베이스에서 요청을 유지하지 않도록 지시합니다. CA가 데이터베이스 없는 모드(즉, Windows Server 2008 R2 이상 CA의 경우 CA의 데이터베이스에 DBFLAGS_ENABLEVOLATILEREQUESTS 플래그 집합이 있음)인 경우 및 certutil -setreg DBFlags 를 사용하여 certutil -getreg DbFlags 데이터베이스리스 모드에서 CA를 구성합니다.

Windows Vista 및 Windows Storage Server 2003: 이 필드는 지원되지 않습니다.

RequesterNameFromOldCertificate
PROPTYPE_STRING
갱신 요청의 경우 요청자 계정 이름(예: contoso\requester)을 반환합니다.
 

다음 속성은 인증 기관에 적용됩니다.

CA 속성 의미
CAType
long
인증 기관의 유형입니다. 다음 값 중 하나일 수 있습니다(Certsrv.h에 정의됨).
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
long
CA 인증서 수입니다. 이 값은 CA가 갱신된 횟수를 더한 값입니다. 갱신에 대한 자세한 내용은 인증을 참조 하세요.
CertState
long
CA 인증서 상태입니다. 다음 값 중 하나일 수 있습니다.
  • CA_DISP_ERROR: CA 인증서가 발급되지 않았습니다.
  • CA_DISP_REVOKED: CA 인증서가 해지되었습니다.
  • CA_DISP_VALID: CA 인증서는 여전히 유효합니다.
  • CA_DISP_INVALID: CA 인증서가 만료되었습니다.
이 속성 이름은 '.#'과 함께 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스(또는 CRLSuffix 속성의 경우 CRL 인덱스)를 나타냅니다. 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.
CertSuffix
String
CA 인증서의 접미사입니다. 접미사는 인덱스가 0인 CA 인증서의 빈 문자열입니다. 그렇지 않으면 파일 또는 디렉터리 서비스 개체에 저장된 CA 인증서를 가리키는 모든 URL에 접미사("(nn)", 여기서 nn 은 인증서 인덱스임)이 적용됩니다. LDAP가 아닌 URL의 경우 접미사는 일반적으로 ".crt" 텍스트 앞에 나타납니다. LDAP URL의 경우 접미사는 일반적으로 전체 고유 이름의 첫 번째 'CN='에 추가됩니다.

이 속성 이름은 '.#'과 함께 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스(또는 CRLSuffix 속성의 경우 CRL 인덱스)를 나타냅니다. 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.

CRLIndex
long
CRL( 인증서 해지 목록 ) 인덱스입니다. 이 속성 이름에 인증서 인덱스를 추가하면 CRL 인덱스를 검색할 수 있습니다. CRL 인덱스가 반드시 인증서 인덱스와 일치하지는 않습니다. 자세한 내용은 인증을 참조 하세요.

이 속성 이름은 '.#'과 함께 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스(또는 CRLSuffix 속성의 경우 CRL 인덱스)를 나타냅니다. 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.

CRLState
long
CRL 상태입니다. 다음 값 중 하나일 수 있습니다.
  • CA_DISP_ERROR: CRL은 다른 CA 인증서에 의해 관리됩니다.
  • CA_DISP_REVOKED: 이 CA 인증서의 CRL을 사용하는 모든 노출되지 않은 CA 인증서가 해지되었습니다.
  • CA_DISP_VALID: CA 인증서는 필요에 따라 CRL을 게시하는 데 계속 사용되고 있습니다.
  • CA_DISP_INVALID: 이 CA 인증서의 CRL을 사용하는 모든 CA 인증서가 만료되었습니다.
이 속성 이름은 '.#'과 함께 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스(또는 CRLSuffix 속성의 경우 CRL 인덱스)를 나타냅니다. 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.
CRLSuffix
String
CA CRL의 접미사입니다. 접미사는 인덱스가 0인 CRL의 빈 문자열입니다. 그렇지 않으면 파일 또는 디렉터리 서비스 개체에 저장된 CRL을 가리키는 모든 URL에 접미사(nn이 CRL 인덱스인 "(nn)" 형식)가 적용됩니다. LDAP가 아닌 URL의 경우 접미사는 일반적으로 .crl 텍스트 앞에 나타납니다. LDAP URL의 경우 접미사는 일반적으로 전체 고유 이름의 첫 번째 'CN='에 추가됩니다.

이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.

fUseDS
long
CA가 디렉터리 서비스를 사용하는지 여부를 나타냅니다. 다음 값 중 하나일 수 있습니다.
  • 0=아니요
  • 1=예
MachineDNSName
String
CA를 호스팅하는 서버의 DNS 이름입니다.
ModuleRegistryLocation
String
모듈에서 사용할 수 있는 레지스트리 위치입니다.
RawCACertificate
이진
CA 인증서입니다.

이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.

RawCRL
이진
CA의 CRL( 인증서 해지 목록 )입니다.

이 속성 이름은 '.#'으로 추가될 수 있습니다. 여기서 #은 CA 인증서 인덱스를 나타냅니다(또는 CRLSuffix 속성의 경우 CRL 인덱스). 인증서 및 CRL 인덱스에 대한 자세한 내용은 인증 기관 갱신을 참조하세요.

RequesterCAAccess
long
요청자에게 인증서를 요청할 권한이 있는지 여부를 나타냅니다. 다음 값 중 하나일 수 있습니다.
  • 0=아니요
  • 1=예
(인증 기관 MMC 스냅인을 사용하여 인증서 요청 권한을 제어할 수 있습니다.)
SanitizedCAName
String
CA의 삭제된 이름 입니다. 삭제된 CA 이름에 대한 자세한 내용은 ICertConfig::GetConfig를 참조하세요.
SanitizedShortName
String
CA의 삭제된 이름입니다. 이 이름은 단축되고 고유성을 보장하기 위해 해시 값이 포함됩니다.

[in] PropertyType

속성 형식을 지정합니다. 형식은 다음 값 중 하나일 수 있습니다.

Type 의미
PROPTYPE_LONG
서명된 긴 데이터
PROPTYPE_DATE
날짜/시간
PROPTYPE_BINARY
이진 데이터
PROPTYPE_STRING
유니코드 문자열 데이터

[out] pvarPropertyValue

속성 값을 포함할 VARIANT 에 대한 포인터입니다.

반환 값

메서드가 성공하면 메서드는 S_OK 반환하고 *pvarPropertyValue 는 요청된 속성 값이 포함된 VARIANT 로 설정됩니다.

메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certif.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certcli.dll

추가 정보

ICertServerPolicy

ICertServerPolicy::SetContext

이름 속성