1pub mod types {
2 pub const AS_REQ_MSG_TYPE: u8 = 0x0a;
4 pub const AS_REP_MSG_TYPE: u8 = 0x0b;
5 pub const TGS_REQ_MSG_TYPE: u8 = 0x0c;
6 pub const TGS_REP_MSG_TYPE: u8 = 0x0d;
7 pub const AP_REQ_MSG_TYPE: u8 = 0x0e;
8 pub const AP_REP_MSG_TYPE: u8 = 0x0f;
9 pub const TGT_REQ_MSG_TYPE: u8 = 0x10;
10 pub const TGT_REP_MSG_TYPE: u8 = 0x11;
11
12 pub const KRB_PRIV: u8 = 21;
13 pub const KRB_PRIV_ENC_PART: u8 = 28;
14
15 pub const KRB_ERROR_MSG_TYPE: u8 = 0x1e;
16
17 pub const NT_UNKNOWN: u8 = 0x00;
19 pub const NT_PRINCIPAL: u8 = 0x01;
20 pub const NT_SRV_INST: u8 = 0x02;
21 pub const NT_SRV_HST: u8 = 0x03;
22 pub const NT_SRV_XHST: u8 = 0x04;
23 pub const NT_UID: u8 = 0x05;
24 pub const NT_X500_PRINCIPAL: u8 = 0x06;
25 pub const NT_SMTP_NAME: u8 = 0x07;
26 pub const NT_ENTERPRISE: u8 = 0x0A;
27
28 pub const PA_ENC_TIMESTAMP: [u8; 1] = [0x02];
30 pub const PA_ENC_TIMESTAMP_KEY_USAGE: i32 = 1;
31 pub const PA_PAC_REQUEST_TYPE: [u8; 2] = [0x00, 0x80];
32 pub const PA_ETYPE_INFO2_TYPE: [u8; 1] = [0x13];
33 pub const PA_TGS_REQ_TYPE: [u8; 1] = [0x01];
34 pub const PA_PAC_OPTIONS_TYPE: [u8; 2] = [0x00, 0xa7];
35 pub const PA_PK_AS_REQ: [u8; 1] = [0x10];
37 pub const PA_PK_AS_REP: [u8; 1] = [17];
38
39 pub const TICKET_TYPE: u8 = 1;
41 pub const AUTHENTICATOR_TYPE: u8 = 2;
42 pub const ENC_TICKET_PART_TYPE: u8 = 3;
43 pub const ENC_AS_REP_PART_TYPE: u8 = 25;
44 pub const ENC_TGS_REP_PART_TYPE: u8 = 26;
45 pub const ENC_AP_REP_PART_TYPE: u8 = 27;
46
47 pub const IP_V4_ADDR_TYPE: u8 = 2;
49 pub const DIRECTIONAL_ADDR_TYPE: u8 = 3;
50 pub const CHAOS_NET_ADDR_TYPE: u8 = 5;
51 pub const XNS_ADDR_TYPE: u8 = 6;
52 pub const ISO_ADDR_TYPE: u8 = 7;
53 pub const DECNET_PHASE_IV_ADDR_TYPE: u8 = 12;
54 pub const APPLETALK_DDP_ADDR_TYPE: u8 = 16;
55 pub const NET_BIOS_ADDR_TYPE: u8 = 20;
56 pub const IP_V6_ADDR_TYPE: u8 = 24;
57
58 pub const AD_AUTH_DATA_AP_OPTION_TYPE: [u8; 2] = [0x00, 0x8f];
60 pub const KERB_AP_OPTIONS_CBT: [u8; 2] = [0x40, 0x00];
61}
62
63pub mod key_usages {
64 pub const ACCEPTOR_SEAL: i32 = 22;
66 pub const ACCEPTOR_SIGN: i32 = 23;
67 pub const INITIATOR_SEAL: i32 = 24;
68 pub const INITIATOR_SIGN: i32 = 25;
69
70 pub const AS_REQ_TIMESTAMP: i32 = 1;
72 pub const TICKET_REP: i32 = 2;
73 pub const AS_REP_ENC: i32 = 3;
74 pub const TGS_REQ_AUTH_DATA_SESSION_KEY: i32 = 4;
75 pub const TGS_REQ_AUTH_DATA_SUB_KEY: i32 = 5;
76 pub const TGS_REQ_PA_DATA_AP_REQ_AUTHENTICATOR_CKSUM: i32 = 6;
77 pub const TGS_REQ_PA_DATA_AP_REQ_AUTHENTICATOR: i32 = 7;
78 pub const TGS_REP_ENC_SESSION_KEY: i32 = 8;
79 pub const TGS_REP_ENC_SUB_KEY: i32 = 9;
80 pub const AP_REQ_AUTHENTICATOR_CKSUM: i32 = 10;
81 pub const AP_REQ_AUTHENTICATOR: i32 = 11;
82 pub const AP_REP_ENC: i32 = 12;
83 pub const KRB_PRIV_ENC_PART: i32 = 13;
84
85 pub const KEY_USAGE_FINISHED: i32 = 41;
87}
88
89pub mod gss_api {
91 pub const AP_REQ_TOKEN_ID: [u8; 2] = [0x01, 0x00];
92 pub const AP_REP_TOKEN_ID: [u8; 2] = [0x02, 0x00];
93 pub const TGT_REQ_TOKEN_ID: [u8; 2] = [0x04, 0x00];
94 pub const TGT_REP_TOKEN_ID: [u8; 2] = [0x04, 0x01];
95
96 pub const AS_REQ_TOKEN_ID: [u8; 2] = [0x05, 0x00];
99 pub const AS_REP_TOKEN_ID: [u8; 2] = [0x06, 0x00];
102
103 pub const ACCEPT_COMPLETE: [u8; 3] = [0x0a, 0x01, 0x00];
104 pub const ACCEPT_INCOMPLETE: [u8; 3] = [0x0a, 0x01, 0x01];
105
106 pub const MIC_TOKEN_ID: [u8; 2] = [0x04, 0x04];
107 pub const MIC_FILLER: [u8; 5] = [0xff, 0xff, 0xff, 0xff, 0xff];
108
109 pub const WRAP_TOKEN_ID: [u8; 2] = [0x05, 0x04];
110 pub const WRAP_FILLER: u8 = 0xff;
111
112 pub const AUTHENTICATOR_CHECKSUM_TYPE: [u8; 3] = [0x00, 0x80, 0x03];
114}
115
116pub mod krb_priv {
118 pub const KRB_PRIV_VERSION: [u8; 2] = [0x00, 0x01];
119}
120
121pub mod etypes {
123 pub const DES3_CBC_MD5: usize = 5;
124 pub const DES3_CBC_SHA1: usize = 7;
125 pub const DES3_CBC_SHA1_KD: usize = 16;
126 pub const AES128_CTS_HMAC_SHA1_96: usize = 17;
127 pub const AES256_CTS_HMAC_SHA1_96: usize = 18;
128 pub const RC4_HMA: usize = 23;
129}
130
131pub mod cksum_types {
133 pub const CRC32: usize = 1;
134 pub const RSA_MD4: usize = 2;
135 pub const RSA_MD4_DES: usize = 3;
136 pub const DES_MAC: usize = 4;
137 pub const DES_MAC_K: usize = 5;
138 pub const RSA_MD4_DES_K: usize = 6;
139 pub const RSA_MD5: usize = 7;
140 pub const RSA_MD5_DES: usize = 8;
141 pub const RSA_MD5_DES3: usize = 9;
142 pub const HMAC_SHA1_DES3_KD: usize = 12;
143 pub const HMAC_SHA1_DES3: usize = 13;
144 pub const HMAC_SHA1_96_AES128: usize = 15;
145 pub const HMAC_SHA1_96_AES256: usize = 16;
146}
147
148pub mod cred_ssp {
150 pub const TS_PASSWORD_CREDS: u8 = 1;
151 pub const TS_SMART_CARD_CREDS: u8 = 2;
152 pub const TS_REMOTE_GUARD_CREDS: u8 = 6;
153
154 pub const AT_KEYEXCHANGE: u8 = 1;
156 pub const AT_SIGNATURE: u8 = 2;
157}
158
159pub mod error_codes {
160 pub const KDC_ERR_NONE: u32 = 0;
162 pub const KDC_ERR_NAME_EXP: u32 = 1;
163 pub const KDC_ERR_SERVICE_EXP: u32 = 2;
164 pub const KDC_ERR_BAD_PVNO: u32 = 3;
165 pub const KDC_ERR_C_OLD_MAST_KVNO: u32 = 4;
166 pub const KDC_ERR_S_OLD_MAST_KVNO: u32 = 5;
167 pub const KDC_ERR_C_PRINCIPAL_UNKNOWN: u32 = 6;
168 pub const KDC_ERR_S_PRINCIPAL_UNKNOWN: u32 = 7;
169 pub const KDC_ERR_PRINCIPAL_NOT_UNIQUE: u32 = 8;
170 pub const KDC_ERR_NULL_KEY: u32 = 9;
171 pub const KDC_ERR_CANNOT_POSTDATE: u32 = 10;
172 pub const KDC_ERR_NEVER_VALID: u32 = 11;
173 pub const KDC_ERR_POLICY: u32 = 12;
174 pub const KDC_ERR_BADOPTION: u32 = 13;
175 pub const KDC_ERR_ETYPE_NOSUPP: u32 = 14;
176 pub const KDC_ERR_SUMTYPE_NOSUPP: u32 = 15;
177 pub const KDC_ERR_PADATA_TYPE_NOSUPP: u32 = 16;
178 pub const KDC_ERR_TRTYPE_NOSUPP: u32 = 17;
179 pub const KDC_ERR_CLIENT_REVOKED: u32 = 18;
180 pub const KDC_ERR_SERVICE_REVOKED: u32 = 19;
181 pub const KDC_ERR_TGT_REVOKED: u32 = 20;
182 pub const KDC_ERR_CLIENT_NOTYET: u32 = 21;
183 pub const KDC_ERR_SERVICE_NOTYET: u32 = 22;
184 pub const KDC_ERR_KEY_EXPIRED: u32 = 23;
185 pub const KDC_ERR_PREAUTH_FAILED: u32 = 24;
186 pub const KDC_ERR_PREAUTH_REQUIRED: u32 = 25;
187 pub const KDC_ERR_SERVER_NOMATCH: u32 = 26;
188 pub const KDC_ERR_MUST_USE_USER2USER: u32 = 27;
189 pub const KDC_ERR_PATH_NOT_ACCEPTED: u32 = 28;
190 pub const KDC_ERR_SVC_UNAVAILABLE: u32 = 29;
191 pub const KRB_AP_ERR_BAD_INTEGRITY: u32 = 31;
192 pub const KRB_AP_ERR_TKT_EXPIRED: u32 = 32;
193 pub const KRB_AP_ERR_TKT_NYV: u32 = 33;
194 pub const KRB_AP_ERR_REPEAT: u32 = 34;
195 pub const KRB_AP_ERR_NOT_US: u32 = 35;
196 pub const KRB_AP_ERR_BADMATCH: u32 = 36;
197 pub const KRB_AP_ERR_SKEW: u32 = 37;
198 pub const KRB_AP_ERR_BADADDR: u32 = 38;
199 pub const KRB_AP_ERR_BADVERSION: u32 = 39;
200 pub const KRB_AP_ERR_MSG_TYPE: u32 = 40;
201 pub const KRB_AP_ERR_MODIFIED: u32 = 41;
202 pub const KRB_AP_ERR_BADORDER: u32 = 42;
203 pub const KRB_AP_ERR_BADKEYVER: u32 = 44;
204 pub const KRB_AP_ERR_NOKEY: u32 = 45;
205 pub const KRB_AP_ERR_MUT_FAIL: u32 = 46;
206 pub const KRB_AP_ERR_BADDIRECTION: u32 = 47;
207 pub const KRB_AP_ERR_METHOD: u32 = 48;
208 pub const KRB_AP_ERR_BADSEQ: u32 = 49;
209 pub const KRB_AP_ERR_INAPP_CKSUM: u32 = 50;
210 pub const KRB_AP_PATH_NOT_ACCEPTED: u32 = 51;
211 pub const KRB_ERR_RESPONSE_TOO_BIG: u32 = 52;
212 pub const KRB_ERR_GENERIC: u32 = 60;
213 pub const KRB_ERR_FIELD_TOOLONG: u32 = 61;
214 pub const KDC_ERROR_CLIENT_NOT_TRUSTED: u32 = 62;
215 pub const KDC_ERROR_KDC_NOT_TRUSTED: u32 = 63;
216 pub const KDC_ERROR_INVALID_SIG: u32 = 64;
217 pub const KDC_ERR_KEY_TOO_WEAK: u32 = 65;
218 pub const KDC_ERR_CERTIFICATE_MISMATCH: u32 = 66;
219 pub const KRB_AP_ERR_NO_TGT: u32 = 67;
220 pub const KDC_ERR_WRONG_REALM: u32 = 68;
221 pub const KRB_AP_ERR_USER_TO_USER_REQUIRED: u32 = 69;
222 pub const KDC_ERR_CANT_VERIFY_CERTIFICATE: u32 = 70;
223 pub const KDC_ERR_INVALID_CERTIFICATE: u32 = 71;
224 pub const KDC_ERR_REVOKED_CERTIFICATE: u32 = 72;
225 pub const KDC_ERR_REVOCATION_STATUS_UNKNOWN: u32 = 73;
226 pub const KDC_ERR_REVOCATION_STATUS_UNAVAILABLE: u32 = 74;
227 pub const KDC_ERR_CLIENT_NAME_MISMATCH: u32 = 75;
228 pub const KDC_ERR_KDC_NAME_MISMATCH: u32 = 76;
229}