You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.9 KiB
123 lines
2.9 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
|
//
|
|
// File: sslp.h
|
|
//
|
|
// Contents:
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 10-02-96 RichardW Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#define SECURITY_PACKAGE
|
|
#include <spbasei.h>
|
|
#include <security.h>
|
|
#include <secint.h>
|
|
|
|
#include "ssldebug.h"
|
|
#include "proto.h"
|
|
#include "userctxt.h"
|
|
|
|
#define CALLBACK_GET_KEYS 1
|
|
#define CALLBACK_DO_MAPPING 2
|
|
|
|
|
|
extern HINSTANCE hDllInstance ;
|
|
extern PLSA_SECPKG_FUNCTION_TABLE LsaTable ;
|
|
extern TOKEN_SOURCE SslTokenSource ;
|
|
extern SECURITY_STRING SslNamePrefix ;
|
|
extern SECURITY_STRING SslDomainName ;
|
|
extern SECURITY_STRING SslGlobalDnsDomainName ;
|
|
extern SECURITY_STRING SslPackageName ;
|
|
extern SECURITY_STRING SslLegacyPackageName ;
|
|
|
|
extern LSA_STRING SslPackageNameA ;
|
|
|
|
extern RTL_RESOURCE SslGlobalLock;
|
|
|
|
#define SslGlobalReadLock() RtlAcquireResourceShared(&SslGlobalLock, TRUE)
|
|
#define SslGlobalWriteLock() RtlAcquireResourceExclusive(&SslGlobalLock, TRUE)
|
|
#define SslGlobalReleaseLock() RtlReleaseResource(&SslGlobalLock)
|
|
|
|
NTSTATUS
|
|
SslInitSystemMapper(void);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
SslDoClientRequest(
|
|
IN PLSA_CLIENT_REQUEST ClientRequest,
|
|
IN PVOID ProtocolSubmitBuffer,
|
|
IN PVOID ClientBufferBase,
|
|
IN ULONG SubmitBufferLen,
|
|
OUT PVOID * ProtocolReturnBuffer,
|
|
OUT PULONG ReturnBufferLength,
|
|
OUT PNTSTATUS ProtocolStatus
|
|
);
|
|
|
|
NTSTATUS
|
|
NTAPI
|
|
SslMapExternalCredential(
|
|
IN PLSA_CLIENT_REQUEST ClientRequest,
|
|
IN PVOID ProtocolSubmitBuffer,
|
|
IN PVOID ClientBufferBase,
|
|
IN ULONG SubmitBufferLen,
|
|
OUT PVOID * ProtocolReturnBuffer,
|
|
OUT PULONG ReturnBufferLength,
|
|
OUT PNTSTATUS ProtocolStatus
|
|
);
|
|
|
|
NTSTATUS
|
|
SslDuplicateString(
|
|
PUNICODE_STRING Dest,
|
|
PUNICODE_STRING Source
|
|
);
|
|
|
|
|
|
VOID
|
|
SslFreeString(
|
|
IN OPTIONAL PUNICODE_STRING String
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SslRegisterForDomainChange(
|
|
VOID);
|
|
|
|
|
|
#define REQ_UPN_MAPPING 0x00000010
|
|
#define REQ_SUBJECT_MAPPING 0x00000020
|
|
#define REQ_ISSUER_MAPPING 0x00000040
|
|
#define REQ_ISSUER_CHAIN_MAPPING 0x00000080
|
|
|
|
typedef struct _SSL_CERT_NAME_INFO {
|
|
ULONG IssuerOffset; // ASN1 encoded
|
|
ULONG IssuerLength;
|
|
} SSL_CERT_NAME_INFO, * PSSL_CERT_NAME_INFO;
|
|
|
|
typedef struct _SSL_CERT_LOGON_REQ {
|
|
ULONG MessageType ;
|
|
ULONG Length ;
|
|
ULONG OffsetCertificate ;
|
|
ULONG CertLength ;
|
|
ULONG Flags;
|
|
ULONG CertCount;
|
|
SSL_CERT_NAME_INFO NameInfo[1];
|
|
} SSL_CERT_LOGON_REQ, * PSSL_CERT_LOGON_REQ ;
|
|
|
|
typedef struct _SSL_CERT_LOGON_RESP {
|
|
ULONG MessageType ;
|
|
ULONG Length ;
|
|
ULONG OffsetAuthData ;
|
|
ULONG AuthDataLength ;
|
|
ULONG Flags ;
|
|
ULONG OffsetDomain ;
|
|
ULONG DomainLength ;
|
|
ULONG Align ;
|
|
} SSL_CERT_LOGON_RESP, * PSSL_CERT_LOGON_RESP ;
|
|
|