From cb33d402bb7fc44a51cd96adfbe740d4b2d7a134 Mon Sep 17 00:00:00 2001 From: Maxim Karasev Date: Fri, 7 Jul 2023 18:52:14 +0300 Subject: [PATCH] include: Add missing Kerberos related defines. --- include/ntsecapi.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/include/ntsecapi.h b/include/ntsecapi.h index ffaa8028596..2b78156bdfb 100644 --- a/include/ntsecapi.h +++ b/include/ntsecapi.h @@ -427,6 +427,40 @@ typedef struct _KERB_TICKET_CACHE_INFO ULONG TicketFlags; } KERB_TICKET_CACHE_INFO, *PKERB_TICKET_CACHE_INFO; +typedef struct _KERB_CRYPTO_KEY +{ + LONG KeyType; + ULONG Length; + PUCHAR Value; +} KERB_CRYPTO_KEY, *PKERB_CRYPTO_KEY; + +typedef struct _KERB_EXTERNAL_NAME +{ + SHORT NameType; + USHORT NameCount; + UNICODE_STRING Names[ANYSIZE_ARRAY]; +} KERB_EXTERNAL_NAME, *PKERB_EXTERNAL_NAME; + +typedef struct _KERB_EXTERNAL_TICKET +{ + PKERB_EXTERNAL_NAME ServiceName; + PKERB_EXTERNAL_NAME TargetName; + PKERB_EXTERNAL_NAME ClientName; + UNICODE_STRING DomainName; + UNICODE_STRING TargetDomainName; + UNICODE_STRING AltTargetDomainName; + KERB_CRYPTO_KEY SessionKey; + ULONG TicketFlags; + ULONG Flags; + LARGE_INTEGER KeyExpirationTime; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + LARGE_INTEGER RenewUntil; + LARGE_INTEGER TimeSkew; + ULONG EncodedTicketSize; + PUCHAR EncodedTicket; +} KERB_EXTERNAL_TICKET, *PKERB_EXTERNAL_TICKET; + typedef struct _KERB_QUERY_TKT_CACHE_REQUEST { KERB_PROTOCOL_MESSAGE_TYPE MessageType; @@ -451,6 +485,11 @@ typedef struct _KERB_RETRIEVE_TKT_REQUEST SecHandle CredentialsHandle; } KERB_RETRIEVE_TKT_REQUEST, *PKERB_RETRIEVE_TKT_REQUEST; +typedef struct _KERB_RETRIEVE_TKT_RESPONSE +{ + KERB_EXTERNAL_TICKET Ticket; +} KERB_RETRIEVE_TKT_RESPONSE,*PKERB_RETRIEVE_TKT_RESPONSE; + typedef struct _KERB_PURGE_TKT_CACHE_REQUEST { KERB_PROTOCOL_MESSAGE_TYPE MessageType; @@ -459,6 +498,50 @@ typedef struct _KERB_PURGE_TKT_CACHE_REQUEST UNICODE_STRING RealmName; } KERB_PURGE_TKT_CACHE_REQUEST, *PKERB_PURGE_TKT_CACHE_REQUEST; +#define KERB_ETYPE_NULL 0 +#define KERB_ETYPE_DES_CBC_CRC 1 +#define KERB_ETYPE_DES_CBC_MD4 2 +#define KERB_ETYPE_DES_CBC_MD5 3 +#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96 17 +#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96 18 + +#define KERB_ETYPE_RC4_MD4 -128 +#define KERB_ETYPE_RC4_PLAIN2 -129 +#define KERB_ETYPE_RC4_LM -130 +#define KERB_ETYPE_RC4_SHA -131 +#define KERB_ETYPE_DES_PLAIN -132 +#define KERB_ETYPE_RC4_HMAC_OLD -133 +#define KERB_ETYPE_RC4_PLAIN_OLD -134 +#define KERB_ETYPE_RC4_HMAC_OLD_EXP -135 +#define KERB_ETYPE_RC4_PLAIN_OLD_EXP -136 +#define KERB_ETYPE_RC4_PLAIN -140 +#define KERB_ETYPE_RC4_PLAIN_EXP -141 +#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN -148 +#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN -149 + +#define KERB_ETYPE_DSA_SHA1_CMS 9 +#define KERB_ETYPE_RSA_MD5_CMS 10 +#define KERB_ETYPE_RSA_SHA1_CMS 11 +#define KERB_ETYPE_RC2_CBC_ENV 12 +#define KERB_ETYPE_RSA_ENV 13 +#define KERB_ETYPE_RSA_ES_OEAP_ENV 14 +#define KERB_ETYPE_DES_EDE3_CBC_ENV 15 + +#define KERB_ETYPE_DSA_SIGN 8 +#define KERB_ETYPE_RSA_PRIV 9 +#define KERB_ETYPE_RSA_PUB 10 +#define KERB_ETYPE_RSA_PUB_MD5 11 +#define KERB_ETYPE_RSA_PUB_SHA1 12 +#define KERB_ETYPE_PKCS7_PUB 13 + +#define KERB_ETYPE_DES3_CBC_MD5 5 +#define KERB_ETYPE_DES3_CBC_SHA1 7 +#define KERB_ETYPE_DES3_CBC_SHA1_KD 16 + +#define KERB_ETYPE_DES_CBC_MD5_NT 20 +#define KERB_ETYPE_RC4_HMAC_NT 23 +#define KERB_ETYPE_RC4_HMAC_NT_EXP 24 + #define RtlGenRandom SystemFunction036 #define RtlEncryptMemory SystemFunction040 #define RtlDecryptMemory SystemFunction041 -- 2.11.4.GIT