Ahojte, mám problém s mojí webovou službou ve které musím použít pro komunikaci s jinou webovou službou https protokol. Z mého počítače to funguje správně, ale ze serveru, kde je nainstalován Windows Server 2003 nebo Windows Server 2012 R2 to skončí hlášením "The request was aborted: Could not create SSL/TLS secure channel.". Je potřeba na serveru s certifikátem ještě něco udělat, aby ho mohla moje webová služba použít ke komunikaci s jiným serverem? Kód:
private bool CertValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyErrors)
{
return true;
}
public string Test()
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CertValidation);
X509Certificate cert = null;
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509CertificateCollection colCert = store.Certificates.Find(X509FindType.FindBySerialNumber, "12345678901234567890", true);
cert = colCert[0];
store.Close();
WebReference1.Sluzba sluzba;
sluzba = new WebReference1.Sluzba sluzba();
sluzba.ClientCertificates.Add(cert);
sluzba.PreAuthenticate = true;
sluzba.Credentials = System.Net.CredentialCache.DefaultCredentials;
sluzba.UnsafeAuthenticatedConnectionSharing = true;
…
Zavolám metodu webové služby a na serveru dostanu chybové hlášení „The request was aborted: Could not create SSL/TLS secure channel.“, ale na stanici mi to jede. Při volání na serveru se to ani nedostane do funkce „CertValidation“.
}
Nemá s tím prosím někdo zkušenosti proč to na serveru nejede (cerifikát mám nainstalován v osobním úložišti a je platný - normálně se najde)?
|