IX509Extension 인터페이스(certenroll.h)

IX509Extension 인터페이스를 사용하여 인증서 요청에 대한 확장을 정의할 수 있습니다. 인증서 확장은 키 사용, 인증서 정책 및 제약 조건, 대체 이름 양식 등에 대한 정보를 제공합니다. 확장은 OID( 개체 식별자 ), 확장이 중요한지 여부를 식별하는 부울 값 및 다음 ASN.1( Abstract Syntax Notation One ) 구문에 표시된 확장 값을 포함하는 바이트 배열로 구성됩니다.


Extension ::= SEQUENCE 
{
   extnId              OBJECT IDENTIFIER,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

인증서 등록 API에는 Windows 인증서 서버를 사용하는 PKI(공개 키 인프라)에서 가장 일반적으로 사용되는 다양한 확장을 만드는 데 사용할 수 있는 IX509Extension에서 파생된 다음 인터페이스가 포함되어 있습니다.

참고 다음 인터페이스 중 하나로 나타낼 수 있는 확장을 나타내기 위해 IX509Extension 기본 인터페이스를 사용하지 마세요. 적절한 인터페이스를 사용하지 않으면 등록 동작이 정의되지 않습니다.

 
인터페이스 Description
IX509ExtensionAlternativeNames 인증서 요청의 주체에 대한 하나 이상의 대체 이름 양식을 포함하는 AlternativeNames 확장을 정의합니다.
IX509ExtensionAuthorityKeyIdentifier 발급된 인증서에 서명한 인증 기관 프라이빗 키에 해당하는 인증 기관공개 키를 식별할 수 있도록 하는 AuthorityKeyIdentifier 확장을 정의합니다. Windows 서버에서 소프트웨어를 빌드하는 인증서 경로에서 인증 기관 인증서를 찾는 데 사용됩니다.
IX509ExtensionBasicConstraints 엔터티를 인증 기관으로 사용할 수 있는지 여부와 인증서 체인에 존재할 수 있는 하위 인증 기관의 수를 식별하는 BasicConstraints 확장을 정의합니다.
IX509ExtensionCertificatePolicies 인증서가 발급된 정책과 인증서를 사용할 수 있는 목적을 식별하는 CertificatePolicies 확장을 정의합니다.
IX509ExtensionEnhancedKeyUsage 인증서에 포함된 공개 키의 하나 이상의 사용을 식별하는 EnhancedKeyUsage 확장을 정의합니다.
IX509ExtensionKeyUsage 인증서에 포함된 공개 키로 수행할 수 있는 작업을 제한하는 KeyUsage 확장을 정의합니다.
IX509ExtensionMSApplicationPolicies 애플리케이션에서 허용된 사용을 기준으로 인증서를 필터링하는 데 사용할 수 있는 MSApplicationPolicies 확장을 정의합니다. 허용되는 사용은 OID(개체 식별자)로 식별됩니다.
IX509ExtensionSmimeCapabilities 전자 메일의 보낸 사람이 두 당사자가 지원하는 가장 안전한 암호화 알고리즘을 선택할 수 있도록 이메일 수신자의 암호 해독 기능을 식별하는 SmimeCapabilities 확장을 정의합니다.
IX509ExtensionSubjectKeyIdentifier 인증서 소유자가 보유한 여러 공개 키를 구분하는 SubjectKeyIdentifier 확장을 정의합니다. 확장 값은 일반적으로 키의 SHA-1 해시입니다.
IX509ExtensionTemplate 인증서 를 발급 하거나 갱신할 때 사용할 버전 2 템플릿을 식별하는 템플릿 확장을 정의합니다.
IX509ExtensionTemplateName 인증서를 발급하거나 갱신할 때 사용할 버전 1 템플릿을 식별하는 TemplateName 확장을 정의합니다.
 

이전 인터페이스를 사용하여 만들 수 있는 대부분의 확장은 버전 3 X.509 구문 표준에 의해 정의됩니다. Microsoft에서 사용자 지정 개체를 제공하지 않는 버전 3 확장을 만들려면 IX509Extension 인터페이스를 사용할 수 있습니다. 이러한 확장은 다음 표에서 식별됩니다.

확장/OID Description
AuthorityInformationAccess(XCN_OID_AUTHORITY_INFO_ACCESS) 인증 기관 정보 및 서비스에 액세스하는 방법을 식별합니다. 확장 값에는 URI 시퀀스가 포함됩니다.
CrlDistributionPoints(XCN_OID_CRL_DIST_POINTS) CRL(기본 인증서 해지 목록 )의 URI를 포함합니다.
FreshestCRL(XCN_OID_FRESHEST_CRL) 델타 CRL의 URI를 포함합니다. 이 확장 및 CrlDistributionPoints 확장에는 동일한 ASN.1 구문이 사용됩니다.
NameConstraints(XCN_OID_NAME_CONSTRAINTS) 인증서 계층 구조에 있는 인증서의 모든 주체 이름을 찾아야 하는 네임스페이스를 식별합니다. 확장은 인증 기관 인증서에서만 사용됩니다.
PolicyConstraints(XCN_OID_POLICY_CONSTRAINTS) 정책 매핑을 금지하거나 계층의 각 인증서에 수락 가능한 정책 식별자를 포함하도록 하여 경로 유효성 검사를 제한합니다.
PolicyMappings(XCN_OID_POLICY_MAPPINGS) 발급 인증 기관의 정책에 해당하는 하위 인증 기관의 정책을 식별합니다. 확장 값에는 개체 식별자가 나타내는 인증 기관 및 하위 인증 기관 정책 매핑을 발급하는 일련의 항목이 포함됩니다.
PrivateKeyUsagePeriod(XCN_OID_PRIVATEKEY_USAGE_PERIOD) 키가 연결된 인증서와는 다른 프라이빗 키의 유효 기간을 지정합니다.
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) 인증서 주체에 대한 국적과 같은 식별 특성을 전달합니다. 확장 값은 일련의 OID 값 쌍입니다.
 

마지막으로 IX509Extension 인터페이스를 사용하여 특정 커뮤니티에 고유한 정보를 포함하는 프라이빗 확장을 정의할 수 있습니다.

확장은 PKCS #10 요청의 특성 구조와 CMC 요청의 TaggedAttributes 구조에 추가됩니다. 두 요청 형식에 확장을 추가하려면 먼저 IX509Extensions 컬렉션에 확장을 추가하고 컬렉션을 사용하여 IX509AttributeExtensions 개체를 초기화해야 합니다. 자세한 내용은 PKCS #10 확장CMC 확장 topics 참조하세요.

상속

IX509Extension 인터페이스는 IDispatch 인터페이스에서 상속됩니다. IX509Extension 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IX509Extension 인터페이스에는 이러한 메서드가 있습니다.

 
IX509Extension::get_Critical

인증서 확장이 중요한지 여부를 식별하는 부울 값을 지정하고 검색합니다. (Get)
IX509Extension::get_ObjectId

확장에 대한 OID(개체 식별자)를 검색합니다.
IX509Extension::get_RawData

확장 값을 포함하는 바이트 배열을 검색합니다. (IX509Extension.get_RawData)
IX509Extension::Initialize

OID(개체 식별자) 및 DER(Distinguished Encoding Rules) 인코딩 확장을 포함하는 바이트 배열을 사용하여 IX509Extension 개체를 초기화합니다.
IX509Extension::p ut_Critical

인증서 확장이 중요한지 여부를 식별하는 부울 값을 지정하고 검색합니다. (Put)

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h

추가 정보

인증서 등록 API

ICryptAttribute

IDispatch

IX509AttributeExtensions

IX509Extensions