2009-05-28 5 views
0

Nous avons un client avec des certificats SSL incompatibles dans leur environnement de contrôle qualité. Nous effectuons des appels HttpWebRequest vers ces ressources Web protégées par SSL à partir d'un rôle Web Azure. Pour contourner leurs certificats, nous définissons ServicePointManager.CertificatePolicy sur une nouvelle stratégie qui accepte tous les certificats. Cela fonctionne dans un environnement de confiance complet, mais échoue avec une exception SecurityPermission lorsque nous essayons de définir la CertificatePolicy dans l'environnement Azure de moins de totale confiance. Est-il possible de faire fonctionner ces appels depuis notre service Azure?SSL HttpWebRequest sur le site avec un certificat incompatible sur Azure?

Répondre

0

Je vais répondre à ma propre question!

Apparemment, pour l'exécuter en toute confiance, vous devez simplement activer NativeCodeExecution = "true" dans la configuration du rôle Web.

0

Cela pourrait-être quelque chose?

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; 
}; 
Questions connexes