1AuthorityKeyIdentifierDefinition DEFINITIONS ::=
2BEGIN
3AuthorityKeyIdentifier ::= SEQUENCE {
4    keyIdentifier             [0] IMPLICIT KeyIdentifier            OPTIONAL,
5    authorityCertIssuer       [1] IMPLICIT GeneralNames             OPTIONAL,
6    authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber  OPTIONAL }
7    -- authorityCertIssuer and authorityCertSerialNumber MUST both
8    -- be present or both be absent
9
10KeyIdentifier ::= OCTET STRING
11
12CertificateSerialNumber ::= INTEGER
13
14GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
15
16GeneralName ::= CHOICE {
17        otherName                       [0]     OtherName,
18        rfc822Name                      [1]     IA5String,
19        dNSName                         [2]     IA5String,
20        x400Address                     [3]     ORAddress,
21        directoryName                   [4]     Name,
22        ediPartyName                    [5]     EDIPartyName,
23        uniformResourceIdentifier       [6]     IA5String,
24        iPAddress                       [7]     OCTET STRING,
25        registeredID                    [8]     OBJECT IDENTIFIER }
26
27OtherName ::= SEQUENCE {
28        type-id    OBJECT IDENTIFIER,
29        value      [0] EXPLICIT ANY DEFINED BY type-id }
30
31EDIPartyName ::= SEQUENCE {
32        nameAssigner            [0]     DirectoryString OPTIONAL,
33        partyName               [1]     DirectoryString }
34
35-- following ORAddress may not conform original def. in ASN.1
36ORAddress ::= SEQUENCE {
37-- built-in-standard-attributes BuiltInStandardAttributes,
38	type-id	OBJECT IDENTIFIER,
39-- built-in-domain-defined-attributes
40	value	ANY DEFINED BY type-id,
41-- BuiltInDomainDefinedAttributes OPTIONAL,
42-- see also teletex-domain-defined-attributes
43--extension-attributes ExtensionAttributes OPTIONAL }
44	extension	OCTET STRING OPTIONAL }
45
46
47Name ::= CHOICE {
48     rdnSequence	RDNSequence }
49
50RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
51
52RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
53
54AttributeTypeAndValue ::= SEQUENCE {
55     type     OBJECT IDENTIFIER,
56     value    ANY DEFINED BY type}
57
58DirectoryString ::= CHOICE {
59	teletexString	TeletexString (SIZE (1..MAX)),
60	printableString	PrintableString (SIZE (1..MAX)),
61	universalString	UniversalString (SIZE (1..MAX)),
62	utf8String	UTF8String (SIZE (1..MAX)),
63	bmpString	BMPString (SIZE (1..MAX)) }
64
65END
66