blob: f0197e152e01bb49ab6466de7976c9da9425a80e [file] [log] [blame]
Philipp Maier08902cf2024-03-04 10:32:55 +01001PKIX1Explicit88 { iso(1) identified-organization(3) dod(6) internet(1)
2 security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) }
3
4DEFINITIONS EXPLICIT TAGS ::=
5
6BEGIN
7
8-- EXPORTS ALL --
9
10-- IMPORTS NONE --
11
12-- UNIVERSAL Types defined in 1993 and 1998 ASN.1
13-- and required by this specification
14
15-- UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING
16 -- UniversalString is defined in ASN.1:1993
17
18-- BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
19 -- BMPString is the subtype of UniversalString and models
20 -- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1
21
22-- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
23 -- The content of this type conforms to RFC 2279.
24
25-- PKIX specific OIDs
26
27id-pkix OBJECT IDENTIFIER ::=
28 { iso(1) identified-organization(3) dod(6) internet(1)
29 security(5) mechanisms(5) pkix(7) }
30
31-- PKIX arcs
32
33id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
34 -- arc for private certificate extensions
35id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
36 -- arc for policy qualifier types
37id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
38 -- arc for extended key purpose OIDS
39id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
40 -- arc for access descriptors
41
42-- policyQualifierIds for Internet policy qualifiers
43
44id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
45 -- OID for CPS qualifier
46id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
47 -- OID for user notice qualifier
48
49-- access descriptor definitions
50
51id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
52id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
53id-ad-timeStamping OBJECT IDENTIFIER ::= { id-ad 3 }
54id-ad-caRepository OBJECT IDENTIFIER ::= { id-ad 5 }
55
56-- attribute data types
57
58Attribute ::= SEQUENCE {
59 type AttributeType,
60 values SET OF AttributeValue }
61 -- at least one value is required
62
63AttributeType ::= OBJECT IDENTIFIER
64
65AttributeValue ::= ANY
66
67AttributeTypeAndValue ::= SEQUENCE {
68 type AttributeType,
69 value AttributeValue }
70
71-- suggested naming attributes: Definition of the following
72-- information object set may be augmented to meet local
73-- requirements. Note that deleting members of the set may
74-- prevent interoperability with conforming implementations.
75-- presented in pairs: the AttributeType followed by the
76-- type definition for the corresponding AttributeValue
77--Arc for standard naming attributes
78id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
79
80-- Naming attributes of type X520name
81
82id-at-name AttributeType ::= { id-at 41 }
83id-at-surname AttributeType ::= { id-at 4 }
84id-at-givenName AttributeType ::= { id-at 42 }
85id-at-initials AttributeType ::= { id-at 43 }
86id-at-generationQualifier AttributeType ::= { id-at 44 }
87
88X520name ::= CHOICE {
89 teletexString TeletexString (SIZE (1..ub-name)),
90 printableString PrintableString (SIZE (1..ub-name)),
91 universalString UniversalString (SIZE (1..ub-name)),
92 utf8String UTF8String (SIZE (1..ub-name)),
93 bmpString BMPString (SIZE (1..ub-name)) }
94
95-- Naming attributes of type X520CommonName
96
97id-at-commonName AttributeType ::= { id-at 3 }
98
99X520CommonName ::= CHOICE {
100 teletexString TeletexString (SIZE (1..ub-common-name)),
101 printableString PrintableString (SIZE (1..ub-common-name)),
102 universalString UniversalString (SIZE (1..ub-common-name)),
103 utf8String UTF8String (SIZE (1..ub-common-name)),
104 bmpString BMPString (SIZE (1..ub-common-name)) }
105
106-- Naming attributes of type X520LocalityName
107
108id-at-localityName AttributeType ::= { id-at 7 }
109
110X520LocalityName ::= CHOICE {
111 teletexString TeletexString (SIZE (1..ub-locality-name)),
112 printableString PrintableString (SIZE (1..ub-locality-name)),
113 universalString UniversalString (SIZE (1..ub-locality-name)),
114 utf8String UTF8String (SIZE (1..ub-locality-name)),
115 bmpString BMPString (SIZE (1..ub-locality-name)) }
116
117-- Naming attributes of type X520StateOrProvinceName
118
119id-at-stateOrProvinceName AttributeType ::= { id-at 8 }
120
121X520StateOrProvinceName ::= CHOICE {
122 teletexString TeletexString (SIZE (1..ub-state-name)),
123 printableString PrintableString (SIZE (1..ub-state-name)),
124 universalString UniversalString (SIZE (1..ub-state-name)),
125 utf8String UTF8String (SIZE (1..ub-state-name)),
126 bmpString BMPString (SIZE(1..ub-state-name)) }
127
128-- Naming attributes of type X520OrganizationName
129
130id-at-organizationName AttributeType ::= { id-at 10 }
131
132X520OrganizationName ::= CHOICE {
133 teletexString TeletexString
134 (SIZE (1..ub-organization-name)),
135 printableString PrintableString
136 (SIZE (1..ub-organization-name)),
137 universalString UniversalString
138 (SIZE (1..ub-organization-name)),
139 utf8String UTF8String
140 (SIZE (1..ub-organization-name)),
141 bmpString BMPString
142 (SIZE (1..ub-organization-name)) }
143
144-- Naming attributes of type X520OrganizationalUnitName
145
146id-at-organizationalUnitName AttributeType ::= { id-at 11 }
147
148X520OrganizationalUnitName ::= CHOICE {
149 teletexString TeletexString
150 (SIZE (1..ub-organizational-unit-name)),
151 printableString PrintableString
152 (SIZE (1..ub-organizational-unit-name)),
153 universalString UniversalString
154 (SIZE (1..ub-organizational-unit-name)),
155 utf8String UTF8String
156 (SIZE (1..ub-organizational-unit-name)),
157 bmpString BMPString
158 (SIZE (1..ub-organizational-unit-name)) }
159
160-- Naming attributes of type X520Title
161
162id-at-title AttributeType ::= { id-at 12 }
163
164X520Title ::= CHOICE {
165 teletexString TeletexString (SIZE (1..ub-title)),
166 printableString PrintableString (SIZE (1..ub-title)),
167 universalString UniversalString (SIZE (1..ub-title)),
168 utf8String UTF8String (SIZE (1..ub-title)),
169 bmpString BMPString (SIZE (1..ub-title)) }
170
171-- Naming attributes of type X520dnQualifier
172
173id-at-dnQualifier AttributeType ::= { id-at 46 }
174
175X520dnQualifier ::= PrintableString
176
177-- Naming attributes of type X520countryName (digraph from IS 3166)
178
179id-at-countryName AttributeType ::= { id-at 6 }
180
181X520countryName ::= PrintableString (SIZE (2))
182
183-- Naming attributes of type X520SerialNumber
184
185id-at-serialNumber AttributeType ::= { id-at 5 }
186
187X520SerialNumber ::= PrintableString (SIZE (1..ub-serial-number))
188
189-- Naming attributes of type X520Pseudonym
190
191id-at-pseudonym AttributeType ::= { id-at 65 }
192
193X520Pseudonym ::= CHOICE {
194 teletexString TeletexString (SIZE (1..ub-pseudonym)),
195 printableString PrintableString (SIZE (1..ub-pseudonym)),
196 universalString UniversalString (SIZE (1..ub-pseudonym)),
197 utf8String UTF8String (SIZE (1..ub-pseudonym)),
198 bmpString BMPString (SIZE (1..ub-pseudonym)) }
199
200-- Naming attributes of type DomainComponent (from RFC 2247)
201
202id-domainComponent AttributeType ::=
203 { 0 9 2342 19200300 100 1 25 }
204
205DomainComponent ::= IA5String
206
207-- Legacy attributes
208
209pkcs-9 OBJECT IDENTIFIER ::=
210 { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
211
212id-emailAddress AttributeType ::= { pkcs-9 1 }
213
214EmailAddress ::= IA5String (SIZE (1..ub-emailaddress-length))
215
216-- naming data types --
217
218Name ::= CHOICE { -- only one possibility for now --
219 rdnSequence RDNSequence }
220
221RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
222
223DistinguishedName ::= RDNSequence
224
225RelativeDistinguishedName ::=
226 SET SIZE (1 .. MAX) OF AttributeTypeAndValue
227
228-- Directory string type --
229
230DirectoryString ::= CHOICE {
231 teletexString TeletexString (SIZE (1..MAX)),
232 printableString PrintableString (SIZE (1..MAX)),
233 universalString UniversalString (SIZE (1..MAX)),
234 utf8String UTF8String (SIZE (1..MAX)),
235 bmpString BMPString (SIZE (1..MAX)) }
236
237-- certificate and CRL specific structures begin here
238
239Certificate ::= SEQUENCE {
240 tbsCertificate TBSCertificate,
241 signatureAlgorithm AlgorithmIdentifier,
242 signature BIT STRING }
243
244TBSCertificate ::= SEQUENCE {
245 version [0] Version DEFAULT v1,
246 serialNumber CertificateSerialNumber,
247 signature AlgorithmIdentifier,
248 issuer Name,
249 validity Validity,
250 subject Name,
251 subjectPublicKeyInfo SubjectPublicKeyInfo,
252 issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
253 -- If present, version MUST be v2 or v3
254 subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
255 -- If present, version MUST be v2 or v3
256 extensions [3] Extensions OPTIONAL
257 -- If present, version MUST be v3 -- }
258
259Version ::= INTEGER { v1(0), v2(1), v3(2) }
260
261CertificateSerialNumber ::= INTEGER (0..999999999999999999999999999999999999) -- apply a range to suitable to force asn1c to uses INTEGER_t
262
263Validity ::= SEQUENCE {
264 notBefore Time,
265 notAfter Time }
266
267Time ::= CHOICE {
268 utcTime UTCTime,
269 generalTime GeneralizedTime }
270
271UniqueIdentifier ::= BIT STRING
272
273SubjectPublicKeyInfo ::= SEQUENCE {
274 algorithm AlgorithmIdentifier,
275 subjectPublicKey BIT STRING }
276
277Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
278
279Extension ::= SEQUENCE {
280 extnID OBJECT IDENTIFIER,
281 critical BOOLEAN DEFAULT FALSE,
282 extnValue OCTET STRING }
283
284-- CRL structures
285
286CertificateList ::= SEQUENCE {
287 tbsCertList TBSCertList,
288 signatureAlgorithm AlgorithmIdentifier,
289 signature BIT STRING }
290
291TBSCertList ::= SEQUENCE {
292 version Version OPTIONAL,
293 -- if present, MUST be v2
294 signature AlgorithmIdentifier,
295 issuer Name,
296 thisUpdate Time,
297 nextUpdate Time OPTIONAL,
298 revokedCertificates SEQUENCE OF SEQUENCE {
299 userCertificate CertificateSerialNumber,
300 revocationDate Time,
301 crlEntryExtensions Extensions OPTIONAL
302 -- if present, MUST be v2
303 } OPTIONAL,
304 crlExtensions [0] Extensions OPTIONAL }
305 -- if present, MUST be v2
306
307-- Version, Time, CertificateSerialNumber, and Extensions were
308-- defined earlier for use in the certificate structure
309
310AlgorithmIdentifier ::= SEQUENCE {
311 algorithm OBJECT IDENTIFIER,
312 parameters ANY DEFINED BY algorithm OPTIONAL }
313 -- contains a value of the type
314 -- registered for use with the
315 -- algorithm object identifier value
316
317-- X.400 address syntax starts here
318
319ORAddress ::= SEQUENCE {
320 built-in-standard-attributes BuiltInStandardAttributes,
321 built-in-domain-defined-attributes
322 BuiltInDomainDefinedAttributes OPTIONAL,
323 -- see also teletex-domain-defined-attributes
324 extension-attributes ExtensionAttributes OPTIONAL }
325
326-- Built-in Standard Attributes
327
328BuiltInStandardAttributes ::= SEQUENCE {
329 country-name CountryName OPTIONAL,
330 administration-domain-name AdministrationDomainName OPTIONAL,
331 network-address [0] IMPLICIT NetworkAddress OPTIONAL,
332 -- see also extended-network-address
333 terminal-identifier [1] IMPLICIT TerminalIdentifier OPTIONAL,
334 private-domain-name [2] PrivateDomainName OPTIONAL,
335 organization-name [3] IMPLICIT OrganizationName OPTIONAL,
336 -- see also teletex-organization-name
337 numeric-user-identifier [4] IMPLICIT NumericUserIdentifier
338 OPTIONAL,
339 personal-name [5] IMPLICIT PersonalName OPTIONAL,
340 -- see also teletex-personal-name
341 organizational-unit-names [6] IMPLICIT OrganizationalUnitNames
342 OPTIONAL }
343 -- see also teletex-organizational-unit-names
344
345CountryName ::= [APPLICATION 1] CHOICE {
346 x121-dcc-code NumericString
347 (SIZE (ub-country-name-numeric-length)),
348 iso-3166-alpha2-code PrintableString
349 (SIZE (ub-country-name-alpha-length)) }
350
351AdministrationDomainName ::= [APPLICATION 2] CHOICE {
352 numeric NumericString (SIZE (0..ub-domain-name-length)),
353 printable PrintableString (SIZE (0..ub-domain-name-length)) }
354
355NetworkAddress ::= X121Address -- see also extended-network-address
356
357X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
358
359TerminalIdentifier ::= PrintableString (SIZE
360(1..ub-terminal-id-length))
361
362PrivateDomainName ::= CHOICE {
363 numeric NumericString (SIZE (1..ub-domain-name-length)),
364 printable PrintableString (SIZE (1..ub-domain-name-length)) }
365
366OrganizationName ::= PrintableString
367 (SIZE (1..ub-organization-name-length))
368 -- see also teletex-organization-name
369
370NumericUserIdentifier ::= NumericString
371 (SIZE (1..ub-numeric-user-id-length))
372
373PersonalName ::= SET {
374 surname [0] IMPLICIT PrintableString
375 (SIZE (1..ub-surname-length)),
376 given-name [1] IMPLICIT PrintableString
377 (SIZE (1..ub-given-name-length)) OPTIONAL,
378 initials [2] IMPLICIT PrintableString
379 (SIZE (1..ub-initials-length)) OPTIONAL,
380 generation-qualifier [3] IMPLICIT PrintableString
381 (SIZE (1..ub-generation-qualifier-length))
382 OPTIONAL }
383 -- see also teletex-personal-name
384
385OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
386 OF OrganizationalUnitName
387 -- see also teletex-organizational-unit-names
388
389OrganizationalUnitName ::= PrintableString (SIZE
390 (1..ub-organizational-unit-name-length))
391
392-- Built-in Domain-defined Attributes
393
394BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
395 (1..ub-domain-defined-attributes) OF
396 BuiltInDomainDefinedAttribute
397
398BuiltInDomainDefinedAttribute ::= SEQUENCE {
399 type PrintableString (SIZE
400 (1..ub-domain-defined-attribute-type-length)),
401 value PrintableString (SIZE
402 (1..ub-domain-defined-attribute-value-length)) }
403
404-- Extension Attributes
405
406ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF
407 ExtensionAttribute
408
409ExtensionAttribute ::= SEQUENCE {
410 extension-attribute-type [0] IMPLICIT INTEGER
411 (0..ub-extension-attributes),
412 extension-attribute-value [1]
413 ANY DEFINED BY extension-attribute-type }
414
415-- Extension types and attribute values
416
417common-name INTEGER ::= 1
418
419CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
420
421teletex-common-name INTEGER ::= 2
422
423TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
424
425teletex-organization-name INTEGER ::= 3
426
427TeletexOrganizationName ::=
428 TeletexString (SIZE (1..ub-organization-name-length))
429
430teletex-personal-name INTEGER ::= 4
431
432TeletexPersonalName ::= SET {
433 surname [0] IMPLICIT TeletexString
434 (SIZE (1..ub-surname-length)),
435 given-name [1] IMPLICIT TeletexString
436 (SIZE (1..ub-given-name-length)) OPTIONAL,
437 initials [2] IMPLICIT TeletexString
438 (SIZE (1..ub-initials-length)) OPTIONAL,
439 generation-qualifier [3] IMPLICIT TeletexString
440 (SIZE (1..ub-generation-qualifier-length))
441 OPTIONAL }
442
443teletex-organizational-unit-names INTEGER ::= 5
444
445TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
446 (1..ub-organizational-units) OF TeletexOrganizationalUnitName
447
448TeletexOrganizationalUnitName ::= TeletexString
449 (SIZE (1..ub-organizational-unit-name-length))
450
451pds-name INTEGER ::= 7
452
453PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
454
455physical-delivery-country-name INTEGER ::= 8
456
457PhysicalDeliveryCountryName ::= CHOICE {
458 x121-dcc-code NumericString (SIZE
459(ub-country-name-numeric-length)),
460 iso-3166-alpha2-code PrintableString
461 (SIZE (ub-country-name-alpha-length)) }
462
463postal-code INTEGER ::= 9
464
465PostalCode ::= CHOICE {
466 numeric-code NumericString (SIZE (1..ub-postal-code-length)),
467 printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
468
469physical-delivery-office-name INTEGER ::= 10
470
471PhysicalDeliveryOfficeName ::= PDSParameter
472
473physical-delivery-office-number INTEGER ::= 11
474
475PhysicalDeliveryOfficeNumber ::= PDSParameter
476
477extension-OR-address-components INTEGER ::= 12
478
479ExtensionORAddressComponents ::= PDSParameter
480
481physical-delivery-personal-name INTEGER ::= 13
482
483PhysicalDeliveryPersonalName ::= PDSParameter
484
485physical-delivery-organization-name INTEGER ::= 14
486
487PhysicalDeliveryOrganizationName ::= PDSParameter
488
489extension-physical-delivery-address-components INTEGER ::= 15
490
491ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
492
493unformatted-postal-address INTEGER ::= 16
494
495UnformattedPostalAddress ::= SET {
496 printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines)
497 OF PrintableString (SIZE (1..ub-pds-parameter-length))
498 OPTIONAL,
499 teletex-string TeletexString
500 (SIZE (1..ub-unformatted-address-length)) OPTIONAL }
501
502street-address INTEGER ::= 17
503
504StreetAddress ::= PDSParameter
505
506post-office-box-address INTEGER ::= 18
507
508PostOfficeBoxAddress ::= PDSParameter
509
510poste-restante-address INTEGER ::= 19
511
512PosteRestanteAddress ::= PDSParameter
513
514unique-postal-name INTEGER ::= 20
515
516UniquePostalName ::= PDSParameter
517
518local-postal-attributes INTEGER ::= 21
519
520LocalPostalAttributes ::= PDSParameter
521
522PDSParameter ::= SET {
523 printable-string PrintableString
524 (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
525 teletex-string TeletexString
526 (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
527
528extended-network-address INTEGER ::= 22
529
530ExtendedNetworkAddress ::= CHOICE {
531 e163-4-address SEQUENCE {
532 number [0] IMPLICIT NumericString
533 (SIZE (1..ub-e163-4-number-length)),
534 sub-address [1] IMPLICIT NumericString
535 (SIZE (1..ub-e163-4-sub-address-length))
536 OPTIONAL },
537 psap-address [0] IMPLICIT PresentationAddress }
538
539PresentationAddress ::= SEQUENCE {
540 pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
541 sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
542 tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
543 nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING }
544
545terminal-type INTEGER ::= 23
546
547TerminalType ::= INTEGER {
548 telex (3),
549 teletex (4),
550 g3-facsimile (5),
551 g4-facsimile (6),
552 ia5-terminal (7),
553 videotex (8) }
554
555-- Extension Domain-defined Attributes
556
557teletex-domain-defined-attributes INTEGER ::= 6
558
559TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
560 (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
561
562TeletexDomainDefinedAttribute ::= SEQUENCE {
563 type TeletexString
564 (SIZE (1..ub-domain-defined-attribute-type-length)),
565 value TeletexString
566 (SIZE (1..ub-domain-defined-attribute-value-length)) }
567
568-- specifications of Upper Bounds MUST be regarded as mandatory
569-- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter
570-- Upper Bounds
571
572-- Upper Bounds
573ub-name INTEGER ::= 32768
574ub-common-name INTEGER ::= 64
575ub-locality-name INTEGER ::= 128
576ub-state-name INTEGER ::= 128
577ub-organization-name INTEGER ::= 64
578ub-organizational-unit-name INTEGER ::= 64
579ub-title INTEGER ::= 64
580ub-serial-number INTEGER ::= 64
581ub-match INTEGER ::= 128
582ub-emailaddress-length INTEGER ::= 255
583ub-common-name-length INTEGER ::= 64
584ub-country-name-alpha-length INTEGER ::= 2
585ub-country-name-numeric-length INTEGER ::= 3
586ub-domain-defined-attributes INTEGER ::= 4
587ub-domain-defined-attribute-type-length INTEGER ::= 8
588ub-domain-defined-attribute-value-length INTEGER ::= 128
589ub-domain-name-length INTEGER ::= 16
590ub-extension-attributes INTEGER ::= 256
591ub-e163-4-number-length INTEGER ::= 15
592ub-e163-4-sub-address-length INTEGER ::= 40
593ub-generation-qualifier-length INTEGER ::= 3
594ub-given-name-length INTEGER ::= 16
595ub-initials-length INTEGER ::= 5
596ub-integer-options INTEGER ::= 256
597ub-numeric-user-id-length INTEGER ::= 32
598ub-organization-name-length INTEGER ::= 64
599ub-organizational-unit-name-length INTEGER ::= 32
600ub-organizational-units INTEGER ::= 4
601ub-pds-name-length INTEGER ::= 16
602ub-pds-parameter-length INTEGER ::= 30
603ub-pds-physical-address-lines INTEGER ::= 6
604ub-postal-code-length INTEGER ::= 16
605ub-pseudonym INTEGER ::= 128
606ub-surname-length INTEGER ::= 40
607ub-terminal-id-length INTEGER ::= 24
608ub-unformatted-address-length INTEGER ::= 180
609ub-x121-address-length INTEGER ::= 16
610
611-- Note - upper bounds on string types, such as TeletexString, are
612-- measured in characters. Excepting PrintableString or IA5String, a
613-- significantly greater number of octets will be required to hold
614-- such a value. As a minimum, 16 octets, or twice the specified
615-- upper bound, whichever is the larger, should be allowed for
616-- TeletexString. For UTF8String or UniversalString at least four
617-- times the upper bound should be allowed.
618
619END