75 lines
1.3 KiB
C++
75 lines
1.3 KiB
C++
|
#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
|