📄 draft-ietf-pkix-new-part1-asn1-01.txt
字号:
INTERNET DRAFT April 2002AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } -- contains a value of the type -- registered for use with the -- algorithm object identifier value-- X.400 address syntax starts hereORAddress ::= SEQUENCE { built-in-standard-attributes BuiltInStandardAttributes, built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL, -- see also teletex-domain-defined-attributes extension-attributes ExtensionAttributes OPTIONAL }-- Built-in Standard AttributesBuiltInStandardAttributes ::= SEQUENCE { country-name CountryName OPTIONAL, administration-domain-name AdministrationDomainName OPTIONAL, network-address [0] IMPLICIT NetworkAddress OPTIONAL, -- see also extended-network-address terminal-identifier [1] IMPLICIT TerminalIdentifier OPTIONAL, private-domain-name [2] PrivateDomainName OPTIONAL, organization-name [3] IMPLICIT OrganizationName OPTIONAL, -- see also teletex-organization-name numeric-user-identifier [4] IMPLICIT NumericUserIdentifier OPTIONAL, personal-name [5] IMPLICIT PersonalName OPTIONAL, -- see also teletex-personal-name organizational-unit-names [6] IMPLICIT OrganizationalUnitNames OPTIONAL } -- see also teletex-organizational-unit-namesCountryName ::= [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-addressX121Address ::= NumericString (SIZE (1..ub-x121-address-length))Housley & Polk [Page 9]INTERNET DRAFT April 2002TerminalIdentifier ::= 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-nameNumericUserIdentifier ::= NumericString (SIZE (1..ub-numeric-user-id-length))PersonalName ::= SET { surname [0] IMPLICIT PrintableString (SIZE (1..ub-surname-length)), given-name [1] IMPLICIT PrintableString (SIZE (1..ub-given-name-length)) OPTIONAL, initials [2] IMPLICIT PrintableString (SIZE (1..ub-initials-length)) OPTIONAL, generation-qualifier [3] IMPLICIT PrintableString (SIZE (1..ub-generation-qualifier-length)) OPTIONAL } -- see also teletex-personal-nameOrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationalUnitName -- see also teletex-organizational-unit-namesOrganizationalUnitName ::= PrintableString (SIZE (1..ub-organizational-unit-name-length))-- Built-in Domain-defined AttributesBuiltInDomainDefinedAttributes ::= SEQUENCE SIZE (1..ub-domain-defined-attributes) OF BuiltInDomainDefinedAttributeBuiltInDomainDefinedAttribute ::= SEQUENCE { type PrintableString (SIZE (1..ub-domain-defined-attribute-type-length)), value PrintableString (SIZE (1..ub-domain-defined-attribute-value-length)) }-- Extension AttributesExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF ExtensionAttributeHousley & Polk [Page 10]INTERNET DRAFT April 2002ExtensionAttribute ::= SEQUENCE { extension-attribute-type [0] IMPLICIT INTEGER (0..ub-extension-attributes), extension-attribute-value [1] ANY DEFINED BY extension-attribute-type }-- Extension types and attribute valuescommon-name INTEGER ::= 1CommonName ::= PrintableString (SIZE (1..ub-common-name-length))teletex-common-name INTEGER ::= 2TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))teletex-organization-name INTEGER ::= 3TeletexOrganizationName ::= TeletexString (SIZE (1..ub-organization-name-length))teletex-personal-name INTEGER ::= 4TeletexPersonalName ::= SET { surname [0] IMPLICIT TeletexString (SIZE (1..ub-surname-length)), given-name [1] IMPLICIT TeletexString (SIZE (1..ub-given-name-length)) OPTIONAL, initials [2] IMPLICIT TeletexString (SIZE (1..ub-initials-length)) OPTIONAL, generation-qualifier [3] IMPLICIT TeletexString (SIZE (1..ub-generation-qualifier-length)) OPTIONAL }teletex-organizational-unit-names INTEGER ::= 5TeletexOrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) OF TeletexOrganizationalUnitNameTeletexOrganizationalUnitName ::= TeletexString (SIZE (1..ub-organizational-unit-name-length))pds-name INTEGER ::= 7PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))physical-delivery-country-name INTEGER ::= 8Housley & Polk [Page 11]INTERNET DRAFT April 2002PhysicalDeliveryCountryName ::= CHOICE { x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)), iso-3166-alpha2-code PrintableString (SIZE (ub-country-name-alpha-length)) }postal-code INTEGER ::= 9PostalCode ::= CHOICE { numeric-code NumericString (SIZE (1..ub-postal-code-length)), printable-code PrintableString (SIZE (1..ub-postal-code-length)) }physical-delivery-office-name INTEGER ::= 10PhysicalDeliveryOfficeName ::= PDSParameterphysical-delivery-office-number INTEGER ::= 11PhysicalDeliveryOfficeNumber ::= PDSParameterextension-OR-address-components INTEGER ::= 12ExtensionORAddressComponents ::= PDSParameterphysical-delivery-personal-name INTEGER ::= 13PhysicalDeliveryPersonalName ::= PDSParameterphysical-delivery-organization-name INTEGER ::= 14PhysicalDeliveryOrganizationName ::= PDSParameterextension-physical-delivery-address-components INTEGER ::= 15ExtensionPhysicalDeliveryAddressComponents ::= PDSParameterunformatted-postal-address INTEGER ::= 16UnformattedPostalAddress ::= 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 INTEGER ::= 17StreetAddress ::= PDSParameterpost-office-box-address INTEGER ::= 18Housley & Polk [Page 12]INTERNET DRAFT April 2002PostOfficeBoxAddress ::= PDSParameterposte-restante-address INTEGER ::= 19PosteRestanteAddress ::= PDSParameterunique-postal-name INTEGER ::= 20UniquePostalName ::= PDSParameterlocal-postal-attributes INTEGER ::= 21LocalPostalAttributes ::= PDSParameterPDSParameter ::= SET { printable-string PrintableString (SIZE(1..ub-pds-parameter-length)) OPTIONAL, teletex-string TeletexString (SIZE(1..ub-pds-parameter-length)) OPTIONAL }extended-network-address INTEGER ::= 22ExtendedNetworkAddress ::= CHOICE { e163-4-address SEQUENCE { number [0] IMPLICIT NumericString (SIZE (1..ub-e163-4-number-length)), sub-address [1] IMPLICIT NumericString (SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL }, psap-address [0] IMPLICIT 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 INTEGER ::= 23TerminalType ::= INTEGER { telex (3), teletex (4), g3-facsimile (5), g4-facsimile (6), ia5-terminal (7), videotex (8) } (0..ub-integer-options)Housley & Polk [Page 13]INTERNET DRAFT April 2002-- Extension Domain-defined Attributesteletex-domain-defined-attributes INTEGER ::= 6TeletexDomainDefinedAttributes ::= SEQUENCE SIZE (1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttributeTeletexDomainDefinedAttribute ::= SEQUENCE { type TeletexString (SIZE (1..ub-domain-defined-attribute-type-length)), value TeletexString (SIZE (1..ub-domain-defined-attribute-value-length)) }-- specifications of Upper Bounds MUST be regarded as mandatory-- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter-- Upper Bounds-- Upper Boundsub-name INTEGER ::= 32768ub-common-name INTEGER ::= 64ub-locality-name INTEGER ::= 128ub-state-name INTEGER ::= 128ub-organization-name INTEGER ::= 64ub-organizational-unit-name INTEGER ::= 64ub-title INTEGER ::= 64ub-serial-number INTEGER ::= 64ub-match INTEGER ::= 128ub-emailaddress-length INTEGER ::= 128ub-common-name-length INTEGER ::= 64ub-country-name-alpha-length INTEGER ::= 2ub-country-name-numeric-length INTEGER ::= 3ub-domain-defined-attributes INTEGER ::= 4ub-domain-defined-attribute-type-length INTEGER ::= 8ub-domain-defined-attribute-value-length INTEGER ::= 128ub-domain-name-length INTEGER ::= 16ub-extension-attributes INTEGER ::= 256ub-e163-4-number-length INTEGER ::= 15ub-e163-4-sub-address-length INTEGER ::= 40ub-generation-qualifier-length INTEGER ::= 3ub-given-name-length INTEGER ::= 16ub-initials-length INTEGER ::= 5ub-integer-options INTEGER ::= 256ub-numeric-user-id-length INTEGER ::= 32ub-organization-name-length INTEGER ::= 64ub-organizational-unit-name-length INTEGER ::= 32ub-organizational-units INTEGER ::= 4ub-pds-name-length INTEGER ::= 16ub-pds-parameter-length INTEGER ::= 30Housley & Polk [Page 14]INTERNET DRAFT April 2002ub-pds-physical-address-lines INTEGER ::= 6ub-postal-code-length INTEGER ::= 16ub-pseudonym INTEGER ::= 128ub-surname-length INTEGER ::= 40ub-terminal-id-length INTEGER ::= 24ub-unformatted-address-length INTEGER ::= 180ub-x121-address-length INTEGER ::= 16-- Note - upper bounds on string types, such as TeletexString, are-- measured in characters. Excepting PrintableString or IA5String, 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 for TeletexString.-- For UTF8String or UniversalString at least four times the upper-- bound should be allowed.ENDHousley & Polk [Page 15]INTERNET DRAFT April 2002A.2 Implicitly Tagged Module, 1988 SyntaxPKIX1Implicit88 { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19) }DEFINITIONS IMPLICIT TAGS ::=BEGIN-- EXPORTS ALL --IMPORTS id-pe, id-kp, id-qt-unotice, id-qt-cps, -- delete following line if "new" types are supported -- BMPString, UTF8String, -- end "new" types -- ORAddress, Name, RelativeDistinguishedName, CertificateSerialNumber, Attribute, DirectoryString FROM PKIX1Explicit88 { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) };-- ISO arc for standard certificate and CRL extensionsid-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}-- authority key identifier OID and syntaxid-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }AuthorityKeyIdentifier ::= SEQUENCE { keyIdentifier [0] KeyIdentifier OPTIONAL, authorityCertIssuer [1] GeneralNames OPTIONAL, authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL } -- authorityCertIssuer and authorityCertSerialNumber MUST both -- be present or both be absentKeyIdentifier ::= OCTET STRING-- subject key identifier OID and syntaxid-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 }SubjectKeyIdentifier ::= KeyIdentifier-- key usage extension OID and syntaxid-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }Housley & Polk [Page 16]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -