SSL HttpWebRequest al sito con certificato non corrispondenti su Azure?
-
06-09-2019 - |
Domanda
Abbiamo un cliente con i certificati SSL non corrispondenti nel loro ambiente di QA. Stiamo facendo HttpWebRequest chiamate a tali risorse Web SSL protetto all'interno di un ruolo web Azure. Per aggirare i loro certificati, abbiamo impostato ServicePointManager.CertificatePolicy ad una nuova politica che accetta tutti i certificati. Questo funziona in un ambiente pieno di fiducia, ma non riesce con un'eccezione SecurityPermission quando cerchiamo di impostare la CertificatePolicy all'interno dell'ambiente Azure meno-che-pieno-trust. C'è un modo che noi possiamo fare quelle chiamate di lavoro da dentro il nostro servizio di Azure?
Soluzione
Le rispondo alla mia domanda!
A quanto pare, per l'esecuzione in piena fiducia è sufficiente enableNativeCodeExecution = "true" nella configurazione di ruolo web.
Altri suggerimenti
Questo potrebbe essere qualcosa?
System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate (
object sender,
X509Certificate cert,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
{
return true; //Is valid
}
//Add the mismatched certificate hashstring below.
//That way only that resource will be affected and not all certificates will be trusted.
if (cert.GetCertHashString() == "99E92D8447AEF30483B1D7527812C9B7B3A915A7")
{
return true;
}
return false;
};