---------------------------------------------------------------------------- -- X509.ASN -- -- ASN.1 definitions for X509 v3 certificates ---------------------------------------------------------------------------- --#comment "Copyright (C) Microsoft Corporation, 1996-1999. All rights reserved."-- --#comment "ASN.1 definitions for X509 v3 certificates"-- --#oid array-- -- object identifier is 16-node fixed array --#SS.basic lenptr-- -- set of and sequence of w/o size constraint --#SS.sized lenptr-- -- set of and sequence of w/ size constraint X509 DEFINITIONS EXPLICIT TAGS ::= BEGIN BITSTRING ::= BIT STRING --#lenptr-- --#nomemcpy-- -- tag 0x03 BMPSTRING ::= BMPString --#lenptr-- -- tag 0x1E (30) -------------------------------------------- -- Enhanced Key Usage Extension (2.5.29.32) -------------------------------------------- EnhancedKeyUsage ::= SEQUENCE --#public-- OF UsageIdentifier ObjectID ::= OBJECT IDENTIFIER --#oid array-- UsageIdentifier ::= ObjectID -------------------------------------------- -- Private Datasturcture for requests, REQUESTFLAGS -------------------------------------------- RequestFlags ::= SEQUENCE { fWriteToCSP BOOLEAN, fWriteToDS BOOLEAN, openFlags INTEGER } --#public-- ----------------------------------------------------------------------- -- PKCS10 Attribute to decribe the CSP Provider used ----------------------------------------------------------------------- CSPProvider ::= SEQUENCE { keySpec INTEGER, cspName BMPSTRING, signature BITSTRING } --#public-- ----------------------------------------------------------------------- -- Enrollment Name Value Pair Authenticated Attributes in RA PKCS7s ----------------------------------------------------------------------- EnrollmentNameValuePair ::= SEQUENCE { name BMPSTRING, value BMPSTRING } --#public-- -------------------------------------------- -- CMC Data Support Structures -------------------------------------------- UTF8STRING ::= UTF8String --#lenptr-- -- tag 0x0C (12) OCTETSTRING ::= OCTET STRING --#lenptr-- --#nomemcpy-- -- tag 0x04 NOCOPYANY ::= ANY --#nomemcpy-- Extensions ::= SEQUENCE OF Extension Extension ::= SEQUENCE { extnId ObjectID, critical BOOLEAN DEFAULT FALSE, extnValue OCTETSTRING } Attribute ::= SEQUENCE { type ObjectID, values AttributeSetValue } AttributeSetValue ::= SET OF NOCOPYANY Attributes ::= SET OF Attribute -------------------------------------------- -- CMC Data Structures -------------------------------------------- CmcData ::= SEQUENCE { controlSequence ControlSequence, reqSequence ReqSequence, cmsSequence CmsSequence, otherMsgSequence OtherMsgSequence } --#public-- CmcResponseBody ::= SEQUENCE { controlSequence ControlSequence, cmsSequence CmsSequence, otherMsgSequence OtherMsgSequence } --#public-- ControlSequence ::= SEQUENCE OF TaggedAttribute ReqSequence ::= SEQUENCE OF TaggedRequest CmsSequence ::= SEQUENCE OF TaggedContentInfo OtherMsgSequence ::= SEQUENCE OF TaggedOtherMsg BodyPartID ::= INTEGER (0..4294967295) BodyPartIDSequence ::= SEQUENCE OF BodyPartID TaggedAttribute ::= SEQUENCE { bodyPartID BodyPartID, type ObjectID, values AttributeSetValue } TaggedRequest ::= CHOICE { tcr [0] IMPLICIT TaggedCertificationRequest } TaggedCertificationRequest ::= SEQUENCE { bodyPartID BodyPartID, certificationRequest NOCOPYANY } TaggedContentInfo ::= SEQUENCE { bodyPartID BodyPartID, contentInfo NOCOPYANY } TaggedOtherMsg ::= SEQUENCE { bodyPartID BodyPartID, otherMsgType ObjectID, otherMsgValue NOCOPYANY } CmcStatusInfo ::= SEQUENCE { cmcStatus INTEGER (0..4294967295), bodyList BodyPartIDSequence, statusString UTF8STRING OPTIONAL, otherInfo CHOICE { failInfo INTEGER (0..4294967295), pendInfo PendInfo } OPTIONAL } --#public-- PendInfo ::= SEQUENCE { pendToken OCTETSTRING, pendTime GeneralizedTime } CmcAddExtensions ::= SEQUENCE { pkiDataReference BodyPartID, certReferences BodyPartIDSequence, extensions Extensions } --#public-- CmcAddAttributes ::= SEQUENCE { pkiDataReference BodyPartID, certReferences BodyPartIDSequence, attributes Attributes } --#public-- END