Witness: enum witness_notifyResponse_type
[wireshark-wip.git] / asn1 / pkinit / PKINIT.asn
blob2af0321a84bae3077cc82b380fa633314e38adde
1 --NOTE: we have to accomodate BOTH existing users of early drafts, such as
2 --packetcable as well as new users once the protocol is standardized.
3 --
4 --This asn1 file is based on draft-ietf-cat-kerberos-pk-init-20.txt
5 --but has been modified to acocmodate the Wireshark asn2wrs compiler
6 --and our environment
7 --
8 --new structures are uncommented and added on demand as they are required
9 --
10 --Copyright (C) The Internet Society (2004).  This document is subject
11 --to the rights, licenses and restrictions contained in BCP 78, and
12 --except as set forth therein, the authors retain all their rights.
15 --This document and the information contained herein are provided on an
16 --"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
17 --OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
18 --ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
19 --INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
20 --INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
21 --WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
24 KerberosV5-PK-INIT-SPEC {
25            iso(1) identified-organization(3) dod(6) internet(1)
26            security(5) kerberosV5(2) modules(4) pkinit(5) } 
27 DEFINITIONS EXPLICIT TAGS ::= 
28 BEGIN
31     IMPORTS
32         SubjectPublicKeyInfo, AlgorithmIdentifier, Name
33             FROM PKIX1Explicit88 { iso (1) identified-organization (3)
34               dod (6) internet (1) security (5) mechanisms (5)
35               pkix (7) id-mod (0) id-pkix1-explicit (18) }
38         ContentInfo, IssuerAndSerialNumber
39             FROM CryptographicMessageSyntax { iso(1) member-body(2)
40               us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)
41               modules(0) cms(1) }
44         KerberosTime, Checksum, TYPED-DATA, PrincipalName, Realm, EncryptionKey
45             FROM KerberosV5Spec2 { iso(1) identified-organization(3)
46               dod(6) internet(1) security(5) kerberosV5(2) modules(4)
47               krb5spec2(2) } ;
50 --    id-pkinit  OBJECT IDENTIFIER ::=
51 --      { iso (1) org (3) dod (6) internet (1) security (5)
52 --        kerberosv5 (2) pkinit (3) }
55 --    id-pkauthdata  OBJECT IDENTIFIER  ::= { id-pkinit 1 }
56 --    id-pkdhkeydata  OBJECT IDENTIFIER  ::= { id-pkinit 2 }
57 --    id-pkrkeydata  OBJECT IDENTIFIER  ::= { id-pkinit 3 }
58 --    id-pkekuoid  OBJECT IDENTIFIER  ::= { id-pkinit 4 }
59 --    id-pkkdcekuoid  OBJECT IDENTIFIER  ::= { id-pkinit 5 }
62 --    pa-pk-as-req INTEGER ::=                 TBD
63 --    pa-pk-as-rep INTEGER ::=                 TBD
64 --    pa-pk-ocsp-req INTEGER ::=               TBD
65 --    pa-pk-ocsp-rep INTEGER ::=               TBD
68 --    ad-initial-verified-cas INTEGER ::=      TBD
71 --    td-dh-parameters INTEGER ::=             TBD
72 --    td-trusted-certifiers INTEGER ::=        104
73 --    td-certificate-index INTEGER ::=         105
76 PaPkAsReq ::= SEQUENCE {
77     signedAuthPack          [0] ContentInfo,
78     trustedCertifiers       [1] SEQUENCE OF TrustedCA OPTIONAL,
79     kdcCert                 [2] IssuerAndSerialNumber OPTIONAL,
80     ...
84 TrustedCA ::= CHOICE {
85     caName                  [0] Name,
86     issuerAndSerial         [2] IssuerAndSerialNumber,
87     ...
91 AuthPack ::= SEQUENCE {
92     pkAuthenticator         [0] PKAuthenticator,
93     clientPublicValue       [1] SubjectPublicKeyInfo OPTIONAL,
94     supportedCMSTypes       [2] SEQUENCE OF AlgorithmIdentifier
95                                 OPTIONAL,
96     ...
100 PKAuthenticator ::= SEQUENCE {
101     cusec                   [0] INTEGER,
102     ctime                   [1] KerberosTime,
103     nonce                   [2] INTEGER (0..4294967295),
104     paChecksum              [3] Checksum,
105     ...
109 --    TrustedCertifiers ::= SEQUENCE OF Name
112 --    CertificateIndex ::= IssuerAndSerialNumber
115 KRB5PrincipalName ::= SEQUENCE {
116     realm                   [0] Realm,
117     principalName           [1] PrincipalName
121 --    InitialVerifiedCAs ::= SEQUENCE OF SEQUENCE {
122 --        ca                      [0] Name,
123 --        validated               [1] BOOLEAN,
124 --        ...
125 --    }
128 PaPkAsRep ::= CHOICE {
129       dhSignedData            [0] ContentInfo,
130       encKeyPack              [1] ContentInfo,
131       ...
135 KDCDHKeyInfo ::= SEQUENCE {
136     subjectPublicKey        [0] BIT STRING,
137     nonce                   [1] INTEGER,
138     dhKeyExpiration         [2] KerberosTime OPTIONAL,
139     ...
143 --    ReplyKeyPack ::= SEQUENCE {
144 --        replyKey                [0] EncryptionKey,
145 --        nonce                   [1] INTEGER (0..4294967295),
146 --        ...
147 --    }