34f93966a5e7249870210f4db05ee81c306b2193
[samba.git] / source4 / heimdal / lib / asn1 / rfc4108.asn1
1 CMSFirmwareWrapper
2     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
3       pkcs-9(9) smime(16) modules(0) cms-firmware-wrap(22) }
4
5 DEFINITIONS IMPLICIT TAGS ::= BEGIN
6
7 IMPORTS
8     -- We moved HardwareModuleName to avoid circular dependencies if
9     -- we have to have rfc2459 import it from here so we can define an
10     -- object set of OTHER-NAME class.
11     EnvelopedData
12     FROM cms -- [CMS]
13          { iso(1) member-body(2) us(840) rsadsi(113549)
14            pkcs(1) pkcs-9(9) smime(16) modules(0) cms-2004(24) };
15
16
17 -- Firmware Package Content Type and Object Identifier
18
19 id-ct-firmwarePackage OBJECT IDENTIFIER ::= {
20   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
21   smime(16) ct(1) 16 }
22
23 FirmwarePkgData ::= OCTET STRING
24
25
26 -- Firmware Package Signed Attributes and Object Identifiers
27
28 id-aa-firmwarePackageID OBJECT IDENTIFIER ::= {
29   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
30   smime(16) aa(2) 35 }
31
32 PreferredPackageIdentifier ::= SEQUENCE {
33   fwPkgID OBJECT IDENTIFIER,
34   verNum INTEGER (0..MAX) }
35
36 PreferredOrLegacyPackageIdentifier ::= CHOICE {
37   preferred PreferredPackageIdentifier,
38   legacy OCTET STRING }
39
40 PreferredOrLegacyStalePackageIdentifier ::= CHOICE {
41   preferredStaleVerNum INTEGER (0..MAX),
42   legacyStaleVersion OCTET STRING }
43
44 FirmwarePackageIdentifier ::= SEQUENCE {
45   name PreferredOrLegacyPackageIdentifier,
46   stale PreferredOrLegacyStalePackageIdentifier OPTIONAL }
47
48
49 id-aa-targetHardwareIDs OBJECT IDENTIFIER ::= {
50   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
51   smime(16) aa(2) 36 }
52
53 TargetHardwareIdentifiers ::= SEQUENCE OF OBJECT IDENTIFIER
54
55
56 id-aa-decryptKeyID OBJECT IDENTIFIER ::= {
57   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
58   smime(16) aa(2) 37 }
59
60 DecryptKeyIdentifier ::= OCTET STRING
61
62
63 id-aa-implCryptoAlgs OBJECT IDENTIFIER ::= {
64   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
65   smime(16) aa(2) 38 }
66
67 ImplementedCryptoAlgorithms ::= SEQUENCE OF OBJECT IDENTIFIER
68
69 id-aa-implCompressAlgs OBJECT IDENTIFIER ::= {
70   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
71   smime(16) aa(2) 43 }
72
73 ImplementedCompressAlgorithms ::= SEQUENCE OF OBJECT IDENTIFIER
74
75
76 id-aa-communityIdentifiers OBJECT IDENTIFIER ::= {
77   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
78   smime(16) aa(2) 40 }
79
80 HardwareSerialEntry ::= CHOICE {
81   all NULL,
82   single OCTET STRING,
83   block SEQUENCE {
84     low OCTET STRING,
85     high OCTET STRING } }
86
87 HardwareModules ::= SEQUENCE {
88   hwType OBJECT IDENTIFIER,
89   hwSerialEntries SEQUENCE OF HardwareSerialEntry }
90
91 CommunityIdentifier ::= CHOICE {
92   communityOID OBJECT IDENTIFIER,
93   hwModuleList HardwareModules }
94
95 CommunityIdentifiers ::= SEQUENCE OF CommunityIdentifier
96
97 id-aa-firmwarePackageInfo OBJECT IDENTIFIER ::= {
98   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
99   smime(16) aa(2) 42 }
100
101 FirmwarePackageInfo ::= SEQUENCE {
102   fwPkgType INTEGER OPTIONAL,
103   dependencies SEQUENCE OF
104     PreferredOrLegacyPackageIdentifier OPTIONAL }
105
106
107 -- Firmware Package Unsigned Attributes and Object Identifiers
108
109 id-aa-wrappedFirmwareKey OBJECT IDENTIFIER ::= {
110   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
111   smime(16) aa(2) 39 }
112
113 WrappedFirmwareKey ::= EnvelopedData
114
115
116 -- Firmware Package Load Receipt Content Type and Object Identifier
117
118 id-ct-firmwareLoadReceipt OBJECT IDENTIFIER ::= {
119   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
120   smime(16) ct(1) 17 }
121
122 FWReceiptVersion ::= INTEGER { rfc4108-v1(1) }
123
124 FirmwarePackageLoadReceipt ::= SEQUENCE {
125   version FWReceiptVersion DEFAULT 1, -- v1, but asn1_compile doesn't handle this
126   hwType OBJECT IDENTIFIER,
127   hwSerialNum OCTET STRING,
128   fwPkgName PreferredOrLegacyPackageIdentifier,
129   trustAnchorKeyID OCTET STRING OPTIONAL,
130   decryptKeyID [1] OCTET STRING OPTIONAL }
131
132 -- Firmware Package Load Error Report Content Type
133 -- and Object Identifier
134
135 id-ct-firmwareLoadError OBJECT IDENTIFIER ::= {
136   iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
137   smime(16) ct(1) 18 }
138
139 FWErrorVersion ::= FWReceiptVersion
140
141 FirmwarePackageLoadErrorCode ::= ENUMERATED {
142   decodeFailure                (1),
143   badContentInfo               (2),
144   badSignedData                (3),
145   badEncapContent              (4),
146   badCertificate               (5),
147   badSignerInfo                (6),
148   badSignedAttrs               (7),
149   badUnsignedAttrs             (8),
150   missingContent               (9),
151   noTrustAnchor               (10),
152   notAuthorized               (11),
153   badDigestAlgorithm          (12),
154   badSignatureAlgorithm       (13),
155   unsupportedKeySize          (14),
156   signatureFailure            (15),
157   contentTypeMismatch         (16),
158   badEncryptedData            (17),
159   unprotectedAttrsPresent     (18),
160   badEncryptContent           (19),
161   badEncryptAlgorithm         (20),
162   missingCiphertext           (21),
163   noDecryptKey                (22),
164   decryptFailure              (23),
165   badCompressAlgorithm        (24),
166   missingCompressedContent    (25),
167   decompressFailure           (26),
168   wrongHardware               (27),
169   stalePackage                (28),
170   notInCommunity              (29),
171   unsupportedPackageType      (30),
172   missingDependency           (31),
173   wrongDependencyVersion      (32),
174   insufficientMemory          (33),
175   badFirmware                 (34),
176   unsupportedParameters       (35),
177   breaksDependency            (36),
178   otherError                  (99) }
179
180 VendorLoadErrorCode ::= INTEGER
181
182 CurrentFWConfig ::= SEQUENCE {
183   fwPkgType INTEGER OPTIONAL,
184   fwPkgName PreferredOrLegacyPackageIdentifier }
185
186 FirmwarePackageLoadError ::= SEQUENCE {
187   version FWErrorVersion DEFAULT 1, -- v1, but see above
188   hwType OBJECT IDENTIFIER,
189   hwSerialNum OCTET STRING,
190   errorCode FirmwarePackageLoadErrorCode,
191   vendorErrorCode VendorLoadErrorCode OPTIONAL,
192   fwPkgName PreferredOrLegacyPackageIdentifier OPTIONAL,
193   config [1] SEQUENCE OF CurrentFWConfig OPTIONAL }
194
195 -- Other Name syntax for Hardware Module Name
196
197 id-on-hardwareModuleName OBJECT IDENTIFIER ::= {
198   iso(1) identified-organization(3) dod(6) internet(1) security(5)
199   mechanisms(5) pkix(7) on(8) 4 }
200
201 -- Moved to rfc2459.asn1 so we can have the OtherName type decode it
202 -- automatically:
203 --HardwareModuleName ::= SEQUENCE {
204 --  hwType OBJECT IDENTIFIER,
205 --  hwSerialNum OCTET STRING }
206
207 END