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?

È stato utile?

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;
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top