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