19 #ifndef INCLUDE_RCF_SCHANNEL_HPP
20 #define INCLUDE_RCF_SCHANNEL_HPP
22 #include <RCF/Filter.hpp>
23 #include <RCF/SspiFilter.hpp>
24 #include <RCF/util/Tchar.hpp>
31 #define SP_PROT_NONE 0
37 static const ULONG DefaultSchannelContextRequirements =
38 ASC_REQ_SEQUENCE_DETECT |
39 ASC_REQ_REPLAY_DETECT |
40 ASC_REQ_CONFIDENTIALITY |
41 ASC_REQ_EXTENDED_ERROR |
42 ASC_REQ_ALLOCATE_MEMORY |
45 class SchannelServerFilter :
public SspiServerFilter
50 DWORD enabledProtocols,
51 ULONG contextRequirements);
53 int getFilterId()
const;
56 class SchannelFilterFactory :
public FilterFactory
60 SchannelFilterFactory(
61 DWORD enabledProtocols = SP_PROT_TLS1_2_SERVER,
62 ULONG contextRequirements = DefaultSchannelContextRequirements);
64 FilterPtr createFilter(RcfServer & server);
69 ULONG mContextRequirements;
70 DWORD mEnabledProtocols;
73 class SchannelClientFilter :
public SspiClientFilter
77 ClientStub * pClientStub,
78 DWORD enabledProtocols = SP_PROT_TLS1_2_CLIENT | SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_0_CLIENT,
79 ULONG contextRequirements = DefaultSchannelContextRequirements);
81 int getFilterId()
const;
84 typedef SchannelClientFilter SchannelFilter;
88 #endif // ! INCLUDE_RCF_SCHANNEL_HPP