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.
145 lines
3.6 KiB
145 lines
3.6 KiB
//+-----------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (c) Microsoft Corporation 2000
|
|
//
|
|
// File: credman.h
|
|
//
|
|
// Contents: Structures and prototyps for accessing credential manager
|
|
//
|
|
//
|
|
// History: 23-Feb-2000 Created Jeffspel
|
|
//
|
|
//------------------------------------------------------------------------
|
|
|
|
#ifndef __CREDMAN_H__
|
|
#define __CREDMGR_H__
|
|
|
|
VOID
|
|
KerbFreeCredmanList(KERBEROS_LIST CredmanList);
|
|
|
|
VOID
|
|
KerbDereferenceCredmanCred(
|
|
IN PKERB_CREDMAN_CRED Cred,
|
|
IN PKERBEROS_LIST CredmanList
|
|
);
|
|
|
|
VOID
|
|
KerbLogCredmanError(
|
|
IN PKERB_CREDMAN_CRED Cred,
|
|
IN NTSTATUS Status
|
|
);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
KerbInitPrimaryCreds(
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN PUNICODE_STRING UserString,
|
|
IN PUNICODE_STRING DomainString,
|
|
IN PUNICODE_STRING PrincipalName,
|
|
IN PUNICODE_STRING PasswordString, // either the password or if pin
|
|
IN BOOLEAN PubKeyCreds,
|
|
IN OPTIONAL PCERT_CONTEXT pCertContext,
|
|
OUT PKERB_PRIMARY_CREDENTIAL * PrimaryCreds
|
|
);
|
|
|
|
NTSTATUS
|
|
CredpExtractMarshalledTargetInfo(
|
|
IN PUNICODE_STRING TargetServerName,
|
|
OUT CREDENTIAL_TARGET_INFORMATIONW **pTargetInfo
|
|
);
|
|
|
|
VOID
|
|
KerbReferenceCredmanCred(
|
|
IN PKERB_CREDMAN_CRED Cred,
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN BOOLEAN Unlink
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbAddCredmanCredToLogonSession(
|
|
IN PKERB_LOGON_SESSION pLogonSession,
|
|
IN PKERB_PRIMARY_CREDENTIAL CredToMatch,
|
|
IN ULONG AdditionalCredFlags,
|
|
IN OUT PKERB_CREDMAN_CRED *NewCred
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbRetrieveOWF(
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN PKERB_CREDENTIAL Credential,
|
|
IN PKERB_CREDMAN_CRED CredmanCred,
|
|
IN PUNICODE_STRING CredTargetName,
|
|
IN OUT PKERB_QUERY_SUPPLEMENTAL_CREDS_RESPONSE * Response,
|
|
IN OUT PULONG ResponseSize
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbCheckUserNameForCert(
|
|
IN PLUID ClientLogonId,
|
|
IN BOOLEAN fImpersonateClient,
|
|
IN UNICODE_STRING *pUserName,
|
|
OUT PCERT_CONTEXT *ppCertContext
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbConvertCertCredential(
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN LPCWSTR MarshalledCredential,
|
|
IN PUNICODE_STRING TargetName,
|
|
IN OUT PKERB_PRIMARY_CREDENTIAL * PrimaryCredential
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbTicklePackage(
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN PUNICODE_STRING CredentialBlob
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
KerbAddCertCredToPrimaryCredential(
|
|
IN PKERB_LOGON_SESSION pLogonSession,
|
|
IN PUNICODE_STRING pTargetName,
|
|
IN PCERT_CONTEXT pCertContext,
|
|
IN PUNICODE_STRING pPin,
|
|
IN ULONG CredFlags,
|
|
IN OUT PKERB_PRIMARY_CREDENTIAL *ppCredMgrCred);
|
|
|
|
NTSTATUS
|
|
KerbCheckCredMgrForGivenTarget(
|
|
IN PKERB_LOGON_SESSION pLogonSession,
|
|
IN PKERB_CREDENTIAL Credential,
|
|
IN PUNICODE_STRING SuppliedTargetName,
|
|
IN PKERB_INTERNAL_NAME pTargetName,
|
|
IN ULONG TargetInfoFlags,
|
|
IN PUNICODE_STRING pTargetDomainName,
|
|
IN PUNICODE_STRING pTargetForestName,
|
|
IN OUT PKERB_CREDMAN_CRED *CredmanCred,
|
|
IN OUT PBYTE *pbMarshalledTargetInfo,
|
|
IN OUT ULONG *cbMarshalledTargetInfo
|
|
);
|
|
|
|
VOID
|
|
KerbNotifyCredentialManager(
|
|
IN PKERB_LOGON_SESSION LogonSession,
|
|
IN PKERB_CHANGEPASSWORD_REQUEST ChangeRequest,
|
|
IN PKERB_INTERNAL_NAME ClientName,
|
|
IN PUNICODE_STRING RealmName
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbProcessUserNameCredential(
|
|
IN PUNICODE_STRING MarshalledUserName,
|
|
OUT PUNICODE_STRING UserName,
|
|
OUT PUNICODE_STRING DomainName,
|
|
OUT PUNICODE_STRING Password
|
|
);
|
|
|
|
|
|
|
|
#define RAS_CREDENTIAL 0x1
|
|
|
|
#endif // __CREDMAN_H__
|