12 {
14 bool flag = chain.
Build(remoteCertificate);
16 {
18 }
19 if (checkCertName)
20 {
21 uint num = 0u;
22 global::Interop.Crypt32.SSL_EXTRA_CERT_CHAIN_POLICY_PARA sSL_EXTRA_CERT_CHAIN_POLICY_PARA = default(global::Interop.Crypt32.SSL_EXTRA_CERT_CHAIN_POLICY_PARA);
23 sSL_EXTRA_CERT_CHAIN_POLICY_PARA.cbSize = (uint)sizeof(global::Interop.Crypt32.SSL_EXTRA_CERT_CHAIN_POLICY_PARA);
24 sSL_EXTRA_CERT_CHAIN_POLICY_PARA.dwAuthType = (isServer ? 1u : 2u);
25 sSL_EXTRA_CERT_CHAIN_POLICY_PARA.fdwChecks = 0u;
26 sSL_EXTRA_CERT_CHAIN_POLICY_PARA.pwszServerName = null;
27 global::Interop.Crypt32.SSL_EXTRA_CERT_CHAIN_POLICY_PARA sSL_EXTRA_CERT_CHAIN_POLICY_PARA2 = sSL_EXTRA_CERT_CHAIN_POLICY_PARA;
28 global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA cERT_CHAIN_POLICY_PARA = default(global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA);
29 cERT_CHAIN_POLICY_PARA.cbSize = (uint)sizeof(global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA);
30 cERT_CHAIN_POLICY_PARA.dwFlags = 0u;
31 cERT_CHAIN_POLICY_PARA.pvExtraPolicyPara = &sSL_EXTRA_CERT_CHAIN_POLICY_PARA2;
32 global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA cpp = cERT_CHAIN_POLICY_PARA;
33 fixed (char* pwszServerName = hostName)
34 {
35 sSL_EXTRA_CERT_CHAIN_POLICY_PARA2.pwszServerName = pwszServerName;
36 cpp.dwFlags |= 4031u;
38 num =
Verify(safeHandle, ref cpp);
39 if (num == 2148204815u)
40 {
42 }
43 }
44 }
45 if (!flag)
46 {
48 }
49 return sslPolicyErrors;
50 }
static unsafe uint Verify(SafeX509ChainHandle chainContext, ref global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA cpp)
static int GetLastPInvokeError()
IntPtr DangerousGetHandle()
SafeX509ChainHandle? SafeHandle
bool Build(X509Certificate2 certificate)