20#ifndef WINPR_SECAPI_H_
21#define WINPR_SECAPI_H_
26#define KerbInvalidValue 0
29#include <winpr/wtypes.h>
34 KerbInteractiveLogon = 2,
35 KerbSmartCardLogon = 6,
36 KerbWorkstationUnlockLogon = 7,
37 KerbSmartCardUnlockLogon = 8,
40 KerbTicketUnlockLogon = 11,
42 KerbCertificateLogon = 13,
43 KerbCertificateS4ULogon = 14,
44 KerbCertificateUnlockLogon = 15,
45 KerbNoElevationLogon = 83,
47} KERB_LOGON_SUBMIT_TYPE,
48 *PKERB_LOGON_SUBMIT_TYPE;
52 KERB_LOGON_SUBMIT_TYPE MessageType;
54 ULONG ServiceTicketLength;
55 ULONG TicketGrantingTicketLength;
57 PUCHAR TicketGrantingTicket;
60#define KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET 0x1
62#define MSV1_0_OWF_PASSWORD_LENGTH 16
68 UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
69 UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
72#define MSV1_0_CRED_VERSION_REMOTE 0xffff0002
80 ExternallySuppliedCredKey
81} MSV1_0_CREDENTIAL_KEY_TYPE;
83#define MSV1_0_CREDENTIAL_KEY_LENGTH 20
84#define MSV1_0_CRED_LM_PRESENT 0x1
85#define MSV1_0_CRED_NT_PRESENT 0x2
86#define MSV1_0_CRED_REMOVED 0x4
87#define MSV1_0_CRED_CREDKEY_PRESENT 0x8
88#define MSV1_0_CRED_SHA_PRESENT 0x10
92 UCHAR Data[MSV1_0_CREDENTIAL_KEY_LENGTH];
100 MSV1_0_CREDENTIAL_KEY_TYPE CredentialKeyType;
101 ULONG EncryptedCredsSize;
102 UCHAR EncryptedCreds[1];
107#ifndef KERB_LOGON_FLAG_REDIRECTED
108#define KERB_LOGON_FLAG_REDIRECTED 0x2