20#ifndef WINPR_SECAPI_H_
21#define WINPR_SECAPI_H_
28#include <winpr/wtypes.h>
33 KerbInteractiveLogon = 2,
34 KerbSmartCardLogon = 6,
35 KerbWorkstationUnlockLogon = 7,
36 KerbSmartCardUnlockLogon = 8,
39 KerbTicketUnlockLogon = 11,
41 KerbCertificateLogon = 13,
42 KerbCertificateS4ULogon = 14,
43 KerbCertificateUnlockLogon = 15,
44 KerbNoElevationLogon = 83,
46} KERB_LOGON_SUBMIT_TYPE,
47 *PKERB_LOGON_SUBMIT_TYPE;
51 KERB_LOGON_SUBMIT_TYPE MessageType;
53 ULONG ServiceTicketLength;
54 ULONG TicketGrantingTicketLength;
56 PUCHAR TicketGrantingTicket;
59#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x1
61#define MSV1_0_OWF_PASSWORD_LENGTH 16
67 UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
68 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
71#define MSV1_0_CRED_VERSION_REMOTE 0xffff0002
73typedef enum _MSV1_0_CREDENTIAL_KEY_TYPE
79 ExternallySuppliedCredKey
80} MSV1_0_CREDENTIAL_KEY_TYPE;
82#define MSV1_0_CREDENTIAL_KEY_LENGTH 20
83#define MSV1_0_CRED_LM_PRESENT 0x1
84#define MSV1_0_CRED_NT_PRESENT 0x2
85#define MSV1_0_CRED_REMOVED 0x4
86#define MSV1_0_CRED_CREDKEY_PRESENT 0x8
87#define MSV1_0_CRED_SHA_PRESENT 0x10
91 UCHAR Data[MSV1_0_CREDENTIAL_KEY_LENGTH];
99 MSV1_0_CREDENTIAL_KEY_TYPE CredentialKeyType;
100 ULONG EncryptedCredsSize;
101 UCHAR EncryptedCreds[1];
106#ifndef KERB_LOGON_FLAG_REDIRECTED
107#define KERB_LOGON_FLAG_REDIRECTED 0x2