Jestliže se Vám podobně jako nám při řešení jednoho nedávného importu dat stalo, že .NET tvrdě odmítá neautorizované SSL certifikáty, respektive ty, které nepodepsala nějaká důvěryhodná autorita (VeriSign apod.) je potřeba .NET ujistit definovanou Policy, že má akceptovat vše. Např.
/// <summary>
/// bezpecnostproakceptovali libovolneho SSL certifikatu (https)
/// </summary>
public class AkceptujVsePolicy:ICertificatePolicy
{
public bool CheckValidationResult(
ServicePoint srvPoint
, X509Certificate certificate
, WebRequest request
, int certificateProblem)
{
// vzdy povol, akceptuj vse ...
return true;
}
}
a pak dále před nastolením komunikace Policy aktivovat:
// akceptuj jakykoliv server certifikat
System.Net.ServicePointManager.CertificatePolicy = new AkceptujVsePolicy();
...
Funguje a akceptuje libovolný SSL spoj. Má to ale háček, řešení je platné pro celou .NET AppDomain, proto můžou být problémem použití v kombinaci s vyžadovaným ověřením.