|
|
//+-----------------------------------------------------------------------
//
// 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__
|