2017-12-14 1 views

Antwort

1

Ist Ihr Zertifikat gültig? Dieser Fehler stammt meist von einem ungültigen oder Entwicklungszertifikat oder von einem Zertifikat, das eine andere TLS-Version als die Version bereitstellt, die der Client erwartet.

Nach this answer on Software QA können Sie normalerweise umgehen, indem Sie die ServicePointManager in einem Pre-Test-Handler-Plugin, das Sie mit Ihrem Code hinzufügen.

Bitte lesen Sie die Kommentare in diesem Beispiel von the MSDN forums - Sie sollten die Callback-Funktion ändern, um eine Überprüfung des Zertifikats durchzuführen, um sicherzustellen, dass es sich um die von Ihnen erwartete Umgebung handelt.

using System; 
using System.ComponentModel; 
using System.Net; 
using System.Net.Security; 
using System.Security.Cryptography.X509Certificates; 
using Microsoft.VisualStudio.TestTools.WebTesting; 


namespace ExperimentalTesting 
{ 
    [Description("This plugin will force the underlying System.Net ServicePointManager to negotiate downlevel SSLv3 instead of TLS. WARNING: The servers X509 Certificate will be ignored as part of this process, so verify that you are testing the correct system.")] 
    public class SSLv3ForcedPlugin : WebTestPlugin 
    { 
    [Description("Enable or Disable the plugin functionality")] 
    [DefaultValue(true)] 
    public bool Enabled {get;set;} 

    public override void PreWebTest(object sender, PreWebTestEventArgs e) 
    { 
     base.PreWebTest(sender, e); 

     // We're using SSL3 here and not TLS. Update as required. 
     // Without this line, nothing works. 
     ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

     // Wire up the callback so we can override behaviour and force it to 
     // accept the certificate 
     ServicePointManager.ServerCertificateValidationCallback = 
              RemoteCertificateValidationCB; 

     // Log the changes to the service point manager 
     e.WebTest.AddCommentToResult(this.ToString() + " has made the following modification-> ServicePointManager.SecurityProtocol set to use SSLv3 in WebTest Plugin."); 
    } 

    public static bool RemoteCertificateValidationCB(Object sender, 
                X509Certificate certificate, 
                X509Chain chain, 
                SslPolicyErrors sslPolicyErrors) 
    { 
     // Validate the certificate issuer here 
     // (at least check the O, L, C values, better yet the signature). 
     // Returning true will accept any certificate 
     return true; 
    } 
    } 
} 

Dies wird dann gemäß dem MSDN documentation on creating Web Test Plugins zu Ihrem Web-Test werden müssen hinzugefügt.

Sie benötigen einen ähnlichen Prozess folgen einem Lasttest Plug-In (vererben anstelle von `Microsoft.VisualStudio.TestTools.LoadTesting.ILoadTestPlugin) zu schaffen und die MSDN documentation on creating Load Test Plugins folgen.

+0

Wenn Ihr Load/Web-Test aufgezeichnet wurde, muss ich von vorne anfangen? Ich sehe keine Code-Dateien. – cdub

+2

@cdub Es ist Webtest Plug-In, also müssen Sie ein Plug-in erstellen und es zu Ihrem Webtest verwenden. https://msdn.microsoft.com/en-us/library/ms243191.aspx?f=255&MSPPError=-2147217396 –

+0

Danach mache ich es einfach? Ich denke, ich muss lernen, wie man es auch in die Cloud bringt. – cdub

Verwandte Themen