다음을 통해 공유


CMC 특성

실제로 다음 구문에 표시된 CMC 요청의 구조는 중첩된 요청을 포함하는 경우가 많기 때문에 비교적 복잡합니다. 예를 들어 CMC 요청에 는 TaggedRequest 시퀀스에 0개 또는 1개의 PKCS #10 요청이 포함될 수 있으며 TaggedContentInfo 시퀀스에 0개 또는 1개의 PKCS #7 메시지를 포함할 수 있습니다. 중첩된 각 PKCS #7 메시지에는 CMC 요청이 포함될 수 있으며, 이 요청에는 더 많은 요청이 포함될 수 있습니다. 중첩 수준 수는 이론적으로 무제한이지만 일반적으로 CA(인증 기관)는 요청 크기를 제한하도록 구성됩니다. 특성은 최상위 요청 또는 중첩된 요청에 적용할 수 있습니다. 이 내용은 다음 섹션에서 설명합니다.

CMCData 구조체

CMC 요청에는 TaggedAttribute, TaggedRequestTaggedContentInfo ASN.1 구조의 시퀀스가 포함됩니다.

CmcData ::= SEQUENCE 
{
   controlSequence         ControlSequence,
   reqSequence             ReqSequence,
   cmsSequence             CmsSequence,
   otherMsgSequence        OtherMsgSequence
}


ControlSequence  ::=    SEQUENCE OF TaggedAttribute
ReqSequence      ::=    SEQUENCE OF TaggedRequest
CmsSequence      ::=    SEQUENCE OF TaggedContentInfo

TaggedAttribute ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   type                    EncodedObjectID,
   values                  AttributeSetValue
}

TaggedRequest ::= CHOICE 
{
   tcr                     [0] IMPLICIT TaggedCertificationRequest
}

TaggedContentInfo ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   contentInfo             ANY
}

BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY

TaggedAttribute 구조체

특성은 TaggedAttribute 컬렉션에 추가하여 CMC 인증서 요청에 포함됩니다. 컬렉션의 각 구조에는 정수 ID, ASN.1 개체 식별자(OID) 및 값 집합이 포함됩니다. 가능한 값은 다음 중 한 개일 수 있습니다.

CmcAddAttributes ::= SEQUENCE 
{
   pkiDataReference        BodyPartID,
   certReferences          BodyPartIDSequence,
   attributes              Attributes
}

Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE 
{
   type       EncodedObjectID,
   values     AttributeSetValue
}

CmcAddExtensions ::= SEQUENCE 
{
   pkiDataReference        BodyPartID,
   certReferences          BodyPartIDSequence,
   extensions              Extensions
}

Extensions ::= SEQUENCE OF Extension

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

SenderNonce ::= OCTET STRING

TransactID ::= OCTET STRING

RegInfo ::= OCTET STRING

CMCAddAttributes

이 구조의 특성이 중첩된 PKCS #10 요청에 적용되는 경우 certReferences 필드에 요청을 식별하는 BodyPartID 가 포함됩니다. 특성이 중첩된 CMC 요청에 적용되는 경우 pkiDataReference 필드에 요청의 BodyPartID 가 포함됩니다. 현재 이러한 필드 중 하나만 0이 아닐 수 있습니다. 포함할 수 있는 특성은 지원되는 특성 항목에 나열되어 있습니다.

CmcAddExtensions

이 구조에는 X.509 버전 3 확장과 Microsoft에서 정의한 확장이 포함될 수 있습니다. 이 특성은 IX509AttributeExtensions 인터페이스를 사용하여 정의됩니다. 확장이 중첩된 PKCS #10 요청에 적용되는 경우 certReferences 필드에 요청을 식별하는 BodyPartID 가 포함됩니다. 확장이 중첩된 CMC 요청에 적용되는 경우 pkiDataReference 필드에는 요청의 BodyPartID 가 포함됩니다. 현재 이러한 필드 중 하나만 0이 아닐 수 있습니다.

SenderNonce

nonce는 인증서 요청 및 응답 트랜잭션에 포함될 수 있는 임의 또는 의사 임의 이진 데이터이므로 응답 또는 요청이 이전 메시지의 반복이 아닌지 확인할 수 있습니다. 자세한 내용은 SenderNonce 속성을 참조하세요.

TransactID

식별자를 사용하여 왕복 인증서 요청 및 응답 트랜잭션을 추적할 수 있습니다. 클라이언트는 트랜잭션 ID를 생성하고 인증서 또는 등록 기관이 트랜잭션을 완료하는 메시지로 응답할 때까지 이를 유지합니다. 응답에는 식별자가 포함됩니다. 자세한 내용은 TransactionId 속성을 참조하세요.

RegInfo

이 특성은 클라이언트가 CMC 요청에 넣기로 선택한 등록 정보를 포함하는 데 사용할 수 있습니다. 특성 값은 연결된 이름-값 쌍을 포함하는 문자열입니다. 자세한 내용은 NameValuePairs 속성을 참조하세요.

지원되는 특성