2025-04-27 07:49:33 -04:00

98 lines
3.0 KiB
C

//+---------------------------------------------------------------------------
//
// Microsoft Windows NT Security
// Copyright (C) Microsoft Corporation, 1992 - 1999
//
// File: ekuhlpr.h
//
// Contents: Certificate Enhanced Key Usage Helper API implementation
//
// History: 22-May-97 kirtd Created
//
//----------------------------------------------------------------------------
#if !defined(__EKUHLPR_H__)
#define __EKUHLPR_H__
PCRYPT_OBJID_BLOB EkuGetExtension (
PCCERT_CONTEXT pCertContext,
BOOL *pfAppCertPolicies
);
HRESULT EkuGetProperty (
PCCERT_CONTEXT pCertContext,
PCRYPT_OBJID_BLOB pEkuBlob
);
HRESULT EkuSetProperty (
PCCERT_CONTEXT pCertContext,
PCRYPT_OBJID_BLOB pEkuBlob
);
HRESULT EkuDecodeCertPoliciesAndConvertToUsage (
PCRYPT_OBJID_BLOB pEkuBlob,
DWORD* pcbSize,
PCERT_ENHKEY_USAGE pUsage // OPTIONAL
);
HRESULT EkuGetDecodedSize (
PCRYPT_OBJID_BLOB pEkuBlob,
DWORD* pcbSize
);
HRESULT EkuGetDecodedUsageSizes (
BOOL fExtCertPolicies,
PCRYPT_OBJID_BLOB pExtBlob,
PCRYPT_OBJID_BLOB pPropBlob,
DWORD* pcbSize,
DWORD* pcbExtSize,
DWORD* pcbPropSize
);
HRESULT EkuGetDecodedUsage (
PCRYPT_OBJID_BLOB pEkuBlob,
DWORD* pcbSize,
PCERT_ENHKEY_USAGE pUsage
);
HRESULT EkuMergeUsage (
DWORD cbSize1,
PCERT_ENHKEY_USAGE pUsage1,
DWORD cbSize2,
PCERT_ENHKEY_USAGE pUsage2,
DWORD cbSizeM,
PCERT_ENHKEY_USAGE pUsageM
);
HRESULT EkuGetMergedDecodedUsage (
BOOL fExtCertPolicies,
PCRYPT_OBJID_BLOB pExtBlob,
PCRYPT_OBJID_BLOB pPropBlob,
DWORD* pcbSize,
PCERT_ENHKEY_USAGE pUsage
);
HRESULT EkuEncodeUsage (
PCERT_ENHKEY_USAGE pUsage,
PCRYPT_OBJID_BLOB pEkuBlob
);
HRESULT EkuGetUsage (
PCCERT_CONTEXT pCertContext,
DWORD dwFlags,
DWORD* pcbSize,
PCERT_ENHKEY_USAGE* ppUsage
);
#define CERT_FIND_ALL_ENHKEY_USAGE_FLAG (CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG |\
CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG)
BOOL
EkuGetIntersectedUsageViaGetValidUsages (
PCCERT_CONTEXT pCertContext,
DWORD* pcbSize,
PCERT_ENHKEY_USAGE pUsage
);
#endif