~statik/ubuntu/maverick/erlang/erlang-merge-testing

« back to all changes in this revision

Viewing changes to lib/asn1/test/asn1_SUITE_data/x420/PKCS7.asn

  • Committer: Elliot Murphy
  • Date: 2010-06-08 03:55:44 UTC
  • mfrom: (3.5.6 squeeze)
  • Revision ID: elliot@elliotmurphy.com-20100608035544-dd8zh2swk7jr5rz2
* Merge with Debian unstable; remaining Ubuntu changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to. (LP #438365)
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
* Added missing symlinks to /usr/include for a few new header files.
* Fixed generation of ${erlang-base:Depends} and ${erlang-x11:Depends}
  substitution variables.
* Added a fix for a re:compile/2 crash on a long regular expression.
* Changed urgency to medium as the change fixes a security bug.
* Manpages in section 1 are needed even if only arch-dependent packages are
  built. So, re-enabled them.
* Fixed HiPE architecture recognition for powerpc Debian architecture.
* Moved xsltproc and fop to build-depends-indep and do not build
  documentation if only architecture-specific packages are built.
* Refreshed all patches.
* Made Emacs look in man5 and man7 for Erlang manpages and added code
  skeleton files to erlang-mode package.
* New upstream release.
* Moved manpages from incorrect sections 4 and 6 to correct 5 and 7
  (closes: #498492).
* Made manpages regexp in Emacs mode match only 3erl pages in section 3.
* Removed docb_gen script which is no longer needed to build manpages.
* Added erlang-doc package which contains documentation in HTML and PDF
  formats. This package replaces erlang-doc-html package and it's easier
  to synchronize it with the main Erlang packages as it's built from
  a single source package (closes: #558451).
* Removed RPATH from ssl and crypto application binaries as required by
  Debian policy.
* Added libwxgtk2.4-dev and libwxgtk2.6-dev to build conflicts.
* Added a few dpendencies for erlang-dialyzer, erlang-et, erlang-observer
  and erlang-examples packages which now call functions from more modules
  than in 1:13.b.3.
* Added a workaround which disables vfork() for hppa architecture
  (closes: #562218).
* Strictened check for JDK 1.5 adding a call to String(int[], int, int)
  because GCJ 4.4 doesn't implement it and OpenJDK isn't available for all
  architectures.
* Fixed erlang-manpages package section.
* Made erlang-depends add only substvars which are requested in
  debian/control file. This minimizes number of warnings from dh_gencontrol.
  Also, improved descriptions of the functions in erlang-depends escript.
* Added erlang-erl-docgen package to erlang-nox dependencies.
* Made dummy packages erlang-nox and erlang-x11 architecture all.
* Cleaned up working with custom substitution variables in debian/rules.
* Reorganized debian/rules to ensure that manpages arent built twice, and
  aren't built at all if only architecture-dependent packages are requested.
* Fixed project links in README.Debian.
* Added a new package erlang-jinterface which provides tools for
  communication of Java programs with Erlang processes. This adds build
  depandency on default-jdk and as a result enables Java module for IDL
  compiler.
* Bumped standards version to 3.8.4.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-- Module PKCS7 (X.420:06/1999)
 
2
-- The ASN.1 in version 1.5 of the PKCS#7 document is not defined in an ASN.1 module. This prevents an IMPORT of it into other ASN.1 modules.
 
3
-- This Annex contains a module of PKCS#7 ASN.1 definitions conforming to current ASN.1 standards rather than the obsolescent (and now deprecated) 1988/90 version of ASN.1 used in version 1.5 of PKCS#7.
 
4
-- Extensions to PKCS#7 defined in RFC 2630 are included.
 
5
-- If differences are found between the ASN.1 in the following module and that in PKCS#7, the latter is definitive.
 
6
PKCS7 {iso member-body usa(840) rsadsi(113549) pkcs(1) 7
 
7
  module(0) -- module not currently defined in PKCS#7 --} DEFINITIONS IMPLICIT
 
8
TAGS ::=
 
9
BEGIN
 
10
 
 
11
IMPORTS
 
12
  -- Directory Information Framework
 
13
  Attribute, Name
 
14
    --==
 
15
    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
 
16
      informationFramework(1) 3}
 
17
  -- Directory Authentication Framework
 
18
  AlgorithmIdentifier, AttributeCertificate, Certificate, CertificateList,
 
19
    CertificateSerialNumber, HASH{}, SIGNED{}
 
20
    --==
 
21
    FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
 
22
      authenticationFramework(7) 3};
 
23
 
 
24
-- In PKCS#7 the HASHED parameterised type applies the hash function to the 
 
25
-- contents octets component of a DER encoding of a value of the parameter.
 
26
-- The ENCRYPTED parameterised type is redefined here because PKCS#7 encrypted values are 
 
27
-- defined as OCTET STRING, instead of BIT STRING as in the Directory Authentication Framework
 
28
ENCRYPTED{ToBeEnciphered} ::=
 
29
  OCTET STRING
 
30
    (CONSTRAINED BY {
 
31
       -- must be the result of applying an encipherment procedure to the contents octets component 
 
32
       -- of a definite-length BER-encoding of a value of --ToBeEnciphered})
 
33
 
 
34
ContentInfo ::= SEQUENCE {
 
35
  content-type   PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
 
36
  pkcs7-content  [0]  PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})
 
37
}
 
38
 
 
39
PKCS7-CONTENT-TYPE ::= TYPE-IDENTIFIER
 
40
 
 
41
PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
 
42
  {data | signed-data | enveloped-data | signed-and-enveloped-data |
 
43
   digested-data | encrypted-data | authenticated-data, ...}
 
44
 
 
45
-- Data
 
46
data PKCS7-CONTENT-TYPE ::= {Data
 
47
                             IDENTIFIED BY  id-data
 
48
}
 
49
 
 
50
Data ::= OCTET STRING
 
51
 
 
52
-- Signed Data
 
53
signed-data PKCS7-CONTENT-TYPE ::= {SignedData
 
54
                                    IDENTIFIED BY  id-signed-data
 
55
}
 
56
 
 
57
SignedData ::= SEQUENCE {
 
58
  version           Version,
 
59
  digestAlgorithms  DigestAlgorithmIdentifiers,
 
60
  contentInfo       ContentInfo,
 
61
  certificates      [0]  CertificateSet OPTIONAL,
 
62
  crls              [1]  CertificateRevocationLists OPTIONAL,
 
63
  signerInfos       SignerInfos
 
64
}
 
65
 
 
66
Version ::= INTEGER
 
67
 
 
68
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
 
69
 
 
70
DigestAlgorithmIdentifier ::= AlgorithmIdentifier
 
71
 
 
72
CertificateSet ::= SET OF CertificateChoice
 
73
 
 
74
CertificateChoice ::= CHOICE {
 
75
  certificate           Certificate,
 
76
  extendedCertificate   [0]  ExtendedCertificate, -- Obsolete
 
77
  attributeCertificate  [1]  AttributeCertificate
 
78
}
 
79
 
 
80
CertificateRevocationLists ::= SET OF CertificateList
 
81
 
 
82
SignerInfos ::= SET OF SignerInfo
 
83
 
 
84
SignerInfo ::= SEQUENCE {
 
85
  version                    Version,
 
86
  signerIdentifier           SignerIdentifier,
 
87
  digestAlgorithm            DigestAlgorithmIdentifier,
 
88
  authenticatedAttributes    [0]  Attributes OPTIONAL,
 
89
  digestEncryptionAlgorithm  DigestEncryptionAlgorithmIdentifier,
 
90
  encryptedDigest            EncryptedDigest,
 
91
  unauthenticatedAttributes  [1]  Attributes OPTIONAL
 
92
}
 
93
 
 
94
SignerIdentifier ::= CHOICE {
 
95
  issuerAndSerialNumber  IssuerAndSerialNumber,
 
96
  subjectKeyIdentifier   [2]  SubjectKeyIdentifier
 
97
}
 
98
 
 
99
IssuerAndSerialNumber ::= SEQUENCE {
 
100
  issuer        Name,
 
101
  serialNumber  CertificateSerialNumber
 
102
}
 
103
 
 
104
SubjectKeyIdentifier ::= OCTET STRING
 
105
 
 
106
DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
 
107
 
 
108
EncryptedDigest ::= ENCRYPTED{DigestInfo}
 
109
 
 
110
DigestInfo ::= SEQUENCE {
 
111
  digestAlgorithm  DigestAlgorithmIdentifier,
 
112
  digest           Digest
 
113
}
 
114
 
 
115
Digest ::=
 
116
  HASH
 
117
    {CHOICE {content
 
118
               [1]  PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}),
 
119
             authenticated-attributes  [0] EXPLICIT Attributes}}
 
120
 
 
121
-- Enveloped Data
 
122
enveloped-data PKCS7-CONTENT-TYPE ::= {
 
123
  EnvelopedData
 
124
  IDENTIFIED BY  id-enveloped-data
 
125
}
 
126
 
 
127
EnvelopedData ::= SEQUENCE {
 
128
  version                Version,
 
129
  originatorInfo         [0]  OriginatorInfo OPTIONAL,
 
130
  recipientInfos         RecipientInfos,
 
131
  encryptedContentInfo   EncryptedContentInfo,
 
132
  unprotectedAttributes  [1]  Attributes OPTIONAL
 
133
}
 
134
 
 
135
OriginatorInfo ::= SEQUENCE {
 
136
  certificates  [0]  CertificateSet OPTIONAL,
 
137
  crls          [1]  CertificateRevocationLists OPTIONAL
 
138
}
 
139
 
 
140
RecipientInfos ::= SET SIZE (1..MAX) OF RecipientInfo
 
141
 
 
142
RecipientInfo ::= CHOICE {
 
143
  keyTransportRecipientInfo      KeyTransportRecipientInfo,
 
144
  keyAgreementRecipientInfo      [1]  KeyAgreementRecipientInfo,
 
145
  keyEncryptionKeyRecipientInfo  [2]  KeyEncryptionKeyRecipientInfo
 
146
}
 
147
 
 
148
KeyTransportRecipientInfo ::= SEQUENCE {
 
149
  version                 Version,
 
150
  recipientIdentifier     RecipientIdentifier,
 
151
  keyEncryptionAlgorithm  KeyEncryptionAlgorithmIdentifier,
 
152
  encryptedKey            EncryptedKey
 
153
}
 
154
 
 
155
RecipientIdentifier ::= CHOICE {
 
156
  issuerAndSerialNumber  IssuerAndSerialNumber,
 
157
  subjectKeyIdentifier   [0]  SubjectKeyIdentifier
 
158
}
 
159
 
 
160
KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
 
161
 
 
162
EncryptedKey ::= OCTET STRING
 
163
 
 
164
KeyAgreementRecipientInfo ::= SEQUENCE {
 
165
  version                 Version,
 
166
  originator              [0]  OriginatorIdentifierOrKey,
 
167
  userKeyingMaterial      [1] EXPLICIT OCTET STRING OPTIONAL,
 
168
  keyEncryptionAlgorithm  KeyEncryptionAlgorithmIdentifier,
 
169
  recipientEncryptedKeys  RecipientEncryptedKeys
 
170
}
 
171
 
 
172
OriginatorIdentifierOrKey ::= CHOICE {
 
173
  issuerAndSerialNumber  IssuerAndSerialNumber,
 
174
  subjectKeyIdentifier   [0]  SubjectKeyIdentifier,
 
175
  originatorPublicKey    [1]  OriginatorPublicKey
 
176
}
 
177
 
 
178
OriginatorPublicKey ::= SEQUENCE {
 
179
  algorithm  AlgorithmIdentifier,
 
180
  publicKey  BIT STRING
 
181
}
 
182
 
 
183
RecipientEncryptedKeys ::= SEQUENCE OF RecipientEncryptedKey
 
184
 
 
185
RecipientEncryptedKey ::= SEQUENCE {
 
186
  recipientIdentifier  KeyAgreementRecipientIdentifier,
 
187
  encryptedKey         EncryptedKey
 
188
}
 
189
 
 
190
KeyAgreementRecipientIdentifier ::= CHOICE {
 
191
  issuerAndSerialNumber   IssuerAndSerialNumber,
 
192
  recipientKeyIdentifier  [0]  RecipientKeyIdentifier
 
193
}
 
194
 
 
195
RecipientKeyIdentifier ::= SEQUENCE {
 
196
  subjectKeyIdentifier  SubjectKeyIdentifier,
 
197
  date                  GeneralizedTime OPTIONAL,
 
198
  otherKeyAttribute     OtherKeyAttribute OPTIONAL
 
199
}
 
200
 
 
201
OtherKeyAttribute ::= SEQUENCE {
 
202
  keyAttributeIdentifier  OTHER-KEY-ATTRIBUTE.&id({OtherKeyAttributeTable}),
 
203
  keyAttribute
 
204
    OTHER-KEY-ATTRIBUTE.&Type
 
205
      ({OtherKeyAttributeTable}{@keyAttributeIdentifier}) OPTIONAL
 
206
}
 
207
 
 
208
OTHER-KEY-ATTRIBUTE ::= TYPE-IDENTIFIER
 
209
 
 
210
OtherKeyAttributeTable OTHER-KEY-ATTRIBUTE ::=
 
211
  {...}
 
212
 
 
213
KeyEncryptionKeyRecipientInfo ::= SEQUENCE {
 
214
  version                     Version,
 
215
  keyEncryptionKeyIdentifier  KeyEncryptionKeyIdentifier,
 
216
  keyEncryptionAlgorithm      KeyEncryptionAlgorithmIdentifier,
 
217
  encryptedKey                EncryptedKey
 
218
}
 
219
 
 
220
KeyEncryptionKeyIdentifier ::= SEQUENCE {
 
221
  keyIdentifier      OCTET STRING,
 
222
  date               GeneralizedTime OPTIONAL,
 
223
  otherKeyAttribute  OtherKeyAttribute OPTIONAL
 
224
}
 
225
 
 
226
EncryptedContentInfo ::= SEQUENCE {
 
227
  contentType                 PKCS7-CONTENT-TYPE.&id({PKCS7ContentTable}),
 
228
  contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
 
229
  encryptedContent
 
230
    [0]  ENCRYPTED{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable}{@.contentType})}
 
231
      OPTIONAL
 
232
}
 
233
 
 
234
ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
 
235
 
 
236
-- Signed and Enveloped Data
 
237
signed-and-enveloped-data PKCS7-CONTENT-TYPE ::= {
 
238
  SignedAndEnvelopedData
 
239
  IDENTIFIED BY  id-signed-and-enveloped-data
 
240
}
 
241
 
 
242
SignedAndEnvelopedData ::= SEQUENCE {
 
243
  version               Version,
 
244
  recipientInfos        SET SIZE (1..MAX) OF KeyTransportRecipientInfo,
 
245
  digestAlgorithms      DigestAlgorithmIdentifiers,
 
246
  encryptedContentInfo  EncryptedContentInfo,
 
247
  certificates          [0]  CertificateSet OPTIONAL,
 
248
  crls                  [1]  CertificateRevocationLists OPTIONAL,
 
249
  signerInfos
 
250
    SET SIZE (1..MAX) OF
 
251
      SignerInfo
 
252
        (WITH COMPONENTS {
 
253
           ...,
 
254
           signerIdentifier           (WITH COMPONENTS {
 
255
                                         issuerAndSerialNumber  PRESENT
 
256
                                       }),
 
257
           authenticatedAttributes    ABSENT,
 
258
           unauthenticatedAttributes  ABSENT
 
259
         })
 
260
}
 
261
 
 
262
-- Digested Data
 
263
digested-data PKCS7-CONTENT-TYPE ::= {
 
264
  DigestedData
 
265
  IDENTIFIED BY  id-digested-data
 
266
}
 
267
 
 
268
DigestedData ::= SEQUENCE {
 
269
  version          Version,
 
270
  digestAlgorithm  DigestAlgorithmIdentifier,
 
271
  contentInfo      ContentInfo,
 
272
  digest           HASH{PKCS7-CONTENT-TYPE.&Type({PKCS7ContentTable})}
 
273
}
 
274
 
 
275
-- Encrypted Data
 
276
encrypted-data PKCS7-CONTENT-TYPE ::= {
 
277
  EncryptedData
 
278
  IDENTIFIED BY  id-encrypted-data
 
279
}
 
280
 
 
281
EncryptedData ::= SEQUENCE {
 
282
  version                Version,
 
283
  encryptedContentInfo   EncryptedContentInfo,
 
284
  unprotectedAttributes  [1]  Attributes OPTIONAL
 
285
}
 
286
 
 
287
-- Authenticated Data
 
288
authenticated-data PKCS7-CONTENT-TYPE ::= {
 
289
  AuthenticatedData
 
290
  IDENTIFIED BY  id-authenticated-data
 
291
}
 
292
 
 
293
AuthenticatedData ::= SEQUENCE {
 
294
  version                    Version,
 
295
  originatorInfo             [0]  OriginatorInfo OPTIONAL,
 
296
  recipientInfos             RecipientInfos,
 
297
  macAlgorithm               MessageAuthenticationCodeAlgorithmIdentifier,
 
298
  digestAlgorithm            [1]  DigestAlgorithmIdentifier OPTIONAL,
 
299
  contentInfo                ContentInfo,
 
300
  authenticatedAttributes    [2]  Attributes OPTIONAL,
 
301
  messageAuthenticationCode  MessageAuthenticationCode,
 
302
  unauthenticatedAttributes  [3]  Attributes OPTIONAL
 
303
}
 
304
 
 
305
MessageAuthenticationCodeAlgorithmIdentifier ::= AlgorithmIdentifier
 
306
 
 
307
MessageAuthenticationCode ::= OCTET STRING
 
308
 
 
309
-- Object Identifiers
 
310
id-pkcs OBJECT IDENTIFIER ::=
 
311
  {iso member-body usa(840) rsadsi(113549) pkcs(1)}
 
312
 
 
313
id-data OBJECT IDENTIFIER ::= {id-pkcs 7 1}
 
314
 
 
315
id-signed-data OBJECT IDENTIFIER ::= {id-pkcs 7 2}
 
316
 
 
317
id-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 3}
 
318
 
 
319
id-signed-and-enveloped-data OBJECT IDENTIFIER ::= {id-pkcs 7 4}
 
320
 
 
321
id-digested-data OBJECT IDENTIFIER ::= {id-pkcs 7 5}
 
322
 
 
323
id-encrypted-data OBJECT IDENTIFIER ::= {id-pkcs 7 6}
 
324
 
 
325
id-authenticated-data OBJECT IDENTIFIER ::= {id-pkcs 9 16 1 2}
 
326
 
 
327
-- Definitions from PKCS#6
 
328
ExtendedCertificate ::=
 
329
  SIGNED{ExtendedCertificateInfo}
 
330
 
 
331
ExtendedCertificateInfo ::= SEQUENCE {
 
332
  version      Version,
 
333
  certificate  Certificate,
 
334
  attributes   Attributes
 
335
}
 
336
 
 
337
Attributes ::= SET OF Attribute
 
338
 
 
339
END -- of PKCS#7
 
340
 
 
341
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
 
342