-- ASN module extracted from ITU-T X.509 (10/2016)

PkiPmiExternalDataTypes {joint-iso-itu-t ds(5) module(1) pkiPmiExternalDataTypes(40) 8} DEFINITIONS ::= BEGIN -- EXPORTS All IMPORTS authenticationFramework, certificateExtensions, intSecurity, selectedAttributeTypes FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 8} EXTENSION FROM AuthenticationFramework authenticationFramework GeneralName FROM CertificateExtensions certificateExtensions PresentationAddress FROM SelectedAttributeTypes selectedAttributeTypes ; /* The UserNotice data type is referenced by the userNotice extension. It is copied from IETF RFC 5280 */ UserNotice ::= SEQUENCE { noticeRef NoticeReference OPTIONAL, explicitText DisplayText OPTIONAL } NoticeReference ::= SEQUENCE { organization DisplayText, noticeNumbers SEQUENCE OF INTEGER } DisplayText ::= CHOICE { visibleString VisibleString(SIZE (1..200)), bmpString BMPString(SIZE (1..200)), utf8String UTF8String(SIZE (1..200)) } /* IETF RFC 5280 defines some extensions not copied from this Specification. The formal specification of these extensions are included here for easy reference, e.g., when using ASN.1 tools. For detailed description, see IETF 5280.*/ /* Authority information access extension*/ authorityInfoAccess EXTENSION ::= { SYNTAX AuthorityInfoAccessSyntax IDENTIFIED BY id-pe-authorityInfoAccess } AuthorityInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription AccessDescription ::= SEQUENCE { accessMethod OBJECT IDENTIFIER, accessLocation GeneralName } /* Subject information access extension*/ subjectInfoAccess EXTENSION ::= { SYNTAX SubjectInfoAccessSyntax IDENTIFIED BY id-pe-subjectInfoAccess } SubjectInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription /* IETF RFC 5280 (PKIX) object identifier allocation*/ id-pkix OBJECT IDENTIFIER ::= { intSecurity mechanisms(5) pkix(7) } id-pe OBJECT IDENTIFIER ::= { id-pkix 1 } id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 } id-pe-subjectInfoAccess OBJECT IDENTIFIER ::= { id-pe 11 } id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 } id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } /* The following is an abstract of the MTSAbstractService module specified by Rec. ITU-T Rec. X.411 | ISO/IEC 10021-4.*/ G3FacsimileNonBasicParameters ::= BIT STRING { two-dimensional(8), -- As defined in ITU-T Recommendation T.30 fine-resolution(9), unlimited-length(20), -- These bit values are chosen such that when b4-length(21), -- encoded using ASN.1 Basic Encoding Rules a3-width(22), -- the resulting octets have the same values b4-width(23), -- as for T.30 encoding t6-coding(25), uncompressed(30), -- Trailing zero bits are not significant width-middle-864-of-1728(37), -- It is recommended that implementations width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless resolution-type(44), -- higher numbered bits are non-zero resolution-400x400(45), resolution-300x300(46), resolution-8x15(47), edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60), twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68), processable-mode-26(71)} 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(SIZE (ub-country-name-numeric-length)), iso-3166-alpha2-code PrintableString(SIZE (ub-country-name-alpha-length)) } 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 | universal-common-name | teletex-organization-name | universal-organization-name | teletex-personal-name | universal-personal-name | teletex-organizational-unit-names | universal-organizational-unit-names | teletex-domain-defined-attributes | universal-domain-defined-attributes | pds-name | physical-delivery-country-name | postal-code | physical-delivery-office-name | universal-physical-delivery-office-name | physical-delivery-office-number | universal-physical-delivery-office-number | extension-OR-address-components | universal-extension-OR-address-components | physical-delivery-personal-name | universal-physical-delivery-personal-name | physical-delivery-organization-name | universal-physical-delivery-organization-name | extension-physical-delivery-address-components | universal-extension-physical-delivery-address-components | unformatted-postal-address | universal-unformatted-postal-address | street-address | universal-street-address | post-office-box-address | universal-post-office-box-address | poste-restante-address | universal-poste-restante-address | unique-postal-name | universal-unique-postal-name | local-postal-attributes | universal-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)) universal-common-name EXTENSION-ATTRIBUTE ::= { UniversalCommonName IDENTIFIED BY 24 } UniversalCommonName ::= UniversalOrBMPString{ub-common-name-length} teletex-organization-name EXTENSION-ATTRIBUTE ::= { TeletexOrganizationName IDENTIFIED BY 3 } TeletexOrganizationName ::= TeletexString(SIZE (1..ub-organization-name-length)) universal-organization-name EXTENSION-ATTRIBUTE ::= { UniversalOrganizationName IDENTIFIED BY 25 } UniversalOrganizationName ::= UniversalOrBMPString{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 } universal-personal-name EXTENSION-ATTRIBUTE ::= { UniversalPersonalName IDENTIFIED BY 26 } UniversalPersonalName ::= SET { surname [0] UniversalOrBMPString{ub-universal-surname-length}, -- If a language is specified within surname, then that language applies to each of the -- following optional components unless the component specifies another language. given-name [1] UniversalOrBMPString{ub-universal-given-name-length} OPTIONAL, initials [2] UniversalOrBMPString{ub-universal-initials-length} OPTIONAL, generation-qualifier [3] UniversalOrBMPString{ub-universal-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)) universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= { UniversalOrganizationalUnitNames IDENTIFIED BY 27 } UniversalOrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) OF UniversalOrganizationalUnitName -- If a unit name specifies a language, then that language applies to subordinate unit -- names unless the subordinate specifies another language. UniversalOrganizationalUnitName ::= UniversalOrBMPString{ub-organizational-unit-name-length} UniversalOrBMPString{INTEGER:ub-string-length} ::= SET { character-encoding CHOICE { two-octets BMPString(SIZE (1..ub-string-length)), four-octets UniversalString(SIZE (1..ub-string-length))}, iso-639-language-code PrintableString(SIZE (2 | 5)) OPTIONAL } 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 universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= { UniversalPhysicalDeliveryOfficeName IDENTIFIED BY 29 } UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter physical-delivery-office-number EXTENSION-ATTRIBUTE ::= { PhysicalDeliveryOfficeNumber IDENTIFIED BY 11 } PhysicalDeliveryOfficeNumber ::= PDSParameter universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= { UniversalPhysicalDeliveryOfficeNumber IDENTIFIED BY 30 } UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter extension-OR-address-components EXTENSION-ATTRIBUTE ::= { ExtensionORAddressComponents IDENTIFIED BY 12 } ExtensionORAddressComponents ::= PDSParameter universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= { UniversalExtensionORAddressComponents IDENTIFIED BY 31 } UniversalExtensionORAddressComponents ::= UniversalPDSParameter physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= { PhysicalDeliveryPersonalName IDENTIFIED BY 13 } PhysicalDeliveryPersonalName ::= PDSParameter universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= { UniversalPhysicalDeliveryPersonalName IDENTIFIED BY 32 } UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= { PhysicalDeliveryOrganizationName IDENTIFIED BY 14 } PhysicalDeliveryOrganizationName ::= PDSParameter universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= { UniversalPhysicalDeliveryOrganizationName IDENTIFIED BY 33 } UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::= { ExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 15 } ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::= { UniversalExtensionPhysicalDeliveryAddressComponents IDENTIFIED BY 34 } UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter 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 } universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= { UniversalUnformattedPostalAddress IDENTIFIED BY 35 } UniversalUnformattedPostalAddress ::= UniversalOrBMPString{ub-unformatted-address-length} street-address EXTENSION-ATTRIBUTE ::= { StreetAddress IDENTIFIED BY 17 } StreetAddress ::= PDSParameter universal-street-address EXTENSION-ATTRIBUTE ::= { UniversalStreetAddress IDENTIFIED BY 36 } UniversalStreetAddress ::= UniversalPDSParameter post-office-box-address EXTENSION-ATTRIBUTE ::= { PostOfficeBoxAddress IDENTIFIED BY 18 } PostOfficeBoxAddress ::= PDSParameter universal-post-office-box-address EXTENSION-ATTRIBUTE ::= { UniversalPostOfficeBoxAddress IDENTIFIED BY 37 } UniversalPostOfficeBoxAddress ::= UniversalPDSParameter poste-restante-address EXTENSION-ATTRIBUTE ::= { PosteRestanteAddress IDENTIFIED BY 19 } PosteRestanteAddress ::= PDSParameter universal-poste-restante-address EXTENSION-ATTRIBUTE ::= { UniversalPosteRestanteAddress IDENTIFIED BY 38 } UniversalPosteRestanteAddress ::= UniversalPDSParameter unique-postal-name EXTENSION-ATTRIBUTE ::= { UniquePostalName IDENTIFIED BY 20 } UniquePostalName ::= PDSParameter universal-unique-postal-name EXTENSION-ATTRIBUTE ::= { UniversalUniquePostalName IDENTIFIED BY 39 } UniversalUniquePostalName ::= UniversalPDSParameter local-postal-attributes EXTENSION-ATTRIBUTE ::= { LocalPostalAttributes IDENTIFIED BY 21 } LocalPostalAttributes ::= PDSParameter universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= { UniversalLocalPostalAttributes IDENTIFIED BY 40 } UniversalLocalPostalAttributes ::= UniversalPDSParameter PDSParameter ::= SET { printable-string PrintableString(SIZE (1..ub-pds-parameter-length)) OPTIONAL, teletex-string TeletexString(SIZE (1..ub-pds-parameter-length)) OPTIONAL } UniversalPDSParameter ::= UniversalOrBMPString{ub-pds-parameter-length} 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 } 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)}(0..ub-integer-options) -- 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(SIZE (1..ub-domain-defined-attribute-type-length)), value TeletexString(SIZE (1..ub-domain-defined-attribute-value-length)) } universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= { UniversalDomainDefinedAttributes IDENTIFIED BY 28 } UniversalDomainDefinedAttributes ::= SEQUENCE SIZE (1..ub-domain-defined-attributes) OF UniversalDomainDefinedAttribute UniversalDomainDefinedAttribute ::= SEQUENCE { type UniversalOrBMPString{ub-domain-defined-attribute-type-length}, value UniversalOrBMPString{ub-domain-defined-attribute-value-length} } ub-integer-options INTEGER ::= 256 ub-e163-4-number-length INTEGER ::= 15 ub-e163-4-sub-address-length INTEGER ::= 40 ub-unformatted-address-length INTEGER ::= 180 ub-pds-parameter-length INTEGER ::= 30 ub-pds-physical-address-lines INTEGER ::= 6 ub-postal-code-length INTEGER ::= 16 ub-pds-name-length INTEGER ::= 16 ub-universal-surname-length INTEGER ::= 64 ub-universal-given-name-length INTEGER ::= 40 ub-universal-initials-length INTEGER ::= 16 ub-universal-generation-qualifier-length INTEGER ::= 16 ub-common-name-length INTEGER ::= 64 ub-extension-attributes INTEGER ::= 256 ub-domain-defined-attribute-type-length INTEGER ::= 8 ub-domain-defined-attribute-value-length INTEGER ::= 128 ub-domain-defined-attributes INTEGER ::= 4 ub-organizational-unit-name-length INTEGER ::= 32 ub-organizational-units INTEGER ::= 4 ub-generation-qualifier-length INTEGER ::= 3 ub-initials-length INTEGER ::= 5 ub-given-name-length INTEGER ::= 16 ub-surname-length INTEGER ::= 40 ub-numeric-user-id-length INTEGER ::= 32 ub-organization-name-length INTEGER ::= 64 ub-terminal-id-length INTEGER ::= 24 ub-x121-address-length INTEGER ::= 16 ub-domain-name-length INTEGER ::= 16 ub-country-name-alpha-length INTEGER ::= 2 ub-country-name-numeric-length INTEGER ::= 3 END -- MTSAbstractService