xref: /minix3/crypto/external/bsd/heimdal/dist/lib/asn1/cms.asn1 (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc-- From RFC 3369 --
2*ebfedea0SLionel Sambuc-- Id --
3*ebfedea0SLionel Sambuc
4*ebfedea0SLionel SambucCMS DEFINITIONS ::= BEGIN
5*ebfedea0SLionel Sambuc
6*ebfedea0SLionel SambucIMPORTS CertificateSerialNumber, AlgorithmIdentifier, Name,
7*ebfedea0SLionel Sambuc	Attribute, Certificate, SubjectKeyIdentifier FROM rfc2459
8*ebfedea0SLionel Sambuc	heim_any, heim_any_set FROM heim;
9*ebfedea0SLionel Sambuc
10*ebfedea0SLionel Sambucid-pkcs7 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
11*ebfedea0SLionel Sambuc         us(840) rsadsi(113549) pkcs(1) pkcs7(7) }
12*ebfedea0SLionel Sambuc
13*ebfedea0SLionel Sambucid-pkcs7-data OBJECT IDENTIFIER ::= 			{ id-pkcs7 1 }
14*ebfedea0SLionel Sambucid-pkcs7-signedData OBJECT IDENTIFIER ::= 		{ id-pkcs7 2 }
15*ebfedea0SLionel Sambucid-pkcs7-envelopedData OBJECT IDENTIFIER ::= 		{ id-pkcs7 3 }
16*ebfedea0SLionel Sambucid-pkcs7-signedAndEnvelopedData OBJECT IDENTIFIER ::= 	{ id-pkcs7 4 }
17*ebfedea0SLionel Sambucid-pkcs7-digestedData OBJECT IDENTIFIER ::= 		{ id-pkcs7 5 }
18*ebfedea0SLionel Sambucid-pkcs7-encryptedData OBJECT IDENTIFIER ::= 		{ id-pkcs7 6 }
19*ebfedea0SLionel Sambuc
20*ebfedea0SLionel SambucCMSVersion ::= INTEGER {
21*ebfedea0SLionel Sambuc	   CMSVersion_v0(0),
22*ebfedea0SLionel Sambuc	   CMSVersion_v1(1),
23*ebfedea0SLionel Sambuc	   CMSVersion_v2(2),
24*ebfedea0SLionel Sambuc	   CMSVersion_v3(3),
25*ebfedea0SLionel Sambuc	   CMSVersion_v4(4)
26*ebfedea0SLionel Sambuc}
27*ebfedea0SLionel Sambuc
28*ebfedea0SLionel SambucDigestAlgorithmIdentifier ::= AlgorithmIdentifier
29*ebfedea0SLionel SambucDigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
30*ebfedea0SLionel SambucSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
31*ebfedea0SLionel Sambuc
32*ebfedea0SLionel SambucContentType ::= OBJECT IDENTIFIER
33*ebfedea0SLionel SambucMessageDigest ::= OCTET STRING
34*ebfedea0SLionel Sambuc
35*ebfedea0SLionel SambucContentInfo ::= SEQUENCE {
36*ebfedea0SLionel Sambuc	contentType ContentType,
37*ebfedea0SLionel Sambuc	content [0] EXPLICIT heim_any OPTIONAL --  DEFINED BY contentType
38*ebfedea0SLionel Sambuc}
39*ebfedea0SLionel Sambuc
40*ebfedea0SLionel SambucEncapsulatedContentInfo ::= SEQUENCE {
41*ebfedea0SLionel Sambuc	eContentType ContentType,
42*ebfedea0SLionel Sambuc	eContent [0] EXPLICIT OCTET STRING OPTIONAL
43*ebfedea0SLionel Sambuc}
44*ebfedea0SLionel Sambuc
45*ebfedea0SLionel SambucCertificateSet ::= SET OF heim_any
46*ebfedea0SLionel Sambuc
47*ebfedea0SLionel SambucCertificateList ::= Certificate
48*ebfedea0SLionel Sambuc
49*ebfedea0SLionel SambucCertificateRevocationLists ::= SET OF CertificateList
50*ebfedea0SLionel Sambuc
51*ebfedea0SLionel SambucIssuerAndSerialNumber ::= SEQUENCE {
52*ebfedea0SLionel Sambuc	issuer Name,
53*ebfedea0SLionel Sambuc	serialNumber CertificateSerialNumber
54*ebfedea0SLionel Sambuc}
55*ebfedea0SLionel Sambuc
56*ebfedea0SLionel Sambuc-- RecipientIdentifier is same as SignerIdentifier,
57*ebfedea0SLionel Sambuc-- lets glue them togheter and save some bytes and share code for them
58*ebfedea0SLionel Sambuc
59*ebfedea0SLionel SambucCMSIdentifier ::= CHOICE {
60*ebfedea0SLionel Sambuc	issuerAndSerialNumber IssuerAndSerialNumber,
61*ebfedea0SLionel Sambuc	subjectKeyIdentifier [0] SubjectKeyIdentifier
62*ebfedea0SLionel Sambuc}
63*ebfedea0SLionel Sambuc
64*ebfedea0SLionel SambucSignerIdentifier ::= CMSIdentifier
65*ebfedea0SLionel SambucRecipientIdentifier ::= CMSIdentifier
66*ebfedea0SLionel Sambuc
67*ebfedea0SLionel Sambuc--- CMSAttributes are the combined UnsignedAttributes and SignedAttributes
68*ebfedea0SLionel Sambuc--- to store space and share code
69*ebfedea0SLionel Sambuc
70*ebfedea0SLionel SambucCMSAttributes ::= SET OF Attribute		-- SIZE (1..MAX)
71*ebfedea0SLionel Sambuc
72*ebfedea0SLionel SambucSignatureValue ::= OCTET STRING
73*ebfedea0SLionel Sambuc
74*ebfedea0SLionel SambucSignerInfo ::= SEQUENCE {
75*ebfedea0SLionel Sambuc	version CMSVersion,
76*ebfedea0SLionel Sambuc	sid SignerIdentifier,
77*ebfedea0SLionel Sambuc	digestAlgorithm DigestAlgorithmIdentifier,
78*ebfedea0SLionel Sambuc	signedAttrs [0] IMPLICIT -- CMSAttributes --
79*ebfedea0SLionel Sambuc		SET OF Attribute OPTIONAL,
80*ebfedea0SLionel Sambuc	signatureAlgorithm SignatureAlgorithmIdentifier,
81*ebfedea0SLionel Sambuc	signature SignatureValue,
82*ebfedea0SLionel Sambuc	unsignedAttrs [1] IMPLICIT -- CMSAttributes --
83*ebfedea0SLionel Sambuc		SET OF Attribute OPTIONAL
84*ebfedea0SLionel Sambuc}
85*ebfedea0SLionel Sambuc
86*ebfedea0SLionel SambucSignerInfos ::= SET OF SignerInfo
87*ebfedea0SLionel Sambuc
88*ebfedea0SLionel SambucSignedData ::= SEQUENCE {
89*ebfedea0SLionel Sambuc	version CMSVersion,
90*ebfedea0SLionel Sambuc	digestAlgorithms DigestAlgorithmIdentifiers,
91*ebfedea0SLionel Sambuc	encapContentInfo EncapsulatedContentInfo,
92*ebfedea0SLionel Sambuc	certificates [0] IMPLICIT -- CertificateSet --
93*ebfedea0SLionel Sambuc		SET OF heim_any OPTIONAL,
94*ebfedea0SLionel Sambuc	crls [1] IMPLICIT -- CertificateRevocationLists --
95*ebfedea0SLionel Sambuc		heim_any OPTIONAL,
96*ebfedea0SLionel Sambuc	signerInfos SignerInfos
97*ebfedea0SLionel Sambuc}
98*ebfedea0SLionel Sambuc
99*ebfedea0SLionel SambucOriginatorInfo ::= SEQUENCE {
100*ebfedea0SLionel Sambuc	certs [0] IMPLICIT -- CertificateSet --
101*ebfedea0SLionel Sambuc		SET OF heim_any OPTIONAL,
102*ebfedea0SLionel Sambuc	crls [1] IMPLICIT --CertificateRevocationLists --
103*ebfedea0SLionel Sambuc		heim_any OPTIONAL
104*ebfedea0SLionel Sambuc}
105*ebfedea0SLionel Sambuc
106*ebfedea0SLionel SambucKeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
107*ebfedea0SLionel SambucContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
108*ebfedea0SLionel Sambuc
109*ebfedea0SLionel SambucEncryptedKey ::= OCTET STRING
110*ebfedea0SLionel Sambuc
111*ebfedea0SLionel SambucKeyTransRecipientInfo ::= SEQUENCE {
112*ebfedea0SLionel Sambuc	version CMSVersion,  -- always set to 0 or 2
113*ebfedea0SLionel Sambuc	rid RecipientIdentifier,
114*ebfedea0SLionel Sambuc	keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
115*ebfedea0SLionel Sambuc	encryptedKey EncryptedKey
116*ebfedea0SLionel Sambuc}
117*ebfedea0SLionel Sambuc
118*ebfedea0SLionel SambucRecipientInfo ::= KeyTransRecipientInfo
119*ebfedea0SLionel Sambuc
120*ebfedea0SLionel SambucRecipientInfos ::= SET OF RecipientInfo
121*ebfedea0SLionel Sambuc
122*ebfedea0SLionel SambucEncryptedContent ::= OCTET STRING
123*ebfedea0SLionel Sambuc
124*ebfedea0SLionel SambucEncryptedContentInfo ::= SEQUENCE {
125*ebfedea0SLionel Sambuc	contentType ContentType,
126*ebfedea0SLionel Sambuc	contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
127*ebfedea0SLionel Sambuc	encryptedContent [0] IMPLICIT OCTET STRING OPTIONAL
128*ebfedea0SLionel Sambuc}
129*ebfedea0SLionel Sambuc
130*ebfedea0SLionel SambucUnprotectedAttributes ::= SET OF Attribute	-- SIZE (1..MAX)
131*ebfedea0SLionel Sambuc
132*ebfedea0SLionel SambucCMSEncryptedData ::= SEQUENCE {
133*ebfedea0SLionel Sambuc	version CMSVersion,
134*ebfedea0SLionel Sambuc	encryptedContentInfo EncryptedContentInfo,
135*ebfedea0SLionel Sambuc        unprotectedAttrs [1] IMPLICIT -- UnprotectedAttributes --
136*ebfedea0SLionel Sambuc		heim_any OPTIONAL
137*ebfedea0SLionel Sambuc}
138*ebfedea0SLionel Sambuc
139*ebfedea0SLionel SambucEnvelopedData ::= SEQUENCE {
140*ebfedea0SLionel Sambuc	version CMSVersion,
141*ebfedea0SLionel Sambuc	originatorInfo [0] IMPLICIT -- OriginatorInfo -- heim_any OPTIONAL,
142*ebfedea0SLionel Sambuc	recipientInfos RecipientInfos,
143*ebfedea0SLionel Sambuc	encryptedContentInfo EncryptedContentInfo,
144*ebfedea0SLionel Sambuc	unprotectedAttrs [1] IMPLICIT -- UnprotectedAttributes --
145*ebfedea0SLionel Sambuc		heim_any OPTIONAL
146*ebfedea0SLionel Sambuc}
147*ebfedea0SLionel Sambuc
148*ebfedea0SLionel Sambuc-- Data ::= OCTET STRING
149*ebfedea0SLionel Sambuc
150*ebfedea0SLionel SambucCMSRC2CBCParameter ::= SEQUENCE {
151*ebfedea0SLionel Sambuc	rc2ParameterVersion	INTEGER (0..4294967295),
152*ebfedea0SLionel Sambuc	iv			OCTET STRING -- exactly 8 octets
153*ebfedea0SLionel Sambuc}
154*ebfedea0SLionel Sambuc
155*ebfedea0SLionel SambucCMSCBCParameter ::= OCTET STRING
156*ebfedea0SLionel Sambuc
157*ebfedea0SLionel SambucEND
158