Renamed x411 to p1, x420 to p22 and s4406 to p772 to be consistent
[obnox/wireshark/wip.git] / asn1 / p22 / IPMSHeadingExtensions.asn
1 -- $Id$
2 -- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
3 -- Module IPMSHeadingExtensions (X.420:06/1999)
4 IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
5   heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
6 BEGIN
7
8 -- Prologue
9 -- Exports everything.
10 IMPORTS
11   -- IPMS Information Objects
12   IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart, 
13   BodyPartNumber
14     --==
15     FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
16       information-objects(2) version-1999(1)}
17   -- MTS Abstract Service
18   ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
19     --==
20     FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
21       mts-abstract-service(1) version-1999(1)}
22   -- Directory Authentication Framework
23   AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
24     --==
25     FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
26       authenticationFramework(7) 3}
27   -- Directory Certificate Extensions
28   CertificateAssertion
29     --==
30     FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
31       certificateExtensions(26) 0}
32   -- IPMS upper bounds
33   ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
34     ub-extended-subject-length, ub-information-categories,
35     ub-information-category-length, ub-manual-handling-instruction-length,
36     ub-manual-handling-instructions, ub-originators-reference-length,
37     ub-precedence
38     --==
39     FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
40       upper-bounds(10) version-1999(1)}
41   -- IPMS Object Identifiers
42   id-hex-authorization-time, id-hex-auto-submitted,
43     id-hex-body-part-signatures, id-hex-circulation-list-recipients,
44     id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
45     id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
46     id-hex-manual-handling-instructions, id-hex-originators-reference,
47     id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
48     id-rex-precedence
49     --==
50     FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
51       object-identifiers(0) version-1999(1)};
52
53 -- Incomplete Copy
54 incomplete-copy IPMS-EXTENSION ::= {
55   VALUE          IncompleteCopy,
56   IDENTIFIED BY  id-hex-incomplete-copy
57 }
58
59 IncompleteCopy ::= NULL
60
61 -- Languages
62 languages IPMS-EXTENSION ::= {
63   VALUE          --SET OF Language-- Languages,
64   IDENTIFIED BY  id-hex-languages
65 }
66
67 --WS: Support dissection of extension
68 Languages ::= SET OF Language
69
70 Language ::= PrintableString(SIZE (2 | 5))
71
72 -- Auto-submitted
73 auto-submitted IPMS-EXTENSION ::= {
74   VALUE          AutoSubmitted,
75   IDENTIFIED BY  id-hex-auto-submitted
76 }
77
78 AutoSubmitted ::= ENUMERATED {
79   not-auto-submitted(0), auto-generated(1), auto-replied(2)}
80
81 body-part-signatures IPMS-EXTENSION ::= {
82   VALUE          BodyPartSignatures,
83   IDENTIFIED BY  id-hex-body-part-signatures
84 }
85
86 BodyPartSignatures ::=
87   SET OF
88     SET {body-part-number                 BodyPartNumber,
89          body-part-signature              BodyPartSignature,
90          originator-certificate-selector  [1]  CertificateAssertion OPTIONAL,
91          originator-certificates          [0]  ExtendedCertificates OPTIONAL,
92          ...}
93
94 --BodyPartNumber ::= INTEGER(1..MAX)
95
96 -- WS: Import Signature definition
97 Signature ::= SEQUENCE {
98   algorithmIdentifier   AlgorithmIdentifier,
99   encrypted             BIT STRING
100 }
101
102 BodyPartSignature ::= Signature
103 --  SIGNATURE
104 --    {SEQUENCE {signature-algorithm-identifier  AlgorithmIdentifier,
105 --               body-part                       BodyPart,
106 --               body-part-security-label        SecurityLabel OPTIONAL
107 --    }}
108
109 ipm-security-label IPMS-EXTENSION ::= {
110   VALUE          IPMSecurityLabel,
111   IDENTIFIED BY  id-hex-ipm-security-label
112 }
113
114 IPMSecurityLabel ::= SEQUENCE {
115   content-security-label     [0]  SecurityLabel,
116   heading-security-label     [1]  SecurityLabel OPTIONAL,
117   body-part-security-labels  [2]  SEQUENCE OF BodyPartSecurityLabel OPTIONAL
118 }
119
120 BodyPartSecurityLabel ::= CHOICE {
121   body-part-unlabelled      [0]  NULL,
122   body-part-security-label  [1]  SecurityLabel
123 }
124
125 -- Authorization Time
126 authorization-time IPMS-EXTENSION ::= {
127   VALUE          AuthorizationTime,
128   IDENTIFIED BY  id-hex-authorization-time
129 }
130
131 AuthorizationTime ::= GeneralizedTime
132
133 -- Circulation List
134 circulation-list-recipients IPMS-EXTENSION ::= {
135   VALUE          CirculationList,
136   IDENTIFIED BY  id-hex-circulation-list-recipients
137 }
138
139 CirculationList ::=
140   SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
141
142 CirculationMember ::= SET {
143   circulation-recipient
144     RecipientSpecifier
145       (WITH COMPONENTS {
146          ...,
147          recipient  (WITH COMPONENTS {
148                        ...,
149                        formal-name  PRESENT
150                      })
151        }),
152   checked                Checkmark OPTIONAL
153 }
154
155 Checkmark ::= CHOICE {
156   simple       NULL,
157   timestamped  CirculationTime,
158   signed       CirculationSignature
159 }
160
161 CirculationTime ::= GeneralizedTime
162
163 --WS: expand SIGNED MACRO manually
164 CirculationSignatureData ::=
165 --  SIGNED
166 --    {-- SEQUENCE {algorithm-identifier  CirculationSignatureAlgorithmIdentifier,
167                this-IPM              ThisIPMField,
168                timestamp             CirculationTime}--}
169
170 CirculationSignature ::= SEQUENCE {
171   circulation-signature-data    CirculationSignatureData,
172   algorithm-identifier          AlgorithmIdentifier,
173   encrypted                     BIT STRING
174 }
175
176 CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
177
178 -- Circulation List Indicator
179 circulation-list-indicator IPMS-EXTENSION ::= {
180   VALUE          NULL,
181   IDENTIFIED BY  id-rex-circulation-list-indicator
182 }
183
184 --WS: Allow dissection.
185 CirculationListIndicator ::= NULL
186
187 -- Distribution Codes
188 distribution-codes IPMS-EXTENSION ::= {
189   VALUE          DistributionCodes,
190   IDENTIFIED BY  id-hex-distribution-codes
191 }
192
193 DistributionCodes ::=
194   SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode
195
196 DistributionCode ::= SEQUENCE {
197   oid-code           OBJECT IDENTIFIER OPTIONAL,
198   alphanumeric-code  AlphaCode OPTIONAL,
199   or-descriptor      [0]  ORDescriptor OPTIONAL
200 }
201
202 AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length}
203
204 -- Extended Subject
205 extended-subject IPMS-EXTENSION ::= {
206   VALUE          ExtendedSubject,
207   IDENTIFIED BY  id-hex-extended-subject
208 }
209
210 ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length}
211
212 -- Information category
213 information-category IPMS-EXTENSION ::= {
214   VALUE          InformationCategories,
215   IDENTIFIED BY  id-hex-information-category
216 }
217
218 InformationCategories ::=
219   SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory
220
221 InformationCategory ::= SEQUENCE {
222   reference    [0]  OBJECT IDENTIFIER OPTIONAL,
223   description  [1]  DescriptionString OPTIONAL
224 }
225
226 DescriptionString ::= UniversalOrBMPString{ub-information-category-length}
227
228 -- Manual handling Instructions
229 manual-handling-instructions IPMS-EXTENSION ::= {
230   VALUE          ManualHandlingInstructions,
231   IDENTIFIED BY  id-hex-manual-handling-instructions
232 }
233
234 ManualHandlingInstructions ::=
235   SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF
236     ManualHandlingInstruction
237
238 ManualHandlingInstruction ::=
239   UniversalOrBMPString{ub-manual-handling-instruction-length}
240
241 -- Originator's Reference
242 originators-reference IPMS-EXTENSION ::= {
243   VALUE          OriginatorsReference,
244   IDENTIFIED BY  id-hex-originators-reference
245 }
246
247 OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length}
248
249 -- Precedence Policy Identifier
250 precedence-policy-identifier IPMS-EXTENSION ::= {
251   VALUE          PrecedencePolicyIdentifier,
252   IDENTIFIED BY  id-hex-precedence-policy-id
253 }
254
255 PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
256
257 -- Precedence
258 precedence IPMS-EXTENSION ::= {
259   VALUE          Precedence,
260   IDENTIFIED BY  id-rex-precedence
261 }
262
263 Precedence ::= INTEGER(0..ub-precedence)
264
265 END -- of IPMSHeadingExtensions
266
267 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
268