1use crate::{EncryptedData, Int32, PrincipalName, Realm};
2use red_asn1::Asn1Object;
3use red_asn1_derive::Sequence;
4
5#[derive(Sequence, Default, Debug, Clone, PartialEq)]
16#[seq(application_tag = 1)]
17pub struct Ticket {
18    #[seq_field(context_tag = 0)]
19    pub tkt_vno: Int32,
20    #[seq_field(context_tag = 1)]
21    pub realm: Realm,
22    #[seq_field(context_tag = 2)]
23    pub sname: PrincipalName,
24    #[seq_field(context_tag = 3)]
25    pub enc_part: EncryptedData,
26}
27
28impl Ticket {
29    pub fn new(
30        realm: Realm,
31        sname: PrincipalName,
32        enc_part: EncryptedData,
33    ) -> Self {
34        return Self {
35            tkt_vno: 5,
36            realm,
37            sname,
38            enc_part,
39        };
40    }
41}
42
43#[cfg(test)]
44mod test {
45    use super::*;
46    use kerberos_constants::etypes::*;
47    use kerberos_constants::principal_names::*;
48
49    #[test]
50    fn test_parse_ticket() {
51        let mut principal_name =
52            PrincipalName::new(NT_SRV_INST, "krbtgt".to_string());
53        principal_name.push("KINGDOM.HEARTS".to_string());
54
55        let mut encrypted_data = EncryptedData::new(
56            AES256_CTS_HMAC_SHA1_96,
57            None,
58            vec![
59                0x4e, 0xc1, 0x75, 0x6d, 0x5e, 0xf6, 0x84, 0x18, 0x5f, 0x33,
60                0x21, 0x24, 0x54, 0x02, 0x40, 0x79, 0x23, 0x48, 0x2f, 0x39,
61                0xdd, 0x5a, 0xa1, 0x68, 0x79, 0x3f, 0x1a, 0x33, 0x0f, 0xcd,
62                0xe3, 0xe6, 0x3d, 0x0a, 0x3b, 0x39, 0x22, 0xd3, 0x6c, 0xb5,
63                0x89, 0xd3, 0x8f, 0xcb, 0x4a, 0xbe, 0x8f, 0xcb, 0xae, 0x72,
64                0x96, 0x7f, 0x98, 0x7c, 0x4d, 0x52, 0xbd, 0xa9, 0xae, 0xe6,
65                0xd1, 0x1c, 0x21, 0x9c, 0x2b, 0x7f, 0x2b, 0xd8, 0x29, 0xd6,
66                0x6a, 0x82, 0x5d, 0xaf, 0x0a, 0x51, 0x94, 0xd5, 0x00, 0xfa,
67                0x4d, 0xf1, 0x78, 0x88, 0x6d, 0xbf, 0x5f, 0x5e, 0x7c, 0x5a,
68                0xd0, 0xf6, 0x74, 0xac, 0x14, 0x58, 0xbf, 0x6c, 0xeb, 0xa1,
69                0x1a, 0xaa, 0x5b, 0x65, 0x4c, 0x16, 0x9c, 0xcc, 0xa5, 0xb1,
70                0x2c, 0x43, 0x1d, 0x05, 0x71, 0xa9, 0x05, 0xd7, 0x9e, 0x86,
71                0x50, 0x44, 0xeb, 0x9e, 0x33, 0x2d, 0xad, 0x21, 0xc9, 0x2e,
72                0x37, 0x67, 0x46, 0x13, 0xa5, 0x96, 0x30, 0xbf, 0x9e, 0xfa,
73                0x55, 0x80, 0x7f, 0x9b, 0x8d, 0x53, 0xe3, 0x08, 0xf0, 0xa9,
74                0xfe, 0x88, 0xd8, 0xa9, 0x16, 0xcb, 0x02, 0xa6, 0x63, 0x1e,
75                0x89, 0xa2, 0xf2, 0xe1, 0x86, 0x8f, 0x50, 0x89, 0x34, 0xa2,
76                0x9f, 0x64, 0xd6, 0xe5, 0x9c, 0x67, 0xf0, 0x56, 0xbb, 0x0d,
77                0xbb, 0xaf, 0x1d, 0xd8, 0xf3, 0xc5, 0xc7, 0xb9, 0xa0, 0x24,
78                0xeb, 0x0b, 0x87, 0x0f, 0x40, 0x7e, 0xdd, 0xe7, 0x88, 0xeb,
79                0xd2, 0x7e, 0xa3, 0x93, 0xc9, 0xc4, 0x1b, 0x5a, 0xf1, 0xf5,
80                0x54, 0x09, 0xc6, 0x38, 0x9f, 0xd2, 0x02, 0xaa, 0x5c, 0xf3,
81                0x17, 0x4e, 0x29, 0x97, 0xaf, 0xc2, 0xf2, 0xe3, 0x00, 0xb1,
82                0x49, 0x7d, 0x97, 0x3f, 0x49, 0xe3, 0xf7, 0x0b, 0x5b, 0x76,
83                0xc8, 0x89, 0x3c, 0xff, 0x27, 0x4a, 0x7a, 0x80, 0xe1, 0x67,
84                0x6e, 0xb0, 0xc2, 0x35, 0xf9, 0xaa, 0xb7, 0x65, 0x3e, 0x8c,
85                0x8d, 0x2a, 0x69, 0x9a, 0xdc, 0xeb, 0x53, 0x7d, 0xd9, 0xc8,
86                0x5d, 0xa5, 0x1c, 0x5f, 0xab, 0x52, 0xf5, 0x35, 0xd9, 0x76,
87                0x5f, 0x7b, 0x63, 0xd7, 0x35, 0x30, 0x52, 0x94, 0x2c, 0x37,
88                0x99, 0x9b, 0x5a, 0x83, 0x37, 0x5d, 0x52, 0x85, 0xc0, 0x8b,
89                0xa1, 0xac, 0xe6, 0xcc, 0x64, 0x51, 0x23, 0x7f, 0x21, 0x47,
90                0x95, 0x6d, 0xb7, 0xcb, 0x45, 0x78, 0xf4, 0xbf, 0xd9, 0x26,
91                0x3c, 0x82, 0xc5, 0x64, 0x75, 0x7a, 0x8f, 0x3f, 0xa1, 0x46,
92                0x3d, 0x4e, 0x4d, 0x11, 0xee, 0xf1, 0xae, 0xc4, 0x3a, 0x09,
93                0xa8, 0xfc, 0x89, 0x1f, 0x37, 0xe0, 0xe4, 0xf5, 0x44, 0x33,
94                0xa5, 0xec, 0xbb, 0xf5, 0x0e, 0xc0, 0x1d, 0x54, 0x52, 0x41,
95                0xc4, 0xf8, 0x65, 0xc7, 0x3d, 0x10, 0xab, 0x4b, 0x90, 0x28,
96                0xb1, 0x62, 0x85, 0x5d, 0xf1, 0xd7, 0xe0, 0xd2, 0x0f, 0x12,
97                0x51, 0x2f, 0x0d, 0xc5, 0x9f, 0xab, 0x8b, 0x93, 0x2f, 0x72,
98                0xb4, 0x74, 0xdd, 0xdd, 0x29, 0x0a, 0x6f, 0xa7, 0x2a, 0xc1,
99                0x82, 0x5e, 0xfc, 0xb2, 0x27, 0x3f, 0xa0, 0x7d, 0xce, 0xd2,
100                0x40, 0x13, 0xcb, 0x0a, 0xde, 0x0d, 0xc5, 0xc4, 0x45, 0x1f,
101                0x62, 0xfb, 0x5a, 0xd6, 0x3d, 0x91, 0x44, 0x85, 0x0c, 0x11,
102                0x76, 0x6a, 0x6f, 0x65, 0x3b, 0xc8, 0x67, 0x06, 0x36, 0x6d,
103                0x01, 0x3d, 0xdb, 0x22, 0x03, 0x75, 0xc5, 0xb2, 0x56, 0xf3,
104                0xed, 0x6c, 0x25, 0x2d, 0x7d, 0x21, 0xc1, 0xa5, 0xb6, 0xe6,
105                0x3c, 0xbd, 0xb8, 0x16, 0x0a, 0x36, 0x6e, 0x60, 0x9c, 0xd6,
106                0x23, 0x53, 0x2b, 0xbc, 0x14, 0xbe, 0xfd, 0x1b, 0x57, 0xbb,
107                0x0b, 0xfd, 0x7e, 0x65, 0xe3, 0xc7, 0x00, 0x56, 0x6a, 0x9f,
108                0xf4, 0xf3, 0x83, 0xae, 0x2f, 0x4c, 0xe6, 0x68, 0x80, 0x8d,
109                0x55, 0x0f, 0xfa, 0x87, 0xbf, 0xcc, 0x62, 0xe4, 0xa8, 0x37,
110                0xe2, 0x04, 0x1f, 0xc3, 0x4b, 0x39, 0xb2, 0x70, 0x88, 0x2e,
111                0x4c, 0x89, 0xfb, 0x3d, 0x74, 0xae, 0x82, 0xf8, 0xea, 0x9c,
112                0x7d, 0xf1, 0x78, 0x22, 0xac, 0x2f, 0x96, 0x52, 0x13, 0x1b,
113                0x8b, 0xcc, 0x01, 0x17, 0x9d, 0xff, 0x4f, 0x1f, 0xeb, 0x3d,
114                0x97, 0xea, 0x2a, 0x0c, 0xd6, 0x0c, 0x5c, 0x7a, 0x41, 0x1f,
115                0x6e, 0x5b, 0x9b, 0x5d, 0x16, 0xb8, 0x0c, 0x08, 0x93, 0x51,
116                0xa4, 0xb9, 0x4a, 0xe9, 0x4c, 0x3a, 0x60, 0x88, 0x74, 0xf0,
117                0xa8, 0xb5, 0x2a, 0x9f, 0x34, 0x6f, 0xad, 0x8a, 0xed, 0xc2,
118                0x9e, 0x38, 0xdc, 0x74, 0x33, 0x62, 0x6b, 0x4e, 0x1d, 0x82,
119                0x92, 0xa8, 0xd2, 0xda, 0x86, 0x9d, 0x90, 0xcb, 0x6b, 0x19,
120                0x07, 0x56, 0xa3, 0x59, 0x10, 0x57, 0x89, 0xd1, 0x00, 0xcc,
121                0x94, 0x7c, 0xcd, 0x0c, 0xdc, 0x74, 0xfb, 0x5f, 0xe4, 0x6f,
122                0x73, 0x1e, 0xa8, 0x8e, 0xad, 0x31, 0x0d, 0x07, 0xe7, 0x8d,
123                0x23, 0xf9, 0x8f, 0xed, 0x04, 0x2b, 0x47, 0x3f, 0x54, 0xcb,
124                0xbb, 0x0b, 0xf8, 0xc6, 0x32, 0xd5, 0x7d, 0x20, 0x92, 0xfd,
125                0xa6, 0xba, 0x75, 0x02, 0x42, 0x5a, 0x72, 0xa4, 0xdf, 0xd0,
126                0x0a, 0xb0, 0x33, 0x80, 0xf1, 0xea, 0x15, 0x3d, 0x5f, 0xae,
127                0xcf, 0x1f, 0xcc, 0x44, 0xb5, 0x5f, 0x69, 0x9f, 0x90, 0x40,
128                0xf0, 0x6e, 0xc9, 0x9a, 0x63, 0x52, 0x97, 0x1e, 0xed, 0xc8,
129                0x05, 0x12, 0xb2, 0xfb, 0xad, 0xe1, 0x13, 0xa5, 0x39, 0x53,
130                0x88, 0xaf, 0xcf, 0xbe, 0x01, 0x4a, 0x65, 0x62, 0xf0, 0x35,
131                0x2f, 0x76, 0x9a, 0x8b, 0xc3, 0xbc, 0x43, 0x5b, 0xc4, 0x91,
132                0xcc, 0x04, 0xfe, 0xcc, 0xc4, 0xf5, 0xa3, 0x27, 0x88, 0x97,
133                0x49, 0xca, 0xe2, 0x33, 0x1d, 0xff, 0x96, 0x33, 0x4b, 0x50,
134                0x49, 0x86, 0xdc, 0x65, 0x9f, 0x55, 0xc1, 0xb6, 0x85, 0xe5,
135                0x9f, 0x3d, 0xd1, 0x87, 0x84, 0xd8, 0x08, 0x9f, 0x03, 0x4c,
136                0xc7, 0xa8, 0x8b, 0x59, 0xb7, 0x58, 0xd2, 0x10, 0x1c, 0x3f,
137                0xf9, 0x2d, 0x5f, 0x37, 0x5c, 0x70, 0x90, 0x84, 0xea, 0x4b,
138                0x37, 0x55, 0x9c, 0x12, 0x2d, 0xa4, 0xb2, 0x75, 0x5d, 0x37,
139                0xfc, 0x7c, 0xa7, 0x19, 0xb4, 0x88, 0xba, 0xf3, 0xea, 0xe2,
140                0xf1, 0xa2, 0xe3, 0x23, 0xd6, 0x5e, 0x6e, 0xf8, 0x37, 0x61,
141                0xf2, 0xec, 0xd8, 0x17, 0x19, 0xa3, 0x69, 0xbd, 0xd8, 0x51,
142                0x17, 0x37, 0xa3, 0xc6, 0x8f, 0x26, 0xf1, 0x19, 0x6f, 0xf4,
143                0xf9, 0xdb, 0x09, 0xef, 0x70, 0x88, 0x81, 0x78, 0xfd, 0x2e,
144                0x60, 0xdb, 0xdf, 0x6e, 0xe9, 0xf6, 0xef, 0xb0, 0x7e, 0x75,
145                0xc5, 0x18, 0x39, 0xdc, 0x4b, 0x33, 0xda, 0x51, 0xad, 0xe4,
146                0x7b, 0x7d, 0x46, 0xd2, 0x39, 0x62, 0xf1, 0x71, 0x4c, 0xda,
147                0x49, 0xa0, 0x7b, 0xc7, 0x67, 0xe8, 0x47, 0x6e, 0x3a, 0x43,
148                0x4e, 0x31, 0x0e, 0x30, 0x3b, 0x60, 0x7d, 0xc1, 0x0c, 0x4e,
149                0x82, 0x7e, 0xf6, 0x02, 0xcf, 0xd4, 0xfe, 0x8f, 0x39, 0x8e,
150                0xce, 0xe6, 0x7b, 0x3a, 0xc7, 0xae, 0xde, 0xf1, 0x2b, 0xae,
151                0x4e, 0xd8, 0x60, 0x7e, 0x8a, 0x10, 0xdf, 0xdf, 0xb8, 0x57,
152                0x5b, 0x7c, 0xb3, 0x80, 0x55, 0x16, 0x4c, 0xab, 0x62, 0x39,
153                0xb7, 0xa4, 0x4c, 0xd3, 0xaa, 0xca, 0x5b, 0xd1, 0xb5, 0xcb,
154                0xf4, 0x46, 0xfc,
155            ],
156        );
157
158        encrypted_data.kvno = Some(2);
159
160        let ticket = Ticket::new(
161            "KINGDOM.HEARTS".to_string(),
162            principal_name,
163            encrypted_data,
164        );
165
166        let raw_ticket = [
167            0x61, 0x82, 0x04, 0x13, 0x30, 0x82, 0x04, 0x0f, 0xa0, 0x03, 0x02,
168            0x01, 0x05, 0xa1, 0x10, 0x1b, 0x0e, 0x4b, 0x49, 0x4e, 0x47, 0x44,
169            0x4f, 0x4d, 0x2e, 0x48, 0x45, 0x41, 0x52, 0x54, 0x53, 0xa2, 0x23,
170            0x30, 0x21, 0xa0, 0x03, 0x02, 0x01, 0x02, 0xa1, 0x1a, 0x30, 0x18,
171            0x1b, 0x06, 0x6b, 0x72, 0x62, 0x74, 0x67, 0x74, 0x1b, 0x0e, 0x4b,
172            0x49, 0x4e, 0x47, 0x44, 0x4f, 0x4d, 0x2e, 0x48, 0x45, 0x41, 0x52,
173            0x54, 0x53, 0xa3, 0x82, 0x03, 0xcf, 0x30, 0x82, 0x03, 0xcb, 0xa0,
174            0x03, 0x02, 0x01, 0x12, 0xa1, 0x03, 0x02, 0x01, 0x02, 0xa2, 0x82,
175            0x03, 0xbd, 0x04, 0x82, 0x03, 0xb9, 0x4e, 0xc1, 0x75, 0x6d, 0x5e,
176            0xf6, 0x84, 0x18, 0x5f, 0x33, 0x21, 0x24, 0x54, 0x02, 0x40, 0x79,
177            0x23, 0x48, 0x2f, 0x39, 0xdd, 0x5a, 0xa1, 0x68, 0x79, 0x3f, 0x1a,
178            0x33, 0x0f, 0xcd, 0xe3, 0xe6, 0x3d, 0x0a, 0x3b, 0x39, 0x22, 0xd3,
179            0x6c, 0xb5, 0x89, 0xd3, 0x8f, 0xcb, 0x4a, 0xbe, 0x8f, 0xcb, 0xae,
180            0x72, 0x96, 0x7f, 0x98, 0x7c, 0x4d, 0x52, 0xbd, 0xa9, 0xae, 0xe6,
181            0xd1, 0x1c, 0x21, 0x9c, 0x2b, 0x7f, 0x2b, 0xd8, 0x29, 0xd6, 0x6a,
182            0x82, 0x5d, 0xaf, 0x0a, 0x51, 0x94, 0xd5, 0x00, 0xfa, 0x4d, 0xf1,
183            0x78, 0x88, 0x6d, 0xbf, 0x5f, 0x5e, 0x7c, 0x5a, 0xd0, 0xf6, 0x74,
184            0xac, 0x14, 0x58, 0xbf, 0x6c, 0xeb, 0xa1, 0x1a, 0xaa, 0x5b, 0x65,
185            0x4c, 0x16, 0x9c, 0xcc, 0xa5, 0xb1, 0x2c, 0x43, 0x1d, 0x05, 0x71,
186            0xa9, 0x05, 0xd7, 0x9e, 0x86, 0x50, 0x44, 0xeb, 0x9e, 0x33, 0x2d,
187            0xad, 0x21, 0xc9, 0x2e, 0x37, 0x67, 0x46, 0x13, 0xa5, 0x96, 0x30,
188            0xbf, 0x9e, 0xfa, 0x55, 0x80, 0x7f, 0x9b, 0x8d, 0x53, 0xe3, 0x08,
189            0xf0, 0xa9, 0xfe, 0x88, 0xd8, 0xa9, 0x16, 0xcb, 0x02, 0xa6, 0x63,
190            0x1e, 0x89, 0xa2, 0xf2, 0xe1, 0x86, 0x8f, 0x50, 0x89, 0x34, 0xa2,
191            0x9f, 0x64, 0xd6, 0xe5, 0x9c, 0x67, 0xf0, 0x56, 0xbb, 0x0d, 0xbb,
192            0xaf, 0x1d, 0xd8, 0xf3, 0xc5, 0xc7, 0xb9, 0xa0, 0x24, 0xeb, 0x0b,
193            0x87, 0x0f, 0x40, 0x7e, 0xdd, 0xe7, 0x88, 0xeb, 0xd2, 0x7e, 0xa3,
194            0x93, 0xc9, 0xc4, 0x1b, 0x5a, 0xf1, 0xf5, 0x54, 0x09, 0xc6, 0x38,
195            0x9f, 0xd2, 0x02, 0xaa, 0x5c, 0xf3, 0x17, 0x4e, 0x29, 0x97, 0xaf,
196            0xc2, 0xf2, 0xe3, 0x00, 0xb1, 0x49, 0x7d, 0x97, 0x3f, 0x49, 0xe3,
197            0xf7, 0x0b, 0x5b, 0x76, 0xc8, 0x89, 0x3c, 0xff, 0x27, 0x4a, 0x7a,
198            0x80, 0xe1, 0x67, 0x6e, 0xb0, 0xc2, 0x35, 0xf9, 0xaa, 0xb7, 0x65,
199            0x3e, 0x8c, 0x8d, 0x2a, 0x69, 0x9a, 0xdc, 0xeb, 0x53, 0x7d, 0xd9,
200            0xc8, 0x5d, 0xa5, 0x1c, 0x5f, 0xab, 0x52, 0xf5, 0x35, 0xd9, 0x76,
201            0x5f, 0x7b, 0x63, 0xd7, 0x35, 0x30, 0x52, 0x94, 0x2c, 0x37, 0x99,
202            0x9b, 0x5a, 0x83, 0x37, 0x5d, 0x52, 0x85, 0xc0, 0x8b, 0xa1, 0xac,
203            0xe6, 0xcc, 0x64, 0x51, 0x23, 0x7f, 0x21, 0x47, 0x95, 0x6d, 0xb7,
204            0xcb, 0x45, 0x78, 0xf4, 0xbf, 0xd9, 0x26, 0x3c, 0x82, 0xc5, 0x64,
205            0x75, 0x7a, 0x8f, 0x3f, 0xa1, 0x46, 0x3d, 0x4e, 0x4d, 0x11, 0xee,
206            0xf1, 0xae, 0xc4, 0x3a, 0x09, 0xa8, 0xfc, 0x89, 0x1f, 0x37, 0xe0,
207            0xe4, 0xf5, 0x44, 0x33, 0xa5, 0xec, 0xbb, 0xf5, 0x0e, 0xc0, 0x1d,
208            0x54, 0x52, 0x41, 0xc4, 0xf8, 0x65, 0xc7, 0x3d, 0x10, 0xab, 0x4b,
209            0x90, 0x28, 0xb1, 0x62, 0x85, 0x5d, 0xf1, 0xd7, 0xe0, 0xd2, 0x0f,
210            0x12, 0x51, 0x2f, 0x0d, 0xc5, 0x9f, 0xab, 0x8b, 0x93, 0x2f, 0x72,
211            0xb4, 0x74, 0xdd, 0xdd, 0x29, 0x0a, 0x6f, 0xa7, 0x2a, 0xc1, 0x82,
212            0x5e, 0xfc, 0xb2, 0x27, 0x3f, 0xa0, 0x7d, 0xce, 0xd2, 0x40, 0x13,
213            0xcb, 0x0a, 0xde, 0x0d, 0xc5, 0xc4, 0x45, 0x1f, 0x62, 0xfb, 0x5a,
214            0xd6, 0x3d, 0x91, 0x44, 0x85, 0x0c, 0x11, 0x76, 0x6a, 0x6f, 0x65,
215            0x3b, 0xc8, 0x67, 0x06, 0x36, 0x6d, 0x01, 0x3d, 0xdb, 0x22, 0x03,
216            0x75, 0xc5, 0xb2, 0x56, 0xf3, 0xed, 0x6c, 0x25, 0x2d, 0x7d, 0x21,
217            0xc1, 0xa5, 0xb6, 0xe6, 0x3c, 0xbd, 0xb8, 0x16, 0x0a, 0x36, 0x6e,
218            0x60, 0x9c, 0xd6, 0x23, 0x53, 0x2b, 0xbc, 0x14, 0xbe, 0xfd, 0x1b,
219            0x57, 0xbb, 0x0b, 0xfd, 0x7e, 0x65, 0xe3, 0xc7, 0x00, 0x56, 0x6a,
220            0x9f, 0xf4, 0xf3, 0x83, 0xae, 0x2f, 0x4c, 0xe6, 0x68, 0x80, 0x8d,
221            0x55, 0x0f, 0xfa, 0x87, 0xbf, 0xcc, 0x62, 0xe4, 0xa8, 0x37, 0xe2,
222            0x04, 0x1f, 0xc3, 0x4b, 0x39, 0xb2, 0x70, 0x88, 0x2e, 0x4c, 0x89,
223            0xfb, 0x3d, 0x74, 0xae, 0x82, 0xf8, 0xea, 0x9c, 0x7d, 0xf1, 0x78,
224            0x22, 0xac, 0x2f, 0x96, 0x52, 0x13, 0x1b, 0x8b, 0xcc, 0x01, 0x17,
225            0x9d, 0xff, 0x4f, 0x1f, 0xeb, 0x3d, 0x97, 0xea, 0x2a, 0x0c, 0xd6,
226            0x0c, 0x5c, 0x7a, 0x41, 0x1f, 0x6e, 0x5b, 0x9b, 0x5d, 0x16, 0xb8,
227            0x0c, 0x08, 0x93, 0x51, 0xa4, 0xb9, 0x4a, 0xe9, 0x4c, 0x3a, 0x60,
228            0x88, 0x74, 0xf0, 0xa8, 0xb5, 0x2a, 0x9f, 0x34, 0x6f, 0xad, 0x8a,
229            0xed, 0xc2, 0x9e, 0x38, 0xdc, 0x74, 0x33, 0x62, 0x6b, 0x4e, 0x1d,
230            0x82, 0x92, 0xa8, 0xd2, 0xda, 0x86, 0x9d, 0x90, 0xcb, 0x6b, 0x19,
231            0x07, 0x56, 0xa3, 0x59, 0x10, 0x57, 0x89, 0xd1, 0x00, 0xcc, 0x94,
232            0x7c, 0xcd, 0x0c, 0xdc, 0x74, 0xfb, 0x5f, 0xe4, 0x6f, 0x73, 0x1e,
233            0xa8, 0x8e, 0xad, 0x31, 0x0d, 0x07, 0xe7, 0x8d, 0x23, 0xf9, 0x8f,
234            0xed, 0x04, 0x2b, 0x47, 0x3f, 0x54, 0xcb, 0xbb, 0x0b, 0xf8, 0xc6,
235            0x32, 0xd5, 0x7d, 0x20, 0x92, 0xfd, 0xa6, 0xba, 0x75, 0x02, 0x42,
236            0x5a, 0x72, 0xa4, 0xdf, 0xd0, 0x0a, 0xb0, 0x33, 0x80, 0xf1, 0xea,
237            0x15, 0x3d, 0x5f, 0xae, 0xcf, 0x1f, 0xcc, 0x44, 0xb5, 0x5f, 0x69,
238            0x9f, 0x90, 0x40, 0xf0, 0x6e, 0xc9, 0x9a, 0x63, 0x52, 0x97, 0x1e,
239            0xed, 0xc8, 0x05, 0x12, 0xb2, 0xfb, 0xad, 0xe1, 0x13, 0xa5, 0x39,
240            0x53, 0x88, 0xaf, 0xcf, 0xbe, 0x01, 0x4a, 0x65, 0x62, 0xf0, 0x35,
241            0x2f, 0x76, 0x9a, 0x8b, 0xc3, 0xbc, 0x43, 0x5b, 0xc4, 0x91, 0xcc,
242            0x04, 0xfe, 0xcc, 0xc4, 0xf5, 0xa3, 0x27, 0x88, 0x97, 0x49, 0xca,
243            0xe2, 0x33, 0x1d, 0xff, 0x96, 0x33, 0x4b, 0x50, 0x49, 0x86, 0xdc,
244            0x65, 0x9f, 0x55, 0xc1, 0xb6, 0x85, 0xe5, 0x9f, 0x3d, 0xd1, 0x87,
245            0x84, 0xd8, 0x08, 0x9f, 0x03, 0x4c, 0xc7, 0xa8, 0x8b, 0x59, 0xb7,
246            0x58, 0xd2, 0x10, 0x1c, 0x3f, 0xf9, 0x2d, 0x5f, 0x37, 0x5c, 0x70,
247            0x90, 0x84, 0xea, 0x4b, 0x37, 0x55, 0x9c, 0x12, 0x2d, 0xa4, 0xb2,
248            0x75, 0x5d, 0x37, 0xfc, 0x7c, 0xa7, 0x19, 0xb4, 0x88, 0xba, 0xf3,
249            0xea, 0xe2, 0xf1, 0xa2, 0xe3, 0x23, 0xd6, 0x5e, 0x6e, 0xf8, 0x37,
250            0x61, 0xf2, 0xec, 0xd8, 0x17, 0x19, 0xa3, 0x69, 0xbd, 0xd8, 0x51,
251            0x17, 0x37, 0xa3, 0xc6, 0x8f, 0x26, 0xf1, 0x19, 0x6f, 0xf4, 0xf9,
252            0xdb, 0x09, 0xef, 0x70, 0x88, 0x81, 0x78, 0xfd, 0x2e, 0x60, 0xdb,
253            0xdf, 0x6e, 0xe9, 0xf6, 0xef, 0xb0, 0x7e, 0x75, 0xc5, 0x18, 0x39,
254            0xdc, 0x4b, 0x33, 0xda, 0x51, 0xad, 0xe4, 0x7b, 0x7d, 0x46, 0xd2,
255            0x39, 0x62, 0xf1, 0x71, 0x4c, 0xda, 0x49, 0xa0, 0x7b, 0xc7, 0x67,
256            0xe8, 0x47, 0x6e, 0x3a, 0x43, 0x4e, 0x31, 0x0e, 0x30, 0x3b, 0x60,
257            0x7d, 0xc1, 0x0c, 0x4e, 0x82, 0x7e, 0xf6, 0x02, 0xcf, 0xd4, 0xfe,
258            0x8f, 0x39, 0x8e, 0xce, 0xe6, 0x7b, 0x3a, 0xc7, 0xae, 0xde, 0xf1,
259            0x2b, 0xae, 0x4e, 0xd8, 0x60, 0x7e, 0x8a, 0x10, 0xdf, 0xdf, 0xb8,
260            0x57, 0x5b, 0x7c, 0xb3, 0x80, 0x55, 0x16, 0x4c, 0xab, 0x62, 0x39,
261            0xb7, 0xa4, 0x4c, 0xd3, 0xaa, 0xca, 0x5b, 0xd1, 0xb5, 0xcb, 0xf4,
262            0x46, 0xfc,
263        ];
264        assert_eq!(ticket, Ticket::parse(&raw_ticket).unwrap().1);
265    }
266
267    #[test]
268    fn test_build_ticket() {
269        let mut principal_name = PrincipalName::new(
270            NT_SRV_INST,
271            "krbtgt".to_string(),
272        );
273        principal_name
274            .push("KINGDOM.HEARTS".to_string());
275
276        let mut encrypted_data = EncryptedData::new(
277            AES256_CTS_HMAC_SHA1_96,
278            None,
279            vec![
280                0x4e, 0xc1, 0x75, 0x6d, 0x5e, 0xf6, 0x84, 0x18, 0x5f, 0x33,
281                0x21, 0x24, 0x54, 0x02, 0x40, 0x79, 0x23, 0x48, 0x2f, 0x39,
282                0xdd, 0x5a, 0xa1, 0x68, 0x79, 0x3f, 0x1a, 0x33, 0x0f, 0xcd,
283                0xe3, 0xe6, 0x3d, 0x0a, 0x3b, 0x39, 0x22, 0xd3, 0x6c, 0xb5,
284                0x89, 0xd3, 0x8f, 0xcb, 0x4a, 0xbe, 0x8f, 0xcb, 0xae, 0x72,
285                0x96, 0x7f, 0x98, 0x7c, 0x4d, 0x52, 0xbd, 0xa9, 0xae, 0xe6,
286                0xd1, 0x1c, 0x21, 0x9c, 0x2b, 0x7f, 0x2b, 0xd8, 0x29, 0xd6,
287                0x6a, 0x82, 0x5d, 0xaf, 0x0a, 0x51, 0x94, 0xd5, 0x00, 0xfa,
288                0x4d, 0xf1, 0x78, 0x88, 0x6d, 0xbf, 0x5f, 0x5e, 0x7c, 0x5a,
289                0xd0, 0xf6, 0x74, 0xac, 0x14, 0x58, 0xbf, 0x6c, 0xeb, 0xa1,
290                0x1a, 0xaa, 0x5b, 0x65, 0x4c, 0x16, 0x9c, 0xcc, 0xa5, 0xb1,
291                0x2c, 0x43, 0x1d, 0x05, 0x71, 0xa9, 0x05, 0xd7, 0x9e, 0x86,
292                0x50, 0x44, 0xeb, 0x9e, 0x33, 0x2d, 0xad, 0x21, 0xc9, 0x2e,
293                0x37, 0x67, 0x46, 0x13, 0xa5, 0x96, 0x30, 0xbf, 0x9e, 0xfa,
294                0x55, 0x80, 0x7f, 0x9b, 0x8d, 0x53, 0xe3, 0x08, 0xf0, 0xa9,
295                0xfe, 0x88, 0xd8, 0xa9, 0x16, 0xcb, 0x02, 0xa6, 0x63, 0x1e,
296                0x89, 0xa2, 0xf2, 0xe1, 0x86, 0x8f, 0x50, 0x89, 0x34, 0xa2,
297                0x9f, 0x64, 0xd6, 0xe5, 0x9c, 0x67, 0xf0, 0x56, 0xbb, 0x0d,
298                0xbb, 0xaf, 0x1d, 0xd8, 0xf3, 0xc5, 0xc7, 0xb9, 0xa0, 0x24,
299                0xeb, 0x0b, 0x87, 0x0f, 0x40, 0x7e, 0xdd, 0xe7, 0x88, 0xeb,
300                0xd2, 0x7e, 0xa3, 0x93, 0xc9, 0xc4, 0x1b, 0x5a, 0xf1, 0xf5,
301                0x54, 0x09, 0xc6, 0x38, 0x9f, 0xd2, 0x02, 0xaa, 0x5c, 0xf3,
302                0x17, 0x4e, 0x29, 0x97, 0xaf, 0xc2, 0xf2, 0xe3, 0x00, 0xb1,
303                0x49, 0x7d, 0x97, 0x3f, 0x49, 0xe3, 0xf7, 0x0b, 0x5b, 0x76,
304                0xc8, 0x89, 0x3c, 0xff, 0x27, 0x4a, 0x7a, 0x80, 0xe1, 0x67,
305                0x6e, 0xb0, 0xc2, 0x35, 0xf9, 0xaa, 0xb7, 0x65, 0x3e, 0x8c,
306                0x8d, 0x2a, 0x69, 0x9a, 0xdc, 0xeb, 0x53, 0x7d, 0xd9, 0xc8,
307                0x5d, 0xa5, 0x1c, 0x5f, 0xab, 0x52, 0xf5, 0x35, 0xd9, 0x76,
308                0x5f, 0x7b, 0x63, 0xd7, 0x35, 0x30, 0x52, 0x94, 0x2c, 0x37,
309                0x99, 0x9b, 0x5a, 0x83, 0x37, 0x5d, 0x52, 0x85, 0xc0, 0x8b,
310                0xa1, 0xac, 0xe6, 0xcc, 0x64, 0x51, 0x23, 0x7f, 0x21, 0x47,
311                0x95, 0x6d, 0xb7, 0xcb, 0x45, 0x78, 0xf4, 0xbf, 0xd9, 0x26,
312                0x3c, 0x82, 0xc5, 0x64, 0x75, 0x7a, 0x8f, 0x3f, 0xa1, 0x46,
313                0x3d, 0x4e, 0x4d, 0x11, 0xee, 0xf1, 0xae, 0xc4, 0x3a, 0x09,
314                0xa8, 0xfc, 0x89, 0x1f, 0x37, 0xe0, 0xe4, 0xf5, 0x44, 0x33,
315                0xa5, 0xec, 0xbb, 0xf5, 0x0e, 0xc0, 0x1d, 0x54, 0x52, 0x41,
316                0xc4, 0xf8, 0x65, 0xc7, 0x3d, 0x10, 0xab, 0x4b, 0x90, 0x28,
317                0xb1, 0x62, 0x85, 0x5d, 0xf1, 0xd7, 0xe0, 0xd2, 0x0f, 0x12,
318                0x51, 0x2f, 0x0d, 0xc5, 0x9f, 0xab, 0x8b, 0x93, 0x2f, 0x72,
319                0xb4, 0x74, 0xdd, 0xdd, 0x29, 0x0a, 0x6f, 0xa7, 0x2a, 0xc1,
320                0x82, 0x5e, 0xfc, 0xb2, 0x27, 0x3f, 0xa0, 0x7d, 0xce, 0xd2,
321                0x40, 0x13, 0xcb, 0x0a, 0xde, 0x0d, 0xc5, 0xc4, 0x45, 0x1f,
322                0x62, 0xfb, 0x5a, 0xd6, 0x3d, 0x91, 0x44, 0x85, 0x0c, 0x11,
323                0x76, 0x6a, 0x6f, 0x65, 0x3b, 0xc8, 0x67, 0x06, 0x36, 0x6d,
324                0x01, 0x3d, 0xdb, 0x22, 0x03, 0x75, 0xc5, 0xb2, 0x56, 0xf3,
325                0xed, 0x6c, 0x25, 0x2d, 0x7d, 0x21, 0xc1, 0xa5, 0xb6, 0xe6,
326                0x3c, 0xbd, 0xb8, 0x16, 0x0a, 0x36, 0x6e, 0x60, 0x9c, 0xd6,
327                0x23, 0x53, 0x2b, 0xbc, 0x14, 0xbe, 0xfd, 0x1b, 0x57, 0xbb,
328                0x0b, 0xfd, 0x7e, 0x65, 0xe3, 0xc7, 0x00, 0x56, 0x6a, 0x9f,
329                0xf4, 0xf3, 0x83, 0xae, 0x2f, 0x4c, 0xe6, 0x68, 0x80, 0x8d,
330                0x55, 0x0f, 0xfa, 0x87, 0xbf, 0xcc, 0x62, 0xe4, 0xa8, 0x37,
331                0xe2, 0x04, 0x1f, 0xc3, 0x4b, 0x39, 0xb2, 0x70, 0x88, 0x2e,
332                0x4c, 0x89, 0xfb, 0x3d, 0x74, 0xae, 0x82, 0xf8, 0xea, 0x9c,
333                0x7d, 0xf1, 0x78, 0x22, 0xac, 0x2f, 0x96, 0x52, 0x13, 0x1b,
334                0x8b, 0xcc, 0x01, 0x17, 0x9d, 0xff, 0x4f, 0x1f, 0xeb, 0x3d,
335                0x97, 0xea, 0x2a, 0x0c, 0xd6, 0x0c, 0x5c, 0x7a, 0x41, 0x1f,
336                0x6e, 0x5b, 0x9b, 0x5d, 0x16, 0xb8, 0x0c, 0x08, 0x93, 0x51,
337                0xa4, 0xb9, 0x4a, 0xe9, 0x4c, 0x3a, 0x60, 0x88, 0x74, 0xf0,
338                0xa8, 0xb5, 0x2a, 0x9f, 0x34, 0x6f, 0xad, 0x8a, 0xed, 0xc2,
339                0x9e, 0x38, 0xdc, 0x74, 0x33, 0x62, 0x6b, 0x4e, 0x1d, 0x82,
340                0x92, 0xa8, 0xd2, 0xda, 0x86, 0x9d, 0x90, 0xcb, 0x6b, 0x19,
341                0x07, 0x56, 0xa3, 0x59, 0x10, 0x57, 0x89, 0xd1, 0x00, 0xcc,
342                0x94, 0x7c, 0xcd, 0x0c, 0xdc, 0x74, 0xfb, 0x5f, 0xe4, 0x6f,
343                0x73, 0x1e, 0xa8, 0x8e, 0xad, 0x31, 0x0d, 0x07, 0xe7, 0x8d,
344                0x23, 0xf9, 0x8f, 0xed, 0x04, 0x2b, 0x47, 0x3f, 0x54, 0xcb,
345                0xbb, 0x0b, 0xf8, 0xc6, 0x32, 0xd5, 0x7d, 0x20, 0x92, 0xfd,
346                0xa6, 0xba, 0x75, 0x02, 0x42, 0x5a, 0x72, 0xa4, 0xdf, 0xd0,
347                0x0a, 0xb0, 0x33, 0x80, 0xf1, 0xea, 0x15, 0x3d, 0x5f, 0xae,
348                0xcf, 0x1f, 0xcc, 0x44, 0xb5, 0x5f, 0x69, 0x9f, 0x90, 0x40,
349                0xf0, 0x6e, 0xc9, 0x9a, 0x63, 0x52, 0x97, 0x1e, 0xed, 0xc8,
350                0x05, 0x12, 0xb2, 0xfb, 0xad, 0xe1, 0x13, 0xa5, 0x39, 0x53,
351                0x88, 0xaf, 0xcf, 0xbe, 0x01, 0x4a, 0x65, 0x62, 0xf0, 0x35,
352                0x2f, 0x76, 0x9a, 0x8b, 0xc3, 0xbc, 0x43, 0x5b, 0xc4, 0x91,
353                0xcc, 0x04, 0xfe, 0xcc, 0xc4, 0xf5, 0xa3, 0x27, 0x88, 0x97,
354                0x49, 0xca, 0xe2, 0x33, 0x1d, 0xff, 0x96, 0x33, 0x4b, 0x50,
355                0x49, 0x86, 0xdc, 0x65, 0x9f, 0x55, 0xc1, 0xb6, 0x85, 0xe5,
356                0x9f, 0x3d, 0xd1, 0x87, 0x84, 0xd8, 0x08, 0x9f, 0x03, 0x4c,
357                0xc7, 0xa8, 0x8b, 0x59, 0xb7, 0x58, 0xd2, 0x10, 0x1c, 0x3f,
358                0xf9, 0x2d, 0x5f, 0x37, 0x5c, 0x70, 0x90, 0x84, 0xea, 0x4b,
359                0x37, 0x55, 0x9c, 0x12, 0x2d, 0xa4, 0xb2, 0x75, 0x5d, 0x37,
360                0xfc, 0x7c, 0xa7, 0x19, 0xb4, 0x88, 0xba, 0xf3, 0xea, 0xe2,
361                0xf1, 0xa2, 0xe3, 0x23, 0xd6, 0x5e, 0x6e, 0xf8, 0x37, 0x61,
362                0xf2, 0xec, 0xd8, 0x17, 0x19, 0xa3, 0x69, 0xbd, 0xd8, 0x51,
363                0x17, 0x37, 0xa3, 0xc6, 0x8f, 0x26, 0xf1, 0x19, 0x6f, 0xf4,
364                0xf9, 0xdb, 0x09, 0xef, 0x70, 0x88, 0x81, 0x78, 0xfd, 0x2e,
365                0x60, 0xdb, 0xdf, 0x6e, 0xe9, 0xf6, 0xef, 0xb0, 0x7e, 0x75,
366                0xc5, 0x18, 0x39, 0xdc, 0x4b, 0x33, 0xda, 0x51, 0xad, 0xe4,
367                0x7b, 0x7d, 0x46, 0xd2, 0x39, 0x62, 0xf1, 0x71, 0x4c, 0xda,
368                0x49, 0xa0, 0x7b, 0xc7, 0x67, 0xe8, 0x47, 0x6e, 0x3a, 0x43,
369                0x4e, 0x31, 0x0e, 0x30, 0x3b, 0x60, 0x7d, 0xc1, 0x0c, 0x4e,
370                0x82, 0x7e, 0xf6, 0x02, 0xcf, 0xd4, 0xfe, 0x8f, 0x39, 0x8e,
371                0xce, 0xe6, 0x7b, 0x3a, 0xc7, 0xae, 0xde, 0xf1, 0x2b, 0xae,
372                0x4e, 0xd8, 0x60, 0x7e, 0x8a, 0x10, 0xdf, 0xdf, 0xb8, 0x57,
373                0x5b, 0x7c, 0xb3, 0x80, 0x55, 0x16, 0x4c, 0xab, 0x62, 0x39,
374                0xb7, 0xa4, 0x4c, 0xd3, 0xaa, 0xca, 0x5b, 0xd1, 0xb5, 0xcb,
375                0xf4, 0x46, 0xfc,
376            ],
377        );
378
379        encrypted_data.kvno = Some(2);
380
381        let ticket = Ticket::new(
382            "KINGDOM.HEARTS".to_string(),
383            principal_name,
384            encrypted_data,
385        );
386
387        let raw_ticket = [
388            0x61, 0x82, 0x04, 0x13, 0x30, 0x82, 0x04, 0x0f, 0xa0, 0x03, 0x02,
389            0x01, 0x05, 0xa1, 0x10, 0x1b, 0x0e, 0x4b, 0x49, 0x4e, 0x47, 0x44,
390            0x4f, 0x4d, 0x2e, 0x48, 0x45, 0x41, 0x52, 0x54, 0x53, 0xa2, 0x23,
391            0x30, 0x21, 0xa0, 0x03, 0x02, 0x01, 0x02, 0xa1, 0x1a, 0x30, 0x18,
392            0x1b, 0x06, 0x6b, 0x72, 0x62, 0x74, 0x67, 0x74, 0x1b, 0x0e, 0x4b,
393            0x49, 0x4e, 0x47, 0x44, 0x4f, 0x4d, 0x2e, 0x48, 0x45, 0x41, 0x52,
394            0x54, 0x53, 0xa3, 0x82, 0x03, 0xcf, 0x30, 0x82, 0x03, 0xcb, 0xa0,
395            0x03, 0x02, 0x01, 0x12, 0xa1, 0x03, 0x02, 0x01, 0x02, 0xa2, 0x82,
396            0x03, 0xbd, 0x04, 0x82, 0x03, 0xb9, 0x4e, 0xc1, 0x75, 0x6d, 0x5e,
397            0xf6, 0x84, 0x18, 0x5f, 0x33, 0x21, 0x24, 0x54, 0x02, 0x40, 0x79,
398            0x23, 0x48, 0x2f, 0x39, 0xdd, 0x5a, 0xa1, 0x68, 0x79, 0x3f, 0x1a,
399            0x33, 0x0f, 0xcd, 0xe3, 0xe6, 0x3d, 0x0a, 0x3b, 0x39, 0x22, 0xd3,
400            0x6c, 0xb5, 0x89, 0xd3, 0x8f, 0xcb, 0x4a, 0xbe, 0x8f, 0xcb, 0xae,
401            0x72, 0x96, 0x7f, 0x98, 0x7c, 0x4d, 0x52, 0xbd, 0xa9, 0xae, 0xe6,
402            0xd1, 0x1c, 0x21, 0x9c, 0x2b, 0x7f, 0x2b, 0xd8, 0x29, 0xd6, 0x6a,
403            0x82, 0x5d, 0xaf, 0x0a, 0x51, 0x94, 0xd5, 0x00, 0xfa, 0x4d, 0xf1,
404            0x78, 0x88, 0x6d, 0xbf, 0x5f, 0x5e, 0x7c, 0x5a, 0xd0, 0xf6, 0x74,
405            0xac, 0x14, 0x58, 0xbf, 0x6c, 0xeb, 0xa1, 0x1a, 0xaa, 0x5b, 0x65,
406            0x4c, 0x16, 0x9c, 0xcc, 0xa5, 0xb1, 0x2c, 0x43, 0x1d, 0x05, 0x71,
407            0xa9, 0x05, 0xd7, 0x9e, 0x86, 0x50, 0x44, 0xeb, 0x9e, 0x33, 0x2d,
408            0xad, 0x21, 0xc9, 0x2e, 0x37, 0x67, 0x46, 0x13, 0xa5, 0x96, 0x30,
409            0xbf, 0x9e, 0xfa, 0x55, 0x80, 0x7f, 0x9b, 0x8d, 0x53, 0xe3, 0x08,
410            0xf0, 0xa9, 0xfe, 0x88, 0xd8, 0xa9, 0x16, 0xcb, 0x02, 0xa6, 0x63,
411            0x1e, 0x89, 0xa2, 0xf2, 0xe1, 0x86, 0x8f, 0x50, 0x89, 0x34, 0xa2,
412            0x9f, 0x64, 0xd6, 0xe5, 0x9c, 0x67, 0xf0, 0x56, 0xbb, 0x0d, 0xbb,
413            0xaf, 0x1d, 0xd8, 0xf3, 0xc5, 0xc7, 0xb9, 0xa0, 0x24, 0xeb, 0x0b,
414            0x87, 0x0f, 0x40, 0x7e, 0xdd, 0xe7, 0x88, 0xeb, 0xd2, 0x7e, 0xa3,
415            0x93, 0xc9, 0xc4, 0x1b, 0x5a, 0xf1, 0xf5, 0x54, 0x09, 0xc6, 0x38,
416            0x9f, 0xd2, 0x02, 0xaa, 0x5c, 0xf3, 0x17, 0x4e, 0x29, 0x97, 0xaf,
417            0xc2, 0xf2, 0xe3, 0x00, 0xb1, 0x49, 0x7d, 0x97, 0x3f, 0x49, 0xe3,
418            0xf7, 0x0b, 0x5b, 0x76, 0xc8, 0x89, 0x3c, 0xff, 0x27, 0x4a, 0x7a,
419            0x80, 0xe1, 0x67, 0x6e, 0xb0, 0xc2, 0x35, 0xf9, 0xaa, 0xb7, 0x65,
420            0x3e, 0x8c, 0x8d, 0x2a, 0x69, 0x9a, 0xdc, 0xeb, 0x53, 0x7d, 0xd9,
421            0xc8, 0x5d, 0xa5, 0x1c, 0x5f, 0xab, 0x52, 0xf5, 0x35, 0xd9, 0x76,
422            0x5f, 0x7b, 0x63, 0xd7, 0x35, 0x30, 0x52, 0x94, 0x2c, 0x37, 0x99,
423            0x9b, 0x5a, 0x83, 0x37, 0x5d, 0x52, 0x85, 0xc0, 0x8b, 0xa1, 0xac,
424            0xe6, 0xcc, 0x64, 0x51, 0x23, 0x7f, 0x21, 0x47, 0x95, 0x6d, 0xb7,
425            0xcb, 0x45, 0x78, 0xf4, 0xbf, 0xd9, 0x26, 0x3c, 0x82, 0xc5, 0x64,
426            0x75, 0x7a, 0x8f, 0x3f, 0xa1, 0x46, 0x3d, 0x4e, 0x4d, 0x11, 0xee,
427            0xf1, 0xae, 0xc4, 0x3a, 0x09, 0xa8, 0xfc, 0x89, 0x1f, 0x37, 0xe0,
428            0xe4, 0xf5, 0x44, 0x33, 0xa5, 0xec, 0xbb, 0xf5, 0x0e, 0xc0, 0x1d,
429            0x54, 0x52, 0x41, 0xc4, 0xf8, 0x65, 0xc7, 0x3d, 0x10, 0xab, 0x4b,
430            0x90, 0x28, 0xb1, 0x62, 0x85, 0x5d, 0xf1, 0xd7, 0xe0, 0xd2, 0x0f,
431            0x12, 0x51, 0x2f, 0x0d, 0xc5, 0x9f, 0xab, 0x8b, 0x93, 0x2f, 0x72,
432            0xb4, 0x74, 0xdd, 0xdd, 0x29, 0x0a, 0x6f, 0xa7, 0x2a, 0xc1, 0x82,
433            0x5e, 0xfc, 0xb2, 0x27, 0x3f, 0xa0, 0x7d, 0xce, 0xd2, 0x40, 0x13,
434            0xcb, 0x0a, 0xde, 0x0d, 0xc5, 0xc4, 0x45, 0x1f, 0x62, 0xfb, 0x5a,
435            0xd6, 0x3d, 0x91, 0x44, 0x85, 0x0c, 0x11, 0x76, 0x6a, 0x6f, 0x65,
436            0x3b, 0xc8, 0x67, 0x06, 0x36, 0x6d, 0x01, 0x3d, 0xdb, 0x22, 0x03,
437            0x75, 0xc5, 0xb2, 0x56, 0xf3, 0xed, 0x6c, 0x25, 0x2d, 0x7d, 0x21,
438            0xc1, 0xa5, 0xb6, 0xe6, 0x3c, 0xbd, 0xb8, 0x16, 0x0a, 0x36, 0x6e,
439            0x60, 0x9c, 0xd6, 0x23, 0x53, 0x2b, 0xbc, 0x14, 0xbe, 0xfd, 0x1b,
440            0x57, 0xbb, 0x0b, 0xfd, 0x7e, 0x65, 0xe3, 0xc7, 0x00, 0x56, 0x6a,
441            0x9f, 0xf4, 0xf3, 0x83, 0xae, 0x2f, 0x4c, 0xe6, 0x68, 0x80, 0x8d,
442            0x55, 0x0f, 0xfa, 0x87, 0xbf, 0xcc, 0x62, 0xe4, 0xa8, 0x37, 0xe2,
443            0x04, 0x1f, 0xc3, 0x4b, 0x39, 0xb2, 0x70, 0x88, 0x2e, 0x4c, 0x89,
444            0xfb, 0x3d, 0x74, 0xae, 0x82, 0xf8, 0xea, 0x9c, 0x7d, 0xf1, 0x78,
445            0x22, 0xac, 0x2f, 0x96, 0x52, 0x13, 0x1b, 0x8b, 0xcc, 0x01, 0x17,
446            0x9d, 0xff, 0x4f, 0x1f, 0xeb, 0x3d, 0x97, 0xea, 0x2a, 0x0c, 0xd6,
447            0x0c, 0x5c, 0x7a, 0x41, 0x1f, 0x6e, 0x5b, 0x9b, 0x5d, 0x16, 0xb8,
448            0x0c, 0x08, 0x93, 0x51, 0xa4, 0xb9, 0x4a, 0xe9, 0x4c, 0x3a, 0x60,
449            0x88, 0x74, 0xf0, 0xa8, 0xb5, 0x2a, 0x9f, 0x34, 0x6f, 0xad, 0x8a,
450            0xed, 0xc2, 0x9e, 0x38, 0xdc, 0x74, 0x33, 0x62, 0x6b, 0x4e, 0x1d,
451            0x82, 0x92, 0xa8, 0xd2, 0xda, 0x86, 0x9d, 0x90, 0xcb, 0x6b, 0x19,
452            0x07, 0x56, 0xa3, 0x59, 0x10, 0x57, 0x89, 0xd1, 0x00, 0xcc, 0x94,
453            0x7c, 0xcd, 0x0c, 0xdc, 0x74, 0xfb, 0x5f, 0xe4, 0x6f, 0x73, 0x1e,
454            0xa8, 0x8e, 0xad, 0x31, 0x0d, 0x07, 0xe7, 0x8d, 0x23, 0xf9, 0x8f,
455            0xed, 0x04, 0x2b, 0x47, 0x3f, 0x54, 0xcb, 0xbb, 0x0b, 0xf8, 0xc6,
456            0x32, 0xd5, 0x7d, 0x20, 0x92, 0xfd, 0xa6, 0xba, 0x75, 0x02, 0x42,
457            0x5a, 0x72, 0xa4, 0xdf, 0xd0, 0x0a, 0xb0, 0x33, 0x80, 0xf1, 0xea,
458            0x15, 0x3d, 0x5f, 0xae, 0xcf, 0x1f, 0xcc, 0x44, 0xb5, 0x5f, 0x69,
459            0x9f, 0x90, 0x40, 0xf0, 0x6e, 0xc9, 0x9a, 0x63, 0x52, 0x97, 0x1e,
460            0xed, 0xc8, 0x05, 0x12, 0xb2, 0xfb, 0xad, 0xe1, 0x13, 0xa5, 0x39,
461            0x53, 0x88, 0xaf, 0xcf, 0xbe, 0x01, 0x4a, 0x65, 0x62, 0xf0, 0x35,
462            0x2f, 0x76, 0x9a, 0x8b, 0xc3, 0xbc, 0x43, 0x5b, 0xc4, 0x91, 0xcc,
463            0x04, 0xfe, 0xcc, 0xc4, 0xf5, 0xa3, 0x27, 0x88, 0x97, 0x49, 0xca,
464            0xe2, 0x33, 0x1d, 0xff, 0x96, 0x33, 0x4b, 0x50, 0x49, 0x86, 0xdc,
465            0x65, 0x9f, 0x55, 0xc1, 0xb6, 0x85, 0xe5, 0x9f, 0x3d, 0xd1, 0x87,
466            0x84, 0xd8, 0x08, 0x9f, 0x03, 0x4c, 0xc7, 0xa8, 0x8b, 0x59, 0xb7,
467            0x58, 0xd2, 0x10, 0x1c, 0x3f, 0xf9, 0x2d, 0x5f, 0x37, 0x5c, 0x70,
468            0x90, 0x84, 0xea, 0x4b, 0x37, 0x55, 0x9c, 0x12, 0x2d, 0xa4, 0xb2,
469            0x75, 0x5d, 0x37, 0xfc, 0x7c, 0xa7, 0x19, 0xb4, 0x88, 0xba, 0xf3,
470            0xea, 0xe2, 0xf1, 0xa2, 0xe3, 0x23, 0xd6, 0x5e, 0x6e, 0xf8, 0x37,
471            0x61, 0xf2, 0xec, 0xd8, 0x17, 0x19, 0xa3, 0x69, 0xbd, 0xd8, 0x51,
472            0x17, 0x37, 0xa3, 0xc6, 0x8f, 0x26, 0xf1, 0x19, 0x6f, 0xf4, 0xf9,
473            0xdb, 0x09, 0xef, 0x70, 0x88, 0x81, 0x78, 0xfd, 0x2e, 0x60, 0xdb,
474            0xdf, 0x6e, 0xe9, 0xf6, 0xef, 0xb0, 0x7e, 0x75, 0xc5, 0x18, 0x39,
475            0xdc, 0x4b, 0x33, 0xda, 0x51, 0xad, 0xe4, 0x7b, 0x7d, 0x46, 0xd2,
476            0x39, 0x62, 0xf1, 0x71, 0x4c, 0xda, 0x49, 0xa0, 0x7b, 0xc7, 0x67,
477            0xe8, 0x47, 0x6e, 0x3a, 0x43, 0x4e, 0x31, 0x0e, 0x30, 0x3b, 0x60,
478            0x7d, 0xc1, 0x0c, 0x4e, 0x82, 0x7e, 0xf6, 0x02, 0xcf, 0xd4, 0xfe,
479            0x8f, 0x39, 0x8e, 0xce, 0xe6, 0x7b, 0x3a, 0xc7, 0xae, 0xde, 0xf1,
480            0x2b, 0xae, 0x4e, 0xd8, 0x60, 0x7e, 0x8a, 0x10, 0xdf, 0xdf, 0xb8,
481            0x57, 0x5b, 0x7c, 0xb3, 0x80, 0x55, 0x16, 0x4c, 0xab, 0x62, 0x39,
482            0xb7, 0xa4, 0x4c, 0xd3, 0xaa, 0xca, 0x5b, 0xd1, 0xb5, 0xcb, 0xf4,
483            0x46, 0xfc,
484        ];
485        assert_eq!(raw_ticket.to_vec(), ticket.build());
486    }
487}