Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
5.3 KiB

  1. ----------------------------------------------------------------------------
  2. -- X509.ASN
  3. --
  4. -- ASN.1 definitions for X509 v3 certificates
  5. ----------------------------------------------------------------------------
  6. --#comment "Copyright (C) Microsoft Corporation, 1996-1999. All rights reserved."--
  7. --#comment "ASN.1 definitions for X509 v3 certificates"--
  8. --#oid array-- -- object identifier is 16-node fixed array
  9. --#SS.basic lenptr-- -- set of and sequence of w/o size constraint
  10. --#SS.sized lenptr-- -- set of and sequence of w/ size constraint
  11. X509
  12. DEFINITIONS EXPLICIT TAGS ::=
  13. BEGIN
  14. BITSTRING ::= BIT STRING --#lenptr-- --#nomemcpy-- -- tag 0x03
  15. BMPSTRING ::= BMPString --#lenptr-- -- tag 0x1E (30)
  16. --------------------------------------------
  17. -- Enhanced Key Usage Extension (2.5.29.32)
  18. --------------------------------------------
  19. EnhancedKeyUsage ::= SEQUENCE --#public-- OF UsageIdentifier
  20. ObjectID ::= OBJECT IDENTIFIER --#oid array--
  21. UsageIdentifier ::= ObjectID
  22. --------------------------------------------
  23. -- Private Datasturcture for requests, REQUESTFLAGS
  24. --------------------------------------------
  25. RequestFlags ::= SEQUENCE {
  26. fWriteToCSP BOOLEAN,
  27. fWriteToDS BOOLEAN,
  28. openFlags INTEGER
  29. } --#public--
  30. -----------------------------------------------------------------------
  31. -- PKCS10 Attribute to decribe the CSP Provider used
  32. -----------------------------------------------------------------------
  33. CSPProvider ::= SEQUENCE {
  34. keySpec INTEGER,
  35. cspName BMPSTRING,
  36. signature BITSTRING
  37. } --#public--
  38. -----------------------------------------------------------------------
  39. -- Enrollment Name Value Pair Authenticated Attributes in RA PKCS7s
  40. -----------------------------------------------------------------------
  41. EnrollmentNameValuePair ::= SEQUENCE {
  42. name BMPSTRING,
  43. value BMPSTRING
  44. } --#public--
  45. --------------------------------------------
  46. -- CMC Data Support Structures
  47. --------------------------------------------
  48. UTF8STRING ::= UTF8String --#lenptr-- -- tag 0x0C (12)
  49. OCTETSTRING ::= OCTET STRING --#lenptr-- --#nomemcpy-- -- tag 0x04
  50. NOCOPYANY ::= ANY --#nomemcpy--
  51. Extensions ::= SEQUENCE OF Extension
  52. Extension ::= SEQUENCE {
  53. extnId ObjectID,
  54. critical BOOLEAN DEFAULT FALSE,
  55. extnValue OCTETSTRING
  56. }
  57. Attribute ::= SEQUENCE {
  58. type ObjectID,
  59. values AttributeSetValue
  60. }
  61. AttributeSetValue ::= SET OF NOCOPYANY
  62. Attributes ::= SET OF Attribute
  63. --------------------------------------------
  64. -- CMC Data Structures
  65. --------------------------------------------
  66. CmcData ::= SEQUENCE {
  67. controlSequence ControlSequence,
  68. reqSequence ReqSequence,
  69. cmsSequence CmsSequence,
  70. otherMsgSequence OtherMsgSequence
  71. } --#public--
  72. CmcResponseBody ::= SEQUENCE {
  73. controlSequence ControlSequence,
  74. cmsSequence CmsSequence,
  75. otherMsgSequence OtherMsgSequence
  76. } --#public--
  77. ControlSequence ::= SEQUENCE OF TaggedAttribute
  78. ReqSequence ::= SEQUENCE OF TaggedRequest
  79. CmsSequence ::= SEQUENCE OF TaggedContentInfo
  80. OtherMsgSequence ::= SEQUENCE OF TaggedOtherMsg
  81. BodyPartID ::= INTEGER (0..4294967295)
  82. BodyPartIDSequence ::= SEQUENCE OF BodyPartID
  83. TaggedAttribute ::= SEQUENCE {
  84. bodyPartID BodyPartID,
  85. type ObjectID,
  86. values AttributeSetValue
  87. }
  88. TaggedRequest ::= CHOICE {
  89. tcr [0] IMPLICIT TaggedCertificationRequest
  90. }
  91. TaggedCertificationRequest ::= SEQUENCE {
  92. bodyPartID BodyPartID,
  93. certificationRequest NOCOPYANY
  94. }
  95. TaggedContentInfo ::= SEQUENCE {
  96. bodyPartID BodyPartID,
  97. contentInfo NOCOPYANY
  98. }
  99. TaggedOtherMsg ::= SEQUENCE {
  100. bodyPartID BodyPartID,
  101. otherMsgType ObjectID,
  102. otherMsgValue NOCOPYANY
  103. }
  104. CmcStatusInfo ::= SEQUENCE {
  105. cmcStatus INTEGER (0..4294967295),
  106. bodyList BodyPartIDSequence,
  107. statusString UTF8STRING OPTIONAL,
  108. otherInfo CHOICE {
  109. failInfo INTEGER (0..4294967295),
  110. pendInfo PendInfo
  111. } OPTIONAL
  112. } --#public--
  113. PendInfo ::= SEQUENCE {
  114. pendToken OCTETSTRING,
  115. pendTime GeneralizedTime
  116. }
  117. CmcAddExtensions ::= SEQUENCE {
  118. pkiDataReference BodyPartID,
  119. certReferences BodyPartIDSequence,
  120. extensions Extensions
  121. } --#public--
  122. CmcAddAttributes ::= SEQUENCE {
  123. pkiDataReference BodyPartID,
  124. certReferences BodyPartIDSequence,
  125. attributes Attributes
  126. } --#public--
  127. END