wireshark/asn1/pkix1explicit/PKIX1EXPLICIT93.asn

856 lines
32 KiB
Groff

-- This file is based on PKIX1Explicit93 definition in
-- RFC2459 section b.1
--
--Appendix F of RFC2459
--Appendix F. Full Copyright Statement
--
-- Copyright (C) The Internet Society (1999). All Rights Reserved.
--
-- This document and translations of it may be copied and furnished to
-- others, and derivative works that comment on or otherwise explain it
-- or assist in its implementation may be prepared, copied, published
-- and distributed, in whole or in part, without restriction of any
-- kind, provided that the above copyright notice and this paragraph are
-- included on all such copies and derivative works. However, this
-- document itself may not be modified in any way, such as by removing
-- the copyright notice or references to the Internet Society or other
-- Internet organizations, except as needed for the purpose of
-- developing Internet standards in which case the procedures for
-- copyrights defined in the Internet Standards process must be
-- followed, or as required to translate it into languages other than
-- English.
--
-- The limited permissions granted above are perpetual and will not be
-- revoked by the Internet Society or its successors or assigns.
--
-- This document and the information contained herein is provided on an
-- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
-- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
-- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--
--
--NOTE: This ASN1 definition have been significantly modified from the original
--version in RFC2459 in order to accomodate the featuresets available
--in the ethereal projects asn2eth compiler.
--It has also been modified and structures have been commented out that
--are already implemented in the X509 dissectors.
--Dissectors present already in the X509 dissectors should be implemented in
--the template by hand as stubs that will just call the original
--dissector functions in X509 in order not to duplicate code.
--
--Structures and constructs in this definition are uncommented and
--implemented on-demand when someone needs them.
--
--If you export new types from this file, make sure to update the
--pkix1explicit_exp.cnf file with the proper definitions
PKIX1Explicit93 {iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit-93(3)}
DEFINITIONS EXPLICIT TAGS ::=
BEGIN
-- EXPORTS ALL --
IMPORTS
authorityKeyIdentifier, subjectKeyIdentifier, keyUsage,
extendedKeyUsage, privateKeyUsagePeriod, certificatePolicies,
policyMappings, subjectAltName, issuerAltName,
basicConstraints, nameConstraints, policyConstraints,
cRLDistributionPoints, subjectDirectoryAttributes,
cRLNumber, reasonCode, instructionCode, invalidityDate,
issuingDistributionPoint, certificateIssuer,
deltaCRLIndicator, authorityInfoAccess, id-ce
FROM PKIX1Implicit93 {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7)
id-mod(0) id-pkix1-implicit-93(4)} ;
--
-- Locally defined OIDs
--
--id-pkix OBJECT IDENTIFIER ::=
-- { iso(1) identified-organization(3) dod(6) internet(1)
-- security(5) mechanisms(5) pkix(7) }
--
-- PKIX arcs
-- arc for private certificate extensions
--id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
-- arc for policy qualifier types
--id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
-- arc for extended key purpose OIDS
--id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
-- arc for access descriptors
--id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
--
-- policyQualifierIds for Internet policy qualifiers
--id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
-- OID for CPS qualifier
--
--id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
-- OID for user notice qualifier
--
-- based on excerpts from AuthenticationFramework
-- {joint-iso-ccitt ds(5) modules(1) authenticationFramework(7) 2}
--
-- Public Key Certificate
--
--Certificate ::= SIGNED { SEQUENCE {
-- version [0] Version DEFAULT v1,
-- serialNumber CertificateSerialNumber,
-- signature AlgorithmIdentifier,
-- issuer Name,
-- validity Validity,
-- subject Name,
-- subjectPublicKeyInfo SubjectPublicKeyInfo,
-- issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- if present, version shall be v2 or v3
-- subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- if present, version shall be v2 or v3
-- extensions [3] Extensions OPTIONAL
-- if present, version shall be v3
-- }
--}
--
--UniqueIdentifier ::= BIT STRING
--
--Version ::= INTEGER { v1(0), v2(1), v3(2) }
-- This one is defined with .NO_EMIT in the conformance file
-- and implemented in the template as just a call to the
-- corresponding function in x509
CertificateSerialNumber ::= INTEGER
--Validity ::= SEQUENCE {
-- notBefore Time,
-- notAfter Time }
--
--Time ::= CHOICE {
-- utcTime UTCTime,
-- generalTime GeneralizedTime }
--
-- This one is implemented in the template as just a call to the
-- corresponding function in x509
--SubjectPublicKeyInfo ::= SEQUENCE{
-- algorithm AlgorithmIdentifier,
-- subjectPublicKey BIT STRING
--}
Extensions ::= SEQUENCE OF Extension
Extension ::= SEQUENCE {
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING
}
-- contains a DER encoding of a value of type
-- &ExtnType for the
-- extension object identified by extnId
--
-- The following information object set is defined to constrain the
-- set of legal certificate extensions.
--
--ExtensionSet EXTENSION ::= { authorityKeyIdentifier |
-- subjectKeyIdentifier |
-- keyUsage |
-- extendedKeyUsage |
-- privateKeyUsagePeriod |
-- certificatePolicies |
-- policyMappings |
-- subjectAltName |
-- issuerAltName |
-- basicConstraints |
-- nameConstraints |
-- policyConstraints |
-- cRLDistributionPoints |
-- subjectDirectoryAttributes |
-- authorityInfoAccess }
--
--EXTENSION ::= CLASS {
-- &id OBJECT IDENTIFIER UNIQUE,
-- &ExtnType }
--WITH SYNTAX {
-- SYNTAX &ExtnType
-- IDENTIFIED BY &id }
--
-- Certificate Revocation List
--
--CertificateList ::= SIGNED { SEQUENCE {
-- version Version OPTIONAL,
-- if present, shall be v2
-- signature AlgorithmIdentifier,
-- issuer Name,
-- thisUpdate Time,
-- nextUpdate Time OPTIONAL,
-- revokedCertificates SEQUENCE OF SEQUENCE {
-- userCertificate CertificateSerialNumber,
-- revocationDate Time,
-- crlEntryExtensions EntryExtensions OPTIONAL } OPTIONAL,
-- crlExtensions [0] CRLExtensions OPTIONAL }}
--
--CRLExtensions ::= SEQUENCE SIZE (1..MAX) OF CRLExtension
--
--CRLExtension ::= SEQUENCE {
-- extnId EXTENSION.&id ({CRLExtensionSet}),
-- critical BOOLEAN DEFAULT FALSE,
-- extnValue OCTET STRING }
-- contains a DER encoding of a value of type
-- &ExtnType for the
-- extension object identified by extnId
--
-- The following information object set is defined to constrain the
-- set of legal CRL extensions.
--
--CRLExtensionSet EXTENSION ::= { authorityKeyIdentifier |
-- issuerAltName |
-- cRLNumber |
-- deltaCRLIndicator |
-- issuingDistributionPoint }
--
-- EXTENSION defined above for certificates
--
--EntryExtensions ::= SEQUENCE SIZE (1..MAX) OF EntryExtension
--
--EntryExtension ::= SEQUENCE {
-- extnId EXTENSION.&id ({EntryExtensionSet}),
-- critical BOOLEAN DEFAULT FALSE,
-- extnValue OCTET STRING }
-- contains a DER encoding of a value of type
-- &ExtnType for the
-- extension object identified by extnId
--
-- The following information object set is defined to constrain the
-- set of legal CRL entry extensions.
--
--EntryExtensionSet EXTENSION ::= { reasonCode |
-- instructionCode |
-- invalidityDate |
-- certificateIssuer }
--
-- information object classes used in the defintion
-- of certificates and CRLs
--
-- Parameterized Type SIGNED
--
-- SIGNED { ToBeSigned } ::= SEQUENCE {
-- toBeSigned ToBeSigned,
-- algorithm AlgorithmIdentifier,
-- signature BIT STRING
-- }
--
-- This one is implemented in the template as just a call to the
-- corresponding function in x509
-- Definition of AlgorithmIdentifier
-- ISO definition was:
--AlgorithmIdentifier ::= SEQUENCE {
-- algorithm ALGORITHM.&id({SupportedAlgorithms}),
-- parameters ALGORITHM.&Type({SupportedAlgorithms}
-- { @algorithm}) OPTIONAL
--}
-- Definition of ALGORITHM
-- ALGORITHM ::= TYPE-IDENTIFIER
--
-- The following PKIX definition replaces the X.509 definition
--
--
--AlgorithmIdentifier ::= SEQUENCE {
-- algorithm ALGORITHM-ID.&id({SupportedAlgorithms}),
-- parameters ALGORITHM-ID.&Type({SupportedAlgorithms}
-- { @algorithm}) OPTIONAL }
--
-- Definition of ALGORITHM-ID
--
-- ALGORITHM-ID ::= CLASS {
-- &id OBJECT IDENTIFIER UNIQUE,
-- &Type OPTIONAL
-- }
-- WITH SYNTAX { OID &id [PARMS &Type] }
--
-- The definition of SupportedAlgorithms may be modified as this
-- document does not specify a mandatory algorithm set. In addition,
-- the set is specified as extensible, since additional algorithms
-- may be supported
--
--SupportedAlgorithms ALGORITHM-ID ::= { ...,
-- rsaPublicKey |
-- rsaSHA-1 |
-- rsaMD5 |
-- rsaMD2 |
-- dssPublicKey |
-- dsaSHA-1 |
-- dhPublicKey }
--
-- OIDs and parameter structures for ALGORITHM-IDs used
-- in this specification
--
--rsaPublicKey ALGORITHM-ID ::= { OID rsaEncryption PARMS NULL }
--
--rsaSHA-1 ALGORITHM-ID ::= { OID sha1WithRSAEncryption PARMS NULL }
--
--rsaMD5 ALGORITHM-ID ::= { OID md5WithRSAEncryption PARMS NULL }
--
--rsaMD2 ALGORITHM-ID ::= { OID md2WithRSAEncryption PARMS NULL }
--
--dssPublicKey ALGORITHM-ID ::= { OID id-dsa PARMS Dss-Parms }
--
--dsaSHA-1 ALGORITHM-ID ::= { OID id-dsa-with-sha1 }
--
--dhPublicKey ALGORITHM-ID ::= {OID dhpublicnumber PARMS DomainParameters}
--
-- algorithm identifiers and parameter structures
--
--pkcs-1 OBJECT IDENTIFIER ::= {
-- iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
--
--rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
--
--md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
--
--md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
--
--sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
--
--id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
-- iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
--
--Dss-Sig-Value ::= SEQUENCE {
-- r INTEGER,
-- s INTEGER }
--
dhpublicnumber OBJECT IDENTIFIER ::= {
iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 }
DomainParameters ::= SEQUENCE {
p INTEGER,
g INTEGER,
q INTEGER,
j INTEGER OPTIONAL,
validationParms ValidationParms OPTIONAL }
ValidationParms ::= SEQUENCE {
seed BIT STRING,
pgenCounter INTEGER }
--id-dsa OBJECT IDENTIFIER ::= {
-- iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
--
--Dss-Parms ::= SEQUENCE {
-- p INTEGER,
-- q INTEGER,
-- g INTEGER }
--
-- The ASN.1 in this section supports the Name type
-- and the directoryAttribute extension
--
-- attribute data types
--
--Attribute ::= SEQUENCE {
-- type ATTRIBUTE.&id ({SupportedAttributes}),
-- values SET SIZE (1 .. MAX) OF ATTRIBUTE.&Type
-- ({SupportedAttributes}{@type})}
AttributeTypeAndValue ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY
}
-- naming data types --
--
-- This one is implemented in the template as just a call to the
-- corresponding function in x509
--Name ::= CHOICE {
-- rdnSequence RDNSequence
--}
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
--ID ::= OBJECT IDENTIFIER
--
-- ATTRIBUTE information object class specification
-- Note: This has been greatly simplified for PKIX !!
--
--ATTRIBUTE ::= CLASS {
-- &Type,
-- &id OBJECT IDENTIFIER UNIQUE }
--WITH SYNTAX {
-- WITH SYNTAX &Type ID &id }
--
-- suggested naming attributes
-- Definition of the following information object set may be
-- augmented to meet local requirements. Note that deleting
-- members of the set may prevent interoperability with
-- conforming implementations.
--
--SupportedAttributes ATTRIBUTE ::= {
-- name | commonName | surname | givenName | initials |
-- generationQualifier | dnQualifier | countryName |
-- localityName | stateOrProvinceName | organizationName |
-- organizationalUnitName | title | pkcs9email }
--
--name ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString { ub-name }
-- ID id-at-name }
--
--commonName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-common-name}
-- ID id-at-commonName }
--
--surname ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-name}
-- ID id-at-surname }
--
--givenName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-name}
-- ID id-at-givenName }
--
--initials ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-name}
-- ID id-at-initials }
--
--generationQualifier ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-name}
-- ID id-at-generationQualifier}
--
--dnQualifier ATTRIBUTE ::= {
-- WITH SYNTAX PrintableString
-- ID id-at-dnQualifier }
--
--
--countryName ATTRIBUTE ::= {
-- WITH SYNTAX PrintableString (SIZE (2))
-- ID id-at-countryName }
--
--localityName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-locality-name}
-- ID id-at-localityName }
--
--stateOrProvinceName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-state-name}
-- ID id-at-stateOrProvinceName }
--
--organizationName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-organization-name}
-- ID id-at-organizationName }
--
--organizationalUnitName ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-organizational-unit-name}
-- ID id-at-organizationalUnitName }
--
--title ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-title}
-- ID id-at-title }
--
-- Legacy attributes
--
--pkcs9email ATTRIBUTE ::= {
-- WITH SYNTAX PHGString,
-- ID emailAddress }
--
--PHGString ::= IA5String (SIZE(1..ub-emailaddress-length))
--
--pkcs-9 OBJECT IDENTIFIER ::=
-- { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
--
--emailAddress OBJECT IDENTIFIER ::= { pkcs-9 1 }
--
-- object identifiers for Name type and directory attribute support
--
-- Object identifier assignments
--
--id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4}
--
-- Attributes
--
--id-at-commonName OBJECT IDENTIFIER ::= {id-at 3}
--id-at-surname OBJECT IDENTIFIER ::= {id-at 4}
--id-at-countryName OBJECT IDENTIFIER ::= {id-at 6}
--id-at-localityName OBJECT IDENTIFIER ::= {id-at 7}
--id-at-stateOrProvinceName OBJECT IDENTIFIER ::= {id-at 8}
--id-at-organizationName OBJECT IDENTIFIER ::= {id-at 10}
--id-at-organizationalUnitName OBJECT IDENTIFIER ::= {id-at 11}
--id-at-title OBJECT IDENTIFIER ::= {id-at 12}
--id-at-name OBJECT IDENTIFIER ::= {id-at 41}
--id-at-givenName OBJECT IDENTIFIER ::= {id-at 42}
--id-at-initials OBJECT IDENTIFIER ::= {id-at 43}
--id-at-generationQualifier OBJECT IDENTIFIER ::= {id-at 44}
--id-at-dnQualifier OBJECT IDENTIFIER ::= {id-at 46}
--
-- Directory string type, used extensively in Name types
--Make it a PrintableString will amke it look prettier
DirectoryString ::= PrintableString
--DirectoryString { INTEGER:maxSize } ::= CHOICE {
-- teletexString TeletexString (SIZE (1..maxSize)),
-- printableString PrintableString (SIZE (1..maxSize)),
-- universalString UniversalString (SIZE (1..maxSize)),
-- bmpString BMPString (SIZE(1..maxSize)),
-- utf8String UTF8String (SIZE(1..maxSize))
-- }
--
-- End of ASN.1 for Name type and directory attribute support
--
-- The ASN.1 in this section supports X.400 style names
-- for implementations that use the x400Address component
-- of GeneralName.
--
--ORAddress ::= SEQUENCE {
-- built-in-standard-attributes BuiltInStandardAttributes,
-- built-in-domain-defined-attributes
-- BuiltInDomainDefinedAttributes OPTIONAL,
-- see also teletex-domain-defined-attributes
-- extension-attributes ExtensionAttributes OPTIONAL }
--
-- The OR-address is semantically absent from the OR-name if the
-- built-in-standard-attribute sequence is empty and the
-- built-in-domain-defined-attributes and extension-attributes are
-- both omitted.
--
-- Built-in Standard Attributes
--
--BuiltInStandardAttributes ::= SEQUENCE {
-- country-name CountryName OPTIONAL,
-- administration-domain-name AdministrationDomainName OPTIONAL,
-- network-address [0] NetworkAddress OPTIONAL,
-- see also extended-network-address
-- terminal-identifier [1] TerminalIdentifier OPTIONAL,
-- private-domain-name [2] PrivateDomainName OPTIONAL,
-- organization-name [3] OrganizationName OPTIONAL,
-- see also teletex-organization-name
-- numeric-user-identifier [4] NumericUserIdentifier OPTIONAL,
-- personal-name [5] PersonalName OPTIONAL,
-- see also teletex-personal-name
-- organizational-unit-names [6] OrganizationalUnitNames OPTIONAL
-- see also teletex-organizational-unit-names
-- }
--
--CountryName ::= [APPLICATION 1] CHOICE {
-- x121-dcc-code NumericString,
-- iso-3166-alpha2-code PrintableString
--}
--
--AdministrationDomainName ::= [APPLICATION 2] CHOICE {
-- numeric NumericString (SIZE (0..ub-domain-name-length)),
-- printable PrintableString (SIZE (0..ub-domain-name-length)) }
--
--NetworkAddress ::= X121Address
-- see also extended-network-address
--
--X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
--
--TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length))
--
--PrivateDomainName ::= CHOICE {
-- numeric NumericString (SIZE (1..ub-domain-name-length)),
-- printable PrintableString (SIZE (1..ub-domain-name-length)) }
--
--OrganizationName ::= PrintableString
-- (SIZE (1..ub-organization-name-length))
-- see also teletex-organization-name
--
--NumericUserIdentifier ::= NumericString
-- (SIZE (1..ub-numeric-user-id-length))
--
--PersonalName ::= SET {
-- surname [0] PrintableString (SIZE (1..ub-surname-length)),
-- given-name [1] PrintableString
-- (SIZE (1..ub-given-name-length)) OPTIONAL,
-- initials [2] PrintableString
-- (SIZE (1..ub-initials-length)) OPTIONAL,
-- generation-qualifier [3] PrintableString
-- (SIZE (1..ub-generation-qualifier-length)) OPTIONAL}
-- see also teletex-personal-name
--
--OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
-- OF OrganizationalUnitName
-- see also teletex-organizational-unit-names
--
--OrganizationalUnitName ::= PrintableString (SIZE
-- (1..ub-organizational-unit-name-length))
--
-- Built-in Domain-defined Attributes
--BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
-- (1..ub-domain-defined-attributes) OF
-- BuiltInDomainDefinedAttribute
--
--BuiltInDomainDefinedAttribute ::= SEQUENCE {
-- type PrintableString (SIZE
-- (1..ub-domain-defined-attribute-type-length)),
-- value PrintableString (SIZE
-- (1..ub-domain-defined-attribute-value-length)) }
--
-- Extension Attributes
--
--ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes)
-- OF ExtensionAttribute
--ExtensionAttribute ::= SEQUENCE {
--
-- extension-attribute-type [0] EXTENSION-ATTRIBUTE.&id
-- ({ExtensionAttributeTable}),
-- extension-attribute-value [1] EXTENSION-ATTRIBUTE.&Type
-- ({ExtensionAttributeTable} {@extension-attribute-type}) }
--
--EXTENSION-ATTRIBUTE ::= CLASS {
-- &id INTEGER (0..ub-extension-attributes) UNIQUE,
-- &Type }
--WITH SYNTAX {&Type IDENTIFIED BY &id}
--
--ExtensionAttributeTable EXTENSION-ATTRIBUTE ::= {
-- common-name |
-- teletex-common-name |
-- teletex-organization-name |
-- teletex-personal-name |
-- teletex-organizational-unit-names |
-- teletex-domain-defined-attributes |
-- pds-name |
-- physical-delivery-country-name |
-- postal-code |
-- physical-delivery-office-name |
-- physical-delivery-office-number |
-- extension-OR-address-components |
-- physical-delivery-personal-name |
-- physical-delivery-organization-name |
-- extension-physical-delivery-address-components |
-- unformatted-postal-address |
-- street-address |
-- post-office-box-address |
-- poste-restante-address |
-- unique-postal-name |
-- local-postal-attributes |
-- extended-network-address |
-- terminal-type }
--
-- Extension Standard Attributes
--
--common-name EXTENSION-ATTRIBUTE ::= {CommonName IDENTIFIED BY 1}
--
--CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
--
--teletex-common-name EXTENSION-ATTRIBUTE ::=
-- {TeletexCommonName IDENTIFIED BY 2}
--
--TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
--
--teletex-organization-name EXTENSION-ATTRIBUTE ::=
-- {TeletexOrganizationName IDENTIFIED BY 3}
--
--TeletexOrganizationName ::=
-- TeletexString (SIZE (1..ub-organization-name-length))
--
--teletex-personal-name EXTENSION-ATTRIBUTE ::=
-- {TeletexPersonalName IDENTIFIED BY 4}
--
--TeletexPersonalName ::= SET {
-- surname [0] TeletexString (SIZE (1..ub-surname-length)),
-- given-name [1] TeletexString
-- (SIZE (1..ub-given-name-length)) OPTIONAL,
-- initials [2] TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
-- generation-qualifier [3] TeletexString (SIZE
-- (1..ub-generation-qualifier-length)) OPTIONAL }
--
--teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::=
-- {TeletexOrganizationalUnitNames IDENTIFIED BY 5}
--
--TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
-- (1..ub-organizational-units) OF TeletexOrganizationalUnitName
--
--TeletexOrganizationalUnitName ::= TeletexString
-- (SIZE (1..ub-organizational-unit-name-length))
--
--pds-name EXTENSION-ATTRIBUTE ::= {PDSName IDENTIFIED BY 7}
--
--PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
--
--physical-delivery-country-name EXTENSION-ATTRIBUTE ::=
-- {PhysicalDeliveryCountryName IDENTIFIED BY 8}
--
--PhysicalDeliveryCountryName ::= CHOICE {
-- x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
-- iso-3166-alpha2-code PrintableString
-- (SIZE (ub-country-name-alpha-length)) }
--
--postal-code EXTENSION-ATTRIBUTE ::= {PostalCode IDENTIFIED BY 9}
--
--PostalCode ::= CHOICE {
-- numeric-code NumericString (SIZE (1..ub-postal-code-length)),
-- printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
--
--physical-delivery-office-name EXTENSION-ATTRIBUTE ::=
-- {PhysicalDeliveryOfficeName IDENTIFIED BY 10}
--
--PhysicalDeliveryOfficeName ::= PDSParameter
--
--physical-delivery-office-number EXTENSION-ATTRIBUTE ::=
-- {PhysicalDeliveryOfficeNumber IDENTIFIED BY 11}
--
--PhysicalDeliveryOfficeNumber ::= PDSParameter
--
--extension-OR-address-components EXTENSION-ATTRIBUTE ::=
-- {ExtensionORAddressComponents IDENTIFIED BY 12}
--
--ExtensionORAddressComponents ::= PDSParameter
--
--physical-delivery-personal-name EXTENSION-ATTRIBUTE ::=
-- {PhysicalDeliveryPersonalName IDENTIFIED BY 13}
--
--PhysicalDeliveryPersonalName ::= PDSParameter
--
--physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
-- {PhysicalDeliveryOrganizationName IDENTIFIED BY 14}
--
--PhysicalDeliveryOrganizationName ::= PDSParameter
--
--extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
-- {ExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 15}
--
--ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
--
--unformatted-postal-address EXTENSION-ATTRIBUTE ::=
-- {UnformattedPostalAddress IDENTIFIED BY 16}
--
--UnformattedPostalAddress ::= SET {
-- printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
-- PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
-- teletex-string TeletexString (SIZE
-- (1..ub-unformatted-address-length)) OPTIONAL }
--
--street-address EXTENSION-ATTRIBUTE ::=
-- {StreetAddress IDENTIFIED BY 17}
--
--StreetAddress ::= PDSParameter
--
--post-office-box-address EXTENSION-ATTRIBUTE ::=
-- {PostOfficeBoxAddress IDENTIFIED BY 18}
--
--PostOfficeBoxAddress ::= PDSParameter
--
--poste-restante-address EXTENSION-ATTRIBUTE ::=
-- {PosteRestanteAddress IDENTIFIED BY 19}
--
--PosteRestanteAddress ::= PDSParameter
--
--unique-postal-name EXTENSION-ATTRIBUTE ::=
-- {UniquePostalName IDENTIFIED BY 20}
--
--UniquePostalName ::= PDSParameter
--
--local-postal-attributes EXTENSION-ATTRIBUTE ::=
-- {LocalPostalAttributes IDENTIFIED BY 21}
--
--LocalPostalAttributes ::= PDSParameter
--
--PDSParameter ::= SET {
-- printable-string PrintableString
-- (SIZE(1..ub-pds-parameter-length)) OPTIONAL,
-- teletex-string TeletexString
-- (SIZE(1..ub-pds-parameter-length)) OPTIONAL }
--
--extended-network-address EXTENSION-ATTRIBUTE ::=
-- {ExtendedNetworkAddress IDENTIFIED BY 22}
--
--ExtendedNetworkAddress ::= CHOICE {
-- e163-4-address SEQUENCE {
-- number [0] NumericString
-- (SIZE (1..ub-e163-4-number-length)),
-- sub-address [1] NumericString
-- (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL},
-- psap-address [0] PresentationAddress }
--
--PresentationAddress ::= SEQUENCE {
-- pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
-- sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
-- tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
-- nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING}
--
--
--terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
TerminalType ::= INTEGER {
telex (3),
teletex (4),
g3-facsimile (5),
g4-facsimile (6),
ia5-terminal (7),
videotex (8) }
-- Extension Domain-defined Attributes
--
--teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::=
-- {TeletexDomainDefinedAttributes IDENTIFIED BY 6}
--
--TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
-- (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
TeletexDomainDefinedAttribute ::= SEQUENCE {
type TeletexString,
value TeletexString
}
-- specifications of Upper Bounds
-- shall be regarded as mandatory
-- from Annex B of ITU-T X.411
-- Reference Definition of MTS Parameter Upper Bounds
--
-- Upper Bounds
--ub-name INTEGER ::= 32768
--ub-common-name INTEGER ::= 64
--ub-locality-name INTEGER ::= 128
--ub-state-name INTEGER ::= 128
--ub-organization-name INTEGER ::= 64
--ub-organizational-unit-name INTEGER ::= 64
--ub-title INTEGER ::= 64
--ub-match INTEGER ::= 128
--
--ub-emailaddress-length INTEGER ::= 128
--
--ub-common-name-length INTEGER ::= 64
--ub-country-name-alpha-length INTEGER ::= 2
--ub-country-name-numeric-length INTEGER ::= 3
--ub-domain-defined-attributes INTEGER ::= 4
--ub-domain-defined-attribute-type-length INTEGER ::= 8
--ub-domain-defined-attribute-value-length INTEGER ::= 128
--ub-domain-name-length INTEGER ::= 16
--ub-extension-attributes INTEGER ::= 256
--ub-e163-4-number-length INTEGER ::= 15
--ub-e163-4-sub-address-length INTEGER ::= 40
--ub-generation-qualifier-length INTEGER ::= 3
--ub-given-name-length INTEGER ::= 16
--ub-initials-length INTEGER ::= 5
--ub-integer-options INTEGER ::= 256
--ub-numeric-user-id-length INTEGER ::= 32
--ub-organization-name-length INTEGER ::= 64
--ub-organizational-unit-name-length INTEGER ::= 32
--ub-organizational-units INTEGER ::= 4
--ub-pds-name-length INTEGER ::= 16
--ub-pds-parameter-length INTEGER ::= 30
--ub-pds-physical-address-lines INTEGER ::= 6
--ub-postal-code-length INTEGER ::= 16
--ub-surname-length INTEGER ::= 40
--ub-terminal-id-length INTEGER ::= 24
--ub-unformatted-address-length INTEGER ::= 180
--
--ub-x121-address-length INTEGER ::= 16
--
-- Note - upper bounds on TeletexString are measured in characters.
-- A significantly greater number of octets will be required to hold
-- such a value. As a minimum, 16 octets, or twice the specified upper
-- bound, whichever is the larger, should be allowed.
END