internal static extern void SetCertificateVerifyCallback(PCertificateVerifyCallback p);
internal static extern void SetCertificateVerifyCallback(PCertificateVerifyCallback p);
static SSL() { m_cvCallback += (preverified, depth, errCode, errMessage, ptr) => { if (CertificateVerify != null && ptr != IntPtr.Zero) { string errMsg = null; CertInfo ci = new CertInfo(); CertInfoIntenal cii = new CertInfoIntenal(); System.Runtime.InteropServices.Marshal.PtrToStructure(ptr, cii); ci.Set(cii); unsafe { if (errMessage != IntPtr.Zero) errMsg = new string((sbyte*)errMessage); } return (byte)(CertificateVerify.Invoke(preverified != 0, depth, errCode, errMsg, ci) ? 1 : 0); } return 1; }; ClientCoreLoader.SetCertificateVerifyCallback(m_cvCallback); }