mirror of https://github.com/tongzx/nt5src
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.
74 lines
1.3 KiB
74 lines
1.3 KiB
#ifndef _CERTMAP_HXX_
|
|
#define _CERTMAP_HXX_
|
|
|
|
|
|
class IIS_CERTIFICATE_MAPPING
|
|
{
|
|
|
|
public:
|
|
IIS_CERTIFICATE_MAPPING();
|
|
|
|
virtual ~IIS_CERTIFICATE_MAPPING();
|
|
|
|
|
|
LONG
|
|
ReferenceCertMapping(
|
|
VOID
|
|
)
|
|
{
|
|
return InterlockedIncrement( &_cRefs );
|
|
}
|
|
|
|
LONG
|
|
DereferenceCertMapping(
|
|
VOID
|
|
)
|
|
{
|
|
LONG cRefs;
|
|
|
|
cRefs = InterlockedDecrement( &_cRefs );
|
|
if ( cRefs == 0 )
|
|
{
|
|
delete this;
|
|
}
|
|
|
|
return cRefs;
|
|
}
|
|
|
|
static
|
|
HRESULT
|
|
GetCertificateMapping(
|
|
DWORD dwSiteId,
|
|
IIS_CERTIFICATE_MAPPING ** ppCertMapping
|
|
);
|
|
|
|
HRESULT
|
|
DoMapCredential(
|
|
PBYTE pClientCertBlob,
|
|
DWORD cbClientCertBlob,
|
|
TOKEN_CACHE_ENTRY ** ppCachedToken,
|
|
BOOL * pfClientCertDeniedByMapper
|
|
);
|
|
|
|
private:
|
|
|
|
HRESULT
|
|
Read11Mappings(
|
|
DWORD dwSiteId
|
|
);
|
|
|
|
HRESULT
|
|
ReadWildcardMappings(
|
|
DWORD dwSiteId
|
|
);
|
|
|
|
|
|
|
|
LONG _cRefs;
|
|
CIisCert11Mapper * _pCert11Mapper;
|
|
CIisRuleMapper * _pCertWildcardMapper;
|
|
|
|
|
|
};
|
|
|
|
#endif
|