我正在使用VC 2008并使用.net代码。我做的HttpWebRequest客户端永远不能连接到使用不受信任的证书的服务器(我制作了该证书,因此它是不可信的)。错误是“TrustFailure”。
在C#中,我们可以做到
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
但是如何将其转换为C ++语法?
ServicePointManager::ServerCertificateValidationCallback = delegate { return true; };
// does not work
非常感谢!
答案 0 :(得分:2)
我在我的类中定义了一个委托方法,并在构造函数中注册了它 System :: Net :: ServicePointManager :: ServerCertificateValidationCallback
bool CMyClass::AcceptingCertificate(System::Object^ rObjectSender, X509Certificate^ rX509Certificate, X509Chain^ rX509Chain , SslPolicyErrors rErrors)
{
return true;
}
CMyClass::CMyClass(void)
{
System::Net::ServicePointManager::ServerCertificateValidationCallback = gcnew RemoteCertificateValidationCallback(&CMyClass::AcceptingCertificate);
}
答案 1 :(得分:1)
我知道这可能不是您正在寻找的答案,但是您不能编写处理此问题的c#方法并且只是从您的C ++代码中调用它吗?