Was ist ein SSL-Zertifikat?
SSL (Secure Sockets Layer) ist ein Standard-Sicherheitsprotokoll zum Herstellen einer sicheren Verbindung zwischen dem Server und dem Client, bei dem es sich um einen Browser handelt.
Das SSL-Zertifikat (Secure Socket Layer) gewährleistet die sichere Transformation von Daten zwischen Server und Client-Anwendung unter Verwendung eines starken Verschlüsselungsstandards oder einer digitalen Signatur. Man muss ein SSL-Zertifikat oder ein Codesignaturzertifikat installieren.
In diesem Tutorial lernen Sie:
- Was ist ein SSL-Zertifikat?
- Vorteile des SSL-Zertifikats
- Wie erstellt das SSL-Zertifikat eine sichere Verbindung?
- Arten von SSL-Zertifikaten
- Wie SSL-Zertifikate überprüft werden
- Arten von SSL-Zertifikatfehlern
- So behandeln Sie SSL-Zertifikatfehler mit Selenium Webdriver
- Fehlerbehandlung bei SSL-Zertifikaten in Firefox
- Fehlerbehandlung bei SSL-Zertifikaten in Chrome
- Fehlerbehandlung von SSL-Zertifikaten im IE
Vorteile des SSL-Zertifikats
Es gibt eine Reihe von Vorteilen bei der Verwendung von SSL-Zertifikaten wie:
- Man kann das Vertrauen seiner Benutzer und Kunden erhöhen, um das Wachstum des Unternehmens schnell zu fördern
- Diese Zertifikate schützen Online-Transaktionen und vertrauliche Informationen von Kunden wie Kreditkarten- / Debitkartendaten usw.
- Das Signaturzertifikat erhält in der Regel eine maximale Anzahl von Downloads und guten Bewertungen von Benutzern.
SSL-gesicherte Websites beginnen mit https: // und Sie können ein Schlosssymbol oder eine grüne Adressleiste sehen, wenn die Verbindung sicher hergestellt ist.
Zum Beispiel, wenn Sie eine Transaktion über Net Banking durchführen oder ein Mobiltelefon über eine E-Commerce-Website wie Flipkart oder Amazon kaufen möchten.
Was passiert zwischen dem Webbrowser und dem Server?
- Ein Browser versucht, eine Verbindung zu einer mit SSL gesicherten Website herzustellen. Der Browser fordert den Webserver auf, sich zu identifizieren
- Der Server sendet dem Browser eine Kopie seines SSL-Zertifikats
- Der Browser überprüft, ob das SSL-Zertifikat echt ist. In diesem Fall wird eine Nachricht an den Server gesendet
- Der Server sendet eine digital signierte Bestätigung zurück, um eine SSL-verschlüsselte Sitzung zu starten
- Die verschlüsselten Daten werden zwischen dem Server und dem Browser geteilt
Dabei müssen Sie vertrauliche Informationen wie Kreditkartennummern oder Anmeldeinformationen übertragen, die sicher übertragen werden müssen, damit sie nicht gehackt oder abgefangen werden können.
Zum Beispiel
- Geben Sie https://netbanking.hdfcbank.com/netbanking/ ein .
- Drücke Enter.
- Im Browser wird eine grüne Adressleiste angezeigt: -
Wie erstellt das SSL-Zertifikat eine sichere Verbindung?
- Der Browser sendet eine HTTPS-Anfrage an den Server.
- Jetzt muss der Server dem Browser eine Identifikation zur Verfügung stellen, um zu beweisen, dass er vertrauenswürdig ist. Dies kann durch Senden einer Kopie des SSL-Zertifikats an den Browser erfolgen.
- Jeder Browser verfügt über eine eigene Liste vertrauenswürdiger Zertifizierungsstellen. Der Browser überprüft den Zertifikatstamm anhand der Liste der vertrauenswürdigen Zertifizierungsstellen und stellt fest, dass das Zertifikat nicht abgelaufen und nicht widerrufen wurde und dass der allgemeine Name für die Website gültig ist, zu der eine Verbindung hergestellt wird.
- Wenn der Browser dem Zertifikat vertraut, wird eine verschlüsselte Sitzung zwischen dem Server und dem Browser erstellt.
- Server und Browser können verschlüsselte Nachrichten senden
Arten von SSL-Zertifikaten
Der Browser und der Server verwenden den SSL-Zertifikatmechanismus, um eine sichere Verbindung herzustellen. Diese Verbindung beinhaltet die Überprüfung von drei Arten von Zertifikaten.
- Wurzel
- Mittlere
- Server-Zertifikat
Prozess des Erhaltens des SSL-Zertifikats
Der Vorgang zum Abrufen des SSL-Zertifikats umfasst die folgenden Schritte: -
- Zunächst müssen Sie eine CSR-Anforderung (Certificate Signing Request erstellen) erstellen.
- Die CSR-Anforderung erstellt eine CSR-Datendatei, die an den als CA (Certificate Authority) bezeichneten SSL-Zertifikatsaussteller gesendet wird.
- Die Zertifizierungsstelle verwendet die CSR-Datendateien, um ein SSL-Zertifikat für Ihren Server zu erstellen.
- Nach Erhalt des SSL-Zertifikats müssen Sie es auf Ihrem Server installieren.
- Außerdem muss ein Zwischenzertifikat installiert werden, das Ihr SSL-Zertifikat mit dem Stammzertifikat der Zertifizierungsstelle verknüpft.
Das folgende Bild zeigt alle drei Zertifikate - Root-, Intermediate- und Server-Zertifikat.
Wie SSL-Zertifikate überprüft werden
SSL funktioniert durch eine Kombination von Programmen und Verschlüsselungs- / Entschlüsselungsroutinen, die auf dem Webserver-Computer und dem Webserver-Browser vorhanden sind.
Das SSL-Zertifikat enthält im Wesentlichen die folgenden Informationen.
- Betreff, bei dem es sich um die Identität des Website-Eigentümers handelt.
- Gültigkeitsinformationen - ein öffentlicher und ein privater Schlüssel.
Der private und der öffentliche Schlüssel sind zwei eindeutig verwandte kryptografische Schlüssel (Zahlen). Was auch immer mit einem öffentlichen Schlüssel verschlüsselt wird, darf nur mit einem privaten Schlüssel entschlüsselt werden.
Wenn aufgrund des Zertifikats keine sichere Verbindung zwischen Server und Client hergestellt wird, wird der folgende SSL-Zertifikatfehler angezeigt.
Arten von SSL-Zertifikatfehlern
Angenommen, Sie geben eine https-Anforderung in den Browser ein und erhalten je nach verwendetem Browser die Meldung "Diese Verbindung ist nicht vertrauenswürdig" oder "Das Sicherheitszertifikat der Site ist nicht vertrauenswürdig". Dann unterliegt ein solcher Fehler einem SSL-Zertifikatfehler.
Wenn der Browser keine sichere Verbindung mit dem angeforderten Zertifikat herstellen kann, löst der Browser die folgende Ausnahme "Nicht vertrauenswürdige Verbindung" aus und fordert den Benutzer auf, die entsprechenden Maßnahmen zu ergreifen.
Die Arten von Fehlern, die Sie wahrscheinlich aufgrund eines Zertifikats in verschiedenen Browsern sehen, sind möglicherweise ähnlich
- FireFox - Diese Verbindung ist nicht vertrauenswürdig
- Google Chrome - Diese Website-Sicherheit ist nicht vertrauenswürdig
- Internet Explorer (IE) - Dieses auf dieser Website präsentierte Sicherheitszertifikat wurde von einer vertrauenswürdigen Zertifizierungsstelle (CA) nicht als vertrauenswürdig eingestuft.
So behandeln Sie SSL-Zertifikatfehler mit Selenium Webdriver
Angenommen, wir haben einige Testskripte geschrieben und während der Ausführung des Skripts haben wir oben die Situation "Nicht vertrauenswürdige Verbindung" festgestellt. Wie behandeln wir die Ausnahme nur durch Automatisierung?
In diesem Fall müssen wir unser Skript so anpassen, dass es sich selbst um die SSL-Ausnahme kümmert.
Die Skripte müssen entsprechend dem Typ der von uns verwendeten Browserinstanz geändert werden. Diese, wenn gewünscht Fähigkeiten kommt im Bild.
Gewünschte Funktionen werden verwendet, um die Treiberinstanz von Selenium Webdriver zu konfigurieren. Über die gewünschten Funktionen können alle Treiberinstanzen wie ChromeDriver, FirefoxDriver und Internet Explorer konfiguriert werden.
Derzeit haben wir keine spezifische URL zum Erstellen des obigen Szenarios, aber ich biete Schritte an, die wir im Selenium-Skript hinzufügen können, um die oben genannte Situation "Nicht vertrauenswürdige Verbindung" zu behandeln.
Fehlerbehandlung bei SSL-Zertifikaten in Firefox
Um SSL-Zertifikatfehler in Firefox zu behandeln, müssen wir die gewünschten Funktionen von Selenium Webdriver verwenden und die folgenden Schritte ausführen.
Schritt 1) : Zuerst müssen wir ein neues Firefox-Profil erstellen, sagen wir " myProfile ". Sie können auf Google verweisen, um zu erfahren, wie Sie ein Firefox-Profil erstellen. Es ist einfach und leicht.
Schritt 2) : Greifen Sie nun wie folgt auf myProfile im Skript zu und erstellen Sie das FirefoxProfile-Objekt.
ProfilesIni prof = new ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")
Schritt 3) : Jetzt müssen wir die Eigenschaften " setAcceptUntrustedCertificates " und " setAssumeUntrustedCertificateIssuer " im Fire Fox-Profil festlegen .
ffProfile.setAcceptUntrustedCertificates (true)ffProfile.setAssumeUntrustedCertificateIssuer (false)
Schritt 4) : Verwenden Sie nun das FireFox-Profil im FireFox-Treiberobjekt.
WebDriver-Treiber = neuer FirefoxDriver (ffProfile)
Hinweis : "setAcceptUntrustedCertificates" und "setAssumeUntrustedCertificateIssuer " sind Funktionen zur Behandlung von Zertifikatfehlern in Webbrowsern.
Fehlerbehandlung bei SSL-Zertifikaten in Chrome
Für die Behandlung von SSL-Fehlern in Chrome müssen die gewünschten Funktionen von Selenium Webdriver verwendet werden. Der folgende Code hilft dabei, das gesamte SSL-Zertifikat in Chrome zu akzeptieren, und der Benutzer erhält mit diesem Code keinen Fehler im Zusammenhang mit dem SSL-Zertifikat.
Wir müssen eine Instanz der DesiredCapabilities-Klasse wie folgt erstellen: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)WebDriver-Treiber = neuer ChromeDriver (handlSSLErr);
Fehlerbehandlung von SSL-Zertifikaten im IE
Im Gegensatz zum Umgang mit SSL-Zertifikaten im Chrome-Browser und in Firefox müssen Sie im IE möglicherweise mit Javascript umgehen.
Um das SSL-Zertifikat im IE zu verarbeiten, können Sie diese Situation auf zwei Arten behandeln:
- Hier klicken Sie auf den Link " Weiter zu dieser Website (nicht empfohlen)". Im Folgenden erfahren Sie, wie Sie mit SSL-Fehlern im IE umgehen.
Beachten Sie den SSL-Zertifikatfehler im IE-Browser. Dort finden Sie den Link "Weiter zu dieser Website (nicht empfohlen)". Dieser Link hat die ID "Link überschreiben". Sie können die ID im HTML-Modus mit F12 anzeigen.
Klicken Sie auf den Link mit der Methode driver.navigate () mit JavaScript wie folgt: -
driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
- Die zweite Methode ist dem Chrome-SSL-Handling-Code ziemlich ähnlich
DesiredCapabilities-Funktionen = neue DesiredCapabilities ();Capabilities.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");WebDriver-Treiber = neuer InternetExplorerDriver (Funktionen);
Der obige Code hilft bei der Behandlung von SSL-Zertifikatfehlern im IE.
Zusammenfassung:
- SSL (Secure Sockets Layer) ist ein Standardsicherheitsprotokoll zum Herstellen einer sicheren Verbindung zwischen dem Server und dem Client
- Der Browser und der Server verwenden den SSL-Zertifikatmechanismus, um eine sichere Verbindung herzustellen.
- SSL funktioniert durch eine Kombination von Programmen und Verschlüsselungs- / Entschlüsselungsroutinen, die auf dem Webserver-Computer und dem Webserver-Browser vorhanden sind.
- Wenn aufgrund eines Zertifikats keine sichere Verbindung zwischen Server und Client hergestellt wird, tritt ein SSL-Zertifikatfehler auf
- Sie müssen unser Skript so anpassen, dass es die SSL-Ausnahme / den SSL-Fehler selbst über den Selenium-Webtreiber beseitigt.