CMC 확장
확장은 다음 ASN.1 구문 예제에 표시된 TaggedAttributes 구조체에 추가하여 CMC 요청에 포함됩니다. 자세한 내용은 특성 항목을 참조 하세요 .
CmcData ::= SEQUENCE
{
controlSequence ControlSequence,
reqSequence ReqSequence,
cmsSequence CmsSequence,
otherMsgSequence OtherMsgSequence
}
ControlSequence ::= SEQUENCE OF TaggedAttribute
TaggedAttribute ::= SEQUENCE
{
bodyPartID BodyPartID,
type EncodedObjectID,
values AttributeSetValue
}
BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY
TaggedAttributes 컬렉션의 각 구조에는 정수 ID, ASN.1 개체 식별자(OID) 및 값 집합이 포함됩니다. 확장은 값 필드에 CmcAddExtensions 구조를 추가하여 요청에 통합됩니다. ASN.1 구조체 구문은 다음 예제에 나와 있습니다. 개체 식별자가 XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8)입니다.
CmcAddExtensions ::= SEQUENCE
{
pkiDataReference BodyPartID,
certReferences BodyPartIDSequence,
extensions Extensions
}
Extensions ::= SEQUENCE OF Extension
Extension ::= SEQUENCE
{
extnId EncodedObjectID,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
다음 절차에서는 인증서 등록 API를 사용하여 CMC 인증서 요청에 확장을 추가하는 방법을 설명합니다.
인증서 등록 API를 사용하여 CMC 인증서 요청에 확장을 추가하려면
- IX509Extension 인터페이스에서 파생되는 사용 가능한 인터페이스를 사용하여 확장을 만들거나 IX509Extension 개체를 직접 사용하여 사용자 지정 확장을 만듭니다.
- IX509CertificateRequestCmc 개체에서 X509Extensions 속성을 호출하여 IX509Extensions 컬렉션을 검색합니다.
- 1단계에서 만든 확장을 IX509Extensions 컬렉션에 추가합니다.
-
등록을 호출하여 다음 작업을 자동으로 수행합니다.
- IX509CertificateRequestCmc 개체에서 ICryptAttributes 개체를 검색합니다.
- 2단계에서 검색된 IX509Extensions 컬렉션을 사용하여 IX509AttributeExtensions 개체를 만들고 초기화합니다.
- IX509Attributes 컬렉션을 만들고 IX509AttributeExtensions 개체를 추가합니다.
- IX509Attributes 컬렉션을 사용하여 ICryptAttribute 개체를 초기화합니다.
- ICryptAttribute 개체를 ICryptAttributes 컬렉션에 추가합니다.
관련 항목