Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / kerberos / RFC6113.asn
blob0a3b7321c34da67c527361a31c68968642c9ad20
1 -- Extracted from RFC 6113
3 KerberosPreauthFramework {
4         iso(1) identified-organization(3) dod(6) internet(1)
5         security(5) kerberosV5(2) modules(4) preauth-framework(3)
6 } DEFINITIONS EXPLICIT TAGS ::= BEGIN
8 IMPORTS
9         KerberosTime, PrincipalName, Realm, EncryptionKey, Checksum,
10         Int32, EncryptedData, PA-ENC-TS-ENC, PA-DATA, KDC-REQ-BODY,
11         Microseconds, KerberosFlags, UInt32
12                 FROM KerberosV5Spec2 { iso(1) identified-organization(3)
13                         dod(6) internet(1) security(5) kerberosV5(2)
14                         modules(4) krb5spec2(2) };
15                         -- as defined in RFC 4120.
17 PA-AUTHENTICATION-SET ::= SEQUENCE OF PA-AUTHENTICATION-SET-ELEM
19 PA-AUTHENTICATION-SET-ELEM ::= SEQUENCE {
20         pa-type      [0] PADATA-TYPE, -- use k5.asn Int32,
21                 -- same as padata-type.
22         pa-hint      [1] OCTET STRING OPTIONAL,
23         pa-value     [2] OCTET STRING OPTIONAL,
24         ...
27 KrbFastArmorTypes ::= INTEGER {
28         fX-FAST-reserved(0),
29         fX-FAST-ARMOR-AP-REQUEST(1) -- [RFC6113]
32 KrbFastArmor ::= SEQUENCE {
33         armor-type   [0] KrbFastArmorTypes,
34                 -- Type of the armor.
35         armor-value  [1] OCTET STRING,
36                 -- Value of the armor.
37         ...
40 PA-FX-FAST-REQUEST ::= CHOICE {
41         armored-data [0] KrbFastArmoredReq,
42         ...
45 EncryptedKrbFastReq   ::= SEQUENCE {
46         etype   [0] ENCTYPE -- EncryptionType --,
47         kvno    [1] UInt32 OPTIONAL,
48         cipher  [2] OCTET STRING -- ciphertext
51 KrbFastArmoredReq ::= SEQUENCE {
52         armor        [0] KrbFastArmor OPTIONAL,
53                 -- Contains the armor that identifies the armor key.
54                 -- MUST be present in AS-REQ.
55         req-checksum [1] Checksum,
56                 -- For AS, contains the checksum performed over the type
57                 -- KDC-REQ-BODY for the req-body field of the KDC-REQ
58                 -- structure;
59                 -- For TGS, contains the checksum performed over the type
60                 -- AP-REQ in the PA-TGS-REQ padata.
61                 -- The checksum key is the armor key, the checksum
62                 -- type is the required checksum type for the enctype of
63                 -- the armor key, and the key usage number is
64                 -- KEY_USAGE_FAST_REQ_CHKSUM.
65         enc-fast-req [2] EncryptedKrbFastReq, -- KrbFastReq --
66                 -- The encryption key is the armor key, and the key usage
67                 -- number is KEY_USAGE_FAST_ENC.
68         ...
71 KrbFastReq ::= SEQUENCE {
72         fast-options [0] FastOptions,
73                 -- Additional options.
74         padata       [1] SEQUENCE OF PA-DATA,
75                 -- padata typed holes.
76         req-body     [2] KDC-REQ-BODY,
77                 -- Contains the KDC request body as defined in Section
78                 -- 5.4.1 of [RFC4120].
79                 -- This req-body field is preferred over the outer field
80                 -- in the KDC request.
81                 ...
84 FastOptions ::= BIT STRING {
85         reserved(0),
86         hide-client-names(1),
87         kdc-follow-referrals(16)
88 } (SIZE (32..MAX)) -- KerberosFlags
90 PA-FX-FAST-REPLY ::= CHOICE {
91         armored-data [0] KrbFastArmoredRep,
92         ...
95 EncryptedKrbFastResponse   ::= SEQUENCE {
96         etype   [0] ENCTYPE -- EncryptionType --,
97         kvno    [1] UInt32 OPTIONAL,
98         cipher  [2] OCTET STRING -- ciphertext
101 KrbFastArmoredRep ::= SEQUENCE {
102         enc-fast-rep      [0] EncryptedKrbFastResponse, -- KrbFastResponse --
103                 -- The encryption key is the armor key in the request, and
104                 -- the key usage number is KEY_USAGE_FAST_REP.
105         ...
108 KrbFastResponse ::= SEQUENCE {
109         padata         [0] SEQUENCE OF PA-DATA,
110                 -- padata typed holes.
111         strengthen-key [1] EncryptionKey OPTIONAL,
112                 -- This, if present, strengthens the reply key for AS and
113                 -- TGS.  MUST be present for TGS
114                 -- MUST be absent in KRB-ERROR.
115         finished       [2] KrbFastFinished OPTIONAL,
116                 -- Present in AS or TGS reply; absent otherwise.
117         nonce          [3] UInt32,
118                 -- Nonce from the client request.
119         ...
122 KrbFastFinished ::= SEQUENCE {
123         timestamp       [0] KerberosTime,
124         usec            [1] Microseconds,
125                 -- timestamp and usec represent the time on the KDC when
126                 -- the reply was generated.
127         crealm          [2] Realm,
128         cname           [3] PrincipalName,
129                 -- Contains the client realm and the client name.
130         ticket-checksum [4] Checksum,
131                 -- checksum of the ticket in the KDC-REP  using the armor
132                 -- and the key usage is KEY_USAGE_FAST_FINISH.
133                 -- The checksum type is the required checksum type
134                 -- of the armor key.
135         ...
138 EncryptedChallenge ::= SEQUENCE {
139         etype   [0] ENCTYPE -- EncryptionType --,
140         kvno    [1] UInt32 OPTIONAL,
141         cipher  [2] OCTET STRING -- ciphertext
143                 -- Encrypted PA-ENC-TS-ENC, encrypted in the challenge key
144                 -- using key usage KEY_USAGE_ENC_CHALLENGE_CLIENT for the
145                 -- client and KEY_USAGE_ENC_CHALLENGE_KDC for the KDC.