IX509Extension 인터페이스(certenroll.h)
IX509Extension 인터페이스를 사용하여 인증서 요청대한 확장을 정의할 수 있습니다. 인증서 확장은 키 사용, 인증서 정책 및 제약 조건, 대체 이름 양식 등에 대한 정보를 제공합니다. 확장은 OID(개체 식별자), 확장이 중요한지 여부를 식별하는 부울 값, 다음 ASN.1(추상 구문 표기법 1) 구문과 같이 확장 값을 포함하는 바이트 배열로 구성됩니다.
Extension ::= SEQUENCE
{
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
인증서 등록 API에는 windows 인증서 서버사용하는 PKI(공개 키 인프라)에서 가장 일반적으로 사용되는 다양한 확장을 만드는 데 사용할 수 있는 IX509Extension파생된 다음 인터페이스가 포함되어 있습니다.
인터페이스 | 묘사 |
---|---|
IX509ExtensionAlternativeNames | 인증서 요청의 주체에 대한 하나 이상의 대체 이름 양식을 포함하는 AlternativeNames 확장을 정의합니다. |
IX509ExtensionAuthorityKeyIdentifier | 발급된 인증서에 서명한 프라이빗 키 |
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 | 묘사 |
---|---|
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 확장 항목을 참조하세요.
상속
IX509Extension 인터페이스는 IDispatch 인터페이스에서 상속됩니다. IX509Extension 다음과 같은 형식의 멤버도 있습니다.
방법
IX509Extension 인터페이스에는 이러한 메서드가 있습니다.
IX509Extension::get_Critical 인증서 확장이 중요한지 여부를 식별하는 부울 값을 지정하고 검색합니다. (가져오기) |
IX509Extension::get_ObjectId 확장에 대한 OID(개체 식별자)를 검색합니다. |
IX509Extension::get_RawData 확장 값을 포함하는 바이트 배열을 검색합니다. (IX509Extension.get_RawData) |
IX509Extension:: 초기화 OID(개체 식별자) 및 DER(고유 인코딩 규칙) 인코딩 확장이 포함된 바이트 배열을 사용하여 IX509Extension 개체를 초기화합니다. |
IX509Extension::p ut_Critical 인증서 확장이 중요한지 여부를 식별하는 부울 값을 지정하고 검색합니다. (Put) |
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certenroll.h |
참고 항목
ICryptAttribute