source: trunk/server/source4/heimdal/lib/asn1/cms.asn1

Last change on this file was 745, checked in by Silvan Scherrer, 13 years ago

Samba Server: updated trunk to 3.6.0

File size: 4.3 KB
Line 
1-- From RFC 3369 --
2-- $Id$ --
3
4CMS DEFINITIONS ::= BEGIN
5
6IMPORTS CertificateSerialNumber, AlgorithmIdentifier, Name,
7 Attribute, Certificate, SubjectKeyIdentifier FROM rfc2459
8 heim_any, heim_any_set FROM heim;
9
10id-pkcs7 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
11 us(840) rsadsi(113549) pkcs(1) pkcs7(7) }
12
13id-pkcs7-data OBJECT IDENTIFIER ::= { id-pkcs7 1 }
14id-pkcs7-signedData OBJECT IDENTIFIER ::= { id-pkcs7 2 }
15id-pkcs7-envelopedData OBJECT IDENTIFIER ::= { id-pkcs7 3 }
16id-pkcs7-signedAndEnvelopedData OBJECT IDENTIFIER ::= { id-pkcs7 4 }
17id-pkcs7-digestedData OBJECT IDENTIFIER ::= { id-pkcs7 5 }
18id-pkcs7-encryptedData OBJECT IDENTIFIER ::= { id-pkcs7 6 }
19
20CMSVersion ::= INTEGER {
21 CMSVersion_v0(0),
22 CMSVersion_v1(1),
23 CMSVersion_v2(2),
24 CMSVersion_v3(3),
25 CMSVersion_v4(4)
26}
27
28DigestAlgorithmIdentifier ::= AlgorithmIdentifier
29DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
30SignatureAlgorithmIdentifier ::= AlgorithmIdentifier
31
32ContentType ::= OBJECT IDENTIFIER
33MessageDigest ::= OCTET STRING
34
35ContentInfo ::= SEQUENCE {
36 contentType ContentType,
37 content [0] EXPLICIT heim_any OPTIONAL -- DEFINED BY contentType
38}
39
40EncapsulatedContentInfo ::= SEQUENCE {
41 eContentType ContentType,
42 eContent [0] EXPLICIT OCTET STRING OPTIONAL
43}
44
45CertificateSet ::= SET OF heim_any
46
47CertificateList ::= Certificate
48
49CertificateRevocationLists ::= SET OF CertificateList
50
51IssuerAndSerialNumber ::= SEQUENCE {
52 issuer Name,
53 serialNumber CertificateSerialNumber
54}
55
56-- RecipientIdentifier is same as SignerIdentifier,
57-- lets glue them togheter and save some bytes and share code for them
58
59CMSIdentifier ::= CHOICE {
60 issuerAndSerialNumber IssuerAndSerialNumber,
61 subjectKeyIdentifier [0] SubjectKeyIdentifier
62}
63
64SignerIdentifier ::= CMSIdentifier
65RecipientIdentifier ::= CMSIdentifier
66
67--- CMSAttributes are the combined UnsignedAttributes and SignedAttributes
68--- to store space and share code
69
70CMSAttributes ::= SET OF Attribute -- SIZE (1..MAX)
71
72SignatureValue ::= OCTET STRING
73
74SignerInfo ::= SEQUENCE {
75 version CMSVersion,
76 sid SignerIdentifier,
77 digestAlgorithm DigestAlgorithmIdentifier,
78 signedAttrs [0] IMPLICIT -- CMSAttributes --
79 SET OF Attribute OPTIONAL,
80 signatureAlgorithm SignatureAlgorithmIdentifier,
81 signature SignatureValue,
82 unsignedAttrs [1] IMPLICIT -- CMSAttributes --
83 SET OF Attribute OPTIONAL
84}
85
86SignerInfos ::= SET OF SignerInfo
87
88SignedData ::= SEQUENCE {
89 version CMSVersion,
90 digestAlgorithms DigestAlgorithmIdentifiers,
91 encapContentInfo EncapsulatedContentInfo,
92 certificates [0] IMPLICIT -- CertificateSet --
93 SET OF heim_any OPTIONAL,
94 crls [1] IMPLICIT -- CertificateRevocationLists --
95 heim_any OPTIONAL,
96 signerInfos SignerInfos
97}
98
99OriginatorInfo ::= SEQUENCE {
100 certs [0] IMPLICIT -- CertificateSet --
101 SET OF heim_any OPTIONAL,
102 crls [1] IMPLICIT --CertificateRevocationLists --
103 heim_any OPTIONAL
104}
105
106KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
107ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
108
109EncryptedKey ::= OCTET STRING
110
111KeyTransRecipientInfo ::= SEQUENCE {
112 version CMSVersion, -- always set to 0 or 2
113 rid RecipientIdentifier,
114 keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
115 encryptedKey EncryptedKey
116}
117
118RecipientInfo ::= KeyTransRecipientInfo
119
120RecipientInfos ::= SET OF RecipientInfo
121
122EncryptedContent ::= OCTET STRING
123
124EncryptedContentInfo ::= SEQUENCE {
125 contentType ContentType,
126 contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
127 encryptedContent [0] IMPLICIT OCTET STRING OPTIONAL
128}
129
130UnprotectedAttributes ::= SET OF Attribute -- SIZE (1..MAX)
131
132CMSEncryptedData ::= SEQUENCE {
133 version CMSVersion,
134 encryptedContentInfo EncryptedContentInfo,
135 unprotectedAttrs [1] IMPLICIT -- UnprotectedAttributes --
136 heim_any OPTIONAL
137}
138
139EnvelopedData ::= SEQUENCE {
140 version CMSVersion,
141 originatorInfo [0] IMPLICIT -- OriginatorInfo -- heim_any OPTIONAL,
142 recipientInfos RecipientInfos,
143 encryptedContentInfo EncryptedContentInfo,
144 unprotectedAttrs [1] IMPLICIT -- UnprotectedAttributes --
145 heim_any OPTIONAL
146}
147
148-- Data ::= OCTET STRING
149
150CMSRC2CBCParameter ::= SEQUENCE {
151 rc2ParameterVersion INTEGER (0..4294967295),
152 iv OCTET STRING -- exactly 8 octets
153}
154
155CMSCBCParameter ::= OCTET STRING
156
157END
Note: See TracBrowser for help on using the repository browser.