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.
159 lines
2.7 KiB
159 lines
2.7 KiB
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
All rights reserved
|
|
|
|
Module Name:
|
|
|
|
krbutils.hxx
|
|
|
|
Abstract:
|
|
|
|
utils
|
|
|
|
Author:
|
|
|
|
Larry Zhu (LZhu) December 1, 2001 Created
|
|
|
|
Environment:
|
|
|
|
User Mode -Win32
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef KRB_UTILS_HXX
|
|
#define KRB_UTILS_HXX
|
|
|
|
#include <krb5.h>
|
|
#include <krb5p.h>
|
|
#include <kerberr.h>
|
|
#include <kerbcomm.h>
|
|
|
|
VOID
|
|
KerbFreeRealm(
|
|
IN PKERB_REALM pRealm
|
|
);
|
|
|
|
VOID
|
|
KerbFreePrincipalName(
|
|
IN PKERB_PRINCIPAL_NAME pName
|
|
);
|
|
|
|
VOID
|
|
KerbFreeData(
|
|
IN ULONG PduValue,
|
|
IN PVOID pData
|
|
);
|
|
|
|
EXTERN_C VOID ASN1CALL KRB5_Module_Startup(VOID);
|
|
|
|
KERBERR
|
|
KerbInitAsn(
|
|
IN OUT ASN1encoding_t * pEnc,
|
|
IN OUT ASN1decoding_t * pDec
|
|
);
|
|
|
|
VOID
|
|
KerbTermAsn(
|
|
IN ASN1encoding_t pEnc,
|
|
IN ASN1decoding_t pDec
|
|
);
|
|
|
|
KERBERR
|
|
KerbEncryptDataEx(
|
|
OUT PKERB_ENCRYPTED_DATA pEncryptedData,
|
|
IN ULONG cbDataSize,
|
|
IN PUCHAR Data,
|
|
IN ULONG KeyVersion,
|
|
IN ULONG UsageFlags,
|
|
IN PKERB_ENCRYPTION_KEY pKey
|
|
);
|
|
|
|
KERBERR
|
|
KerbAllocateEncryptionBuffer(
|
|
IN ULONG EncryptionType,
|
|
IN ULONG cbBufferSize,
|
|
OUT PUINT pcbEncryptionBufferSize,
|
|
OUT PBYTE* pEncryptionBuffer
|
|
);
|
|
|
|
KERBERR
|
|
KerbAllocateEncryptionBufferWrapper(
|
|
IN ULONG EncryptionType,
|
|
IN ULONG cbBufferSize,
|
|
OUT ULONG* pcbEncryptionBufferSize,
|
|
OUT PBYTE* pEncryptionBuffer
|
|
);
|
|
|
|
KERBERR
|
|
KerbGetEncryptionOverhead(
|
|
IN ULONG Algorithm,
|
|
OUT PULONG pcbOverhead,
|
|
OUT OPTIONAL PULONG pcbBlockSize
|
|
);
|
|
|
|
KERBERR NTAPI
|
|
KerbPackData(
|
|
IN PVOID Data,
|
|
IN ULONG PduValue,
|
|
OUT PULONG pcbDataSize,
|
|
OUT PUCHAR * MarshalledData
|
|
);
|
|
|
|
KERBERR
|
|
KerbConvertUnicodeStringToRealm(
|
|
OUT PKERB_REALM pRealm,
|
|
IN PUNICODE_STRING pString
|
|
);
|
|
|
|
KERBERR
|
|
KerbUnicodeStringToKerbString(
|
|
OUT PSTRING pKerbString,
|
|
IN PUNICODE_STRING pString
|
|
);
|
|
|
|
KERBERR
|
|
KerbConvertKdcNameToPrincipalName(
|
|
OUT PKERB_PRINCIPAL_NAME pPrincipalName,
|
|
IN PKERB_INTERNAL_NAME pKdcName
|
|
);
|
|
|
|
ULONG
|
|
KerbConvertUlongToFlagUlong(
|
|
IN ULONG Flag
|
|
);
|
|
|
|
VOID
|
|
KerbConvertLargeIntToGeneralizedTime(
|
|
OUT PKERB_TIME pClientTime,
|
|
OUT OPTIONAL INT* pClientUsec,
|
|
IN PTimeStamp pTimeStamp
|
|
);
|
|
|
|
NTSTATUS
|
|
KerbMapKerbError(
|
|
IN KERBERR KerbError
|
|
);
|
|
|
|
KERBERR NTAPI
|
|
KerbUnpackData(
|
|
IN PUCHAR pData,
|
|
IN ULONG cbDataSize,
|
|
IN ULONG PduValue,
|
|
OUT PVOID * pDecodedData
|
|
);
|
|
|
|
PSTR
|
|
KerbAllocUtf8StrFromUnicodeString(
|
|
IN PUNICODE_STRING pUnicodeString
|
|
);
|
|
|
|
EXTERN_C
|
|
NTSTATUS NTAPI
|
|
CDLocateCSystem(
|
|
ULONG EncryptionType,
|
|
PCRYPTO_SYSTEM* pCryptoSystem
|
|
);
|
|
|
|
#endif // #ifndef KRB_UTILS_HXX
|