Πώς να χειριστείτε το πιστοποιητικό SSL στο Selenium WebDriver

Πίνακας περιεχομένων:

Anonim

Τι είναι το πιστοποιητικό SSL;

Το SSL (Secure Sockets Layer) είναι ένα τυπικό πρωτόκολλο ασφαλείας για τη δημιουργία ασφαλούς σύνδεσης μεταξύ του διακομιστή και του πελάτη που είναι πρόγραμμα περιήγησης.

Το πιστοποιητικό SSL (Secure Socket Layer) διασφαλίζει την ασφαλή μετατροπή δεδομένων σε ολόκληρο τον διακομιστή και την εφαρμογή πελάτη χρησιμοποιώντας ισχυρό πρότυπο κρυπτογράφησης ή ψηφιακή υπογραφή. Κάποιος πρέπει να εγκαταστήσει ένα πιστοποιητικό SSL ή ένα πιστοποιητικό υπογραφής κώδικα.

Σε αυτό το σεμινάριο, θα μάθετε-

  • Τι είναι το πιστοποιητικό SSL;
  • Οφέλη του πιστοποιητικού SSL
  • Πώς δημιουργεί το πιστοποιητικό SSL μια ασφαλή σύνδεση
  • Τύποι πιστοποιητικών SSL
  • Πώς επαληθεύονται τα πιστοποιητικά SSL
  • Τύποι σφάλματος πιστοποιητικού SSL
  • Πώς να χειριστείτε το σφάλμα πιστοποιητικού SSL χρησιμοποιώντας το Selenium Webdriver
  • Διαχείριση σφαλμάτων πιστοποιητικού SSL στον Firefox
  • Διαχείριση σφαλμάτων πιστοποιητικού SSL στο Chrome
  • Διαχείριση σφαλμάτων πιστοποιητικού SSL στο IE

Οφέλη του πιστοποιητικού SSL

Υπάρχουν πολλά οφέλη από τη χρήση πιστοποιητικού SSL όπως,

  • Κάποιος μπορεί να αυξήσει την εμπιστοσύνη των χρηστών και των πελατών του, προκειμένου να ενισχύσει την ανάπτυξη της επιχείρησης γρήγορα
  • Αυτά τα πιστοποιητικά βοηθούν στη διασφάλιση διαδικτυακών συναλλαγών και ευαίσθητων πελατών, όπως δεδομένων πιστωτικών καρτών / χρεωστικών καρτών κ.λπ.
  • Η υπογραφή του πιστοποιητικού τείνει να λαμβάνει το μέγιστο αριθμό λήψεων και καλές κριτικές από τους χρήστες.

Οι ιστότοποι με ασφάλεια SSL ξεκινούν με https: // και μπορείτε να δείτε ένα εικονίδιο κλειδώματος ή μια πράσινη γραμμή διευθύνσεων εάν η σύνδεση έχει δημιουργηθεί με ασφάλεια.

Για παράδειγμα, εάν θέλετε να κάνετε κάποια συναλλαγή μέσω net banking ή θέλετε να αγοράσετε ένα κινητό τηλέφωνο μέσω ιστότοπου ηλεκτρονικού εμπορίου όπως το Flipkart ή το Amazon.

Τι συμβαίνει μεταξύ του προγράμματος περιήγησης Web και του διακομιστή

  1. Ένα πρόγραμμα περιήγησης προσπαθεί να συνδεθεί με έναν ιστότοπο που είναι ασφαλής με SSL. Το πρόγραμμα περιήγησης ζητά από τον διακομιστή ιστού να ταυτοποιηθεί
  2. Ο διακομιστής στέλνει στο πρόγραμμα περιήγησης αντίγραφο του πιστοποιητικού SSL του
  3. Το πρόγραμμα περιήγησης επαληθεύει εάν το πιστοποιητικό SSL είναι γνήσιο. Εάν ναι, στέλνει ένα μήνυμα στον διακομιστή
  4. Ο διακομιστής αποστέλλει μια ψηφιακά υπογεγραμμένη επιβεβαίωση για να ξεκινήσει μια κρυπτογραφημένη περίοδος λειτουργίας SSL
  5. Τα κρυπτογραφημένα δεδομένα κοινοποιούνται μεταξύ του διακομιστή και του προγράμματος περιήγησης

Με αυτόν τον τρόπο, πρέπει να μεταδώσετε ευαίσθητες πληροφορίες, όπως αριθμούς πιστωτικών καρτών ή διαπιστευτήρια σύνδεσης και που πρέπει να μεταδίδονται με ασφάλεια, ώστε να μην μπορούν να παραβιαστούν ή να υποκλαπούν.

Για παράδειγμα

  1. Πληκτρολογήστε https://netbanking.hdfcbank.com/netbanking/ .
  2. Πατήστε Enter.
  3. Θα δείτε μια πράσινη γραμμή διευθύνσεων στο πρόγραμμα περιήγησης όπως παρακάτω: -

Πώς δημιουργεί το πιστοποιητικό SSL μια ασφαλή σύνδεση

  1. Το πρόγραμμα περιήγησης στέλνει αίτημα HTTPS στο διακομιστή.
  2. Τώρα ο διακομιστής πρέπει να παρέχει κάποια αναγνώριση στο πρόγραμμα περιήγησης για να αποδείξει ότι είναι αξιόπιστο. Αυτό μπορεί να γίνει στέλνοντας ένα αντίγραφο του πιστοποιητικού SSL του στο πρόγραμμα περιήγησης.
  3. Κάθε πρόγραμμα περιήγησης έχει τη δική του λίστα αξιόπιστων CA. Το πρόγραμμα περιήγησης ελέγχει τη ρίζα του πιστοποιητικού βάσει της λίστας αξιόπιστων CA και ότι το πιστοποιητικό δεν έχει λήξει, δεν έχει ανακληθεί και ότι το κοινό όνομα είναι έγκυρο για τον ιστότοπο στον οποίο συνδέεται.
  4. Εάν το πρόγραμμα περιήγησης εμπιστεύεται το πιστοποιητικό, δημιουργείται μια κρυπτογραφημένη περίοδος σύνδεσης μεταξύ του διακομιστή και του προγράμματος περιήγησης.
  5. Ο διακομιστής και το πρόγραμμα περιήγησης μπορούν να στέλνουν κρυπτογραφημένα μηνύματα

Τύποι πιστοποιητικών SSL

Το πρόγραμμα περιήγησης και ο διακομιστής χρησιμοποιούν μηχανισμό πιστοποιητικού SSL για να είναι σε θέση να δημιουργήσουν μια ασφαλή σύνδεση. Αυτή η σύνδεση περιλαμβάνει την επαλήθευση τριών τύπων πιστοποιητικών.

  • Ρίζα
  • Ενδιάμεσος
  • Πιστοποιητικό διακομιστή

Διαδικασία λήψης πιστοποιητικού SSL

Η διαδικασία λήψης πιστοποιητικού SSL περιλαμβάνει τα παρακάτω βήματα: -

  1. Αρχικά, πρέπει να δημιουργήσετε αίτημα CSR (δημιουργία αιτήματος υπογραφής πιστοποιητικού).
  2. Το αίτημα CSR δημιουργεί ένα αρχείο δεδομένων CSR, το οποίο αποστέλλεται στον εκδότη πιστοποιητικών SSL γνωστό ως CA (Certificate Authority).
  3. Η ΑΠ χρησιμοποιεί τα αρχεία δεδομένων CSR για τη δημιουργία πιστοποιητικού SSL για τον διακομιστή σας.
  4. Αφού λάβετε το πιστοποιητικό SSL, πρέπει να το εγκαταστήσετε στον διακομιστή σας.
  5. Χρειάζεται επίσης να εγκατασταθεί ένα ενδιάμεσο πιστοποιητικό που συνδέει το δικό σας πιστοποιητικό SSL με το πιστοποιητικό ρίζας της CA.

Η παρακάτω εικόνα αντιπροσωπεύει και τα τρία πιστοποιητικά - Root, Intermediate και Server Certificate.

Πώς επαληθεύονται τα πιστοποιητικά SSL

Το SSL λειτουργεί μέσω ενός συνδυασμού προγραμμάτων και ρουτίνας κρυπτογράφησης / αποκρυπτογράφησης που υπάρχουν στον υπολογιστή διακομιστή ιστού και στο πρόγραμμα περιήγησης διακομιστή ιστού.

Το πιστοποιητικό SSL περιέχει βασικά τις παρακάτω πληροφορίες.

  1. Θέμα που είναι η ταυτότητα του κατόχου της ιστοσελίδας.
  2. Πληροφορίες εγκυρότητας - ένα δημόσιο και ένα ιδιωτικό κλειδί.

Το ιδιωτικό και δημόσιο κλειδί είναι δύο μοναδικά σχετικά κρυπτογραφικά κλειδιά (αριθμοί). Ό, τι κρυπτογραφείται από ένα δημόσιο κλειδί μπορεί να αποκρυπτογραφηθεί μόνο από ένα ιδιωτικό κλειδί.

Όταν δεν δημιουργείται ασφαλής σύνδεση μεταξύ του διακομιστή και του πελάτη λόγω του πιστοποιητικού, θα εμφανιστεί το ακόλουθο σφάλμα πιστοποιητικού SSL.

Τύποι σφάλματος πιστοποιητικού SSL

Ας υποθέσουμε ότι πληκτρολογείτε κάποιο αίτημα https στο πρόγραμμα περιήγησης και λαμβάνετε ένα μήνυμα όπως "Αυτή η σύνδεση δεν είναι αξιόπιστη" ή "Το πιστοποιητικό ασφαλείας του ιστότοπου δεν είναι αξιόπιστο" ανάλογα με το πρόγραμμα περιήγησης που χρησιμοποιείτε. Στη συνέχεια, τέτοιο σφάλμα υπόκειται σε σφάλμα πιστοποιητικού SSL.

Τώρα, εάν το πρόγραμμα περιήγησης δεν είναι σε θέση να δημιουργήσει μια ασφαλή σύνδεση με το ζητούμενο πιστοποιητικό, τότε το πρόγραμμα περιήγησης θα ρίξει την εξαίρεση "Αξιόπιστη σύνδεση" όπως παρακάτω και θα ζητήσει από το χρήστη να προβεί στις κατάλληλες ενέργειες.

Οι τύποι σφαλμάτων που ενδέχεται να δείτε λόγω πιστοποιητικού σε διαφορετικά προγράμματα περιήγησης μπορεί να είναι κάπως έτσι

  1. FireFox - Αυτή η σύνδεση δεν είναι αξιόπιστη
  1. Google Chrome -Αυτή η ασφάλεια του ιστότοπου δεν είναι αξιόπιστη
  1. Internet Explorer (IE) - Αυτό το πιστοποιητικό ασφαλείας που παρουσιάστηκε από αυτόν τον ιστότοπο δεν ήταν αξιόπιστο από μια αξιόπιστη αρχή έκδοσης πιστοποιητικών (CA)

Πώς να χειριστείτε το σφάλμα πιστοποιητικού SSL χρησιμοποιώντας το Selenium Webdriver

Ας υποθέσουμε ότι έχουμε γράψει κάποια δοκιμαστικά σενάρια και κατά την εκτέλεση του σεναρίου, πιάσαμε την κατάσταση ως "Αξιόπιστη σύνδεση" παραπάνω, τότε πώς χειριζόμαστε την εξαίρεση αποκλειστικά μέσω αυτοματισμού.

Σε αυτήν την περίπτωση, πρέπει να προσαρμόσουμε το σενάριό μας με τέτοιο τρόπο ώστε να φροντίζει από μόνη της την Εξαίρεση SSL.

Τα σενάρια πρέπει να τροποποιηθούν ανάλογα με τον τύπο παρουσίας του προγράμματος περιήγησης που χρησιμοποιούμε. Αυτά όταν οι επιθυμητές δυνατότητες έρχονται στην εικόνα.

Οι επιθυμητές δυνατότητες χρησιμοποιούνται για τη διαμόρφωση της παρουσίας προγράμματος οδήγησης του Selenium Webdriver. Μέσω των επιθυμητών δυνατοτήτων, μπορεί κανείς να διαμορφώσει όλες τις παρουσίες προγράμματος οδήγησης όπως το ChromeDriver, το FirefoxDriver και τον Internet Explorer.

Από τώρα δεν έχουμε συγκεκριμένη διεύθυνση URL για να δημιουργήσουμε το παραπάνω σενάριο, αλλά παρέχω βήματα που μπορούμε να προσθέσουμε στο σενάριο Selenium για να χειριστούμε την παραπάνω κατάσταση "Μη αξιόπιστη σύνδεση".

Διαχείριση σφαλμάτων πιστοποιητικού SSL στον Firefox

Για τον χειρισμό σφάλματος πιστοποιητικού SSL στον Firefox, πρέπει να χρησιμοποιήσουμε τις επιθυμητές δυνατότητες του Selenium Webdriver και να ακολουθήσουμε τα παρακάτω βήματα.

Βήμα 1) : Πρώτα πρέπει να δημιουργήσουμε ένα νέο προφίλ firefox, πείτε " myProfile ". Μπορείτε να ανατρέξετε στο google για να μάθετε "Πώς να δημιουργήσετε" προφίλ firefox. Είναι απλό και εύκολο.

Βήμα 2) : Μεταβείτε τώρα στο myProfile στο σενάριο όπως παρακάτω και δημιουργήστε το αντικείμενο FirefoxProfile

ProfilesIni prof = νέο ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")

Βήμα 3) : Τώρα πρέπει να ορίσουμε τις ιδιότητες " setAcceptUntrustedCertificate " και " setAssumeUntrustedCertificateIssuer " στο προφίλ Fire Fox.

ffProfile.setAcceptUntrustedCertificate (true)ffProfile.setAssumeUntrustedCertificateIssuer (false)

Βήμα 4) : Τώρα χρησιμοποιήστε το προφίλ FireFox στο αντικείμενο προγράμματος οδήγησης FireFox.

Πρόγραμμα οδήγησης WebDriver = νέο FirefoxDriver (ffProfile) 

Σημείωση : Τα "setAcceptUntrustedCertificate" και "setAssumeUntrustedCertificateIssuer " είναι δυνατότητες χειρισμού των λαθών πιστοποιητικών στα προγράμματα περιήγησης ιστού.

Διαχείριση σφαλμάτων πιστοποιητικού SSL στο Chrome

Για τον χειρισμό σφαλμάτων SSL στο Chrome, πρέπει να χρησιμοποιήσουμε τις επιθυμητές δυνατότητες του Selenium Webdriver. Ο παρακάτω κώδικας θα σας βοηθήσει να αποδεχτείτε όλο το πιστοποιητικό SSL στο χρώμιο και ο χρήστης δεν θα λάβει κανένα σχετικό με πιστοποιητικό σφάλμα SSL χρησιμοποιώντας αυτόν τον κωδικό.

Πρέπει να δημιουργήσουμε την παρουσία της τάξης DesiredCapabilities όπως παρακάτω: -

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver (handlSSLErr);

Διαχείριση σφαλμάτων πιστοποιητικού SSL στο IE

Σε αντίθεση με το χειρισμό πιστοποιητικών SSL στο πρόγραμμα περιήγησης Chrome και στον Firefox, στο IE, ίσως χρειαστεί να το χειριστείτε χρησιμοποιώντας javascript.

Για να χειριστείτε το πιστοποιητικό SSL στο IE, μπορείτε να χειριστείτε αυτήν την κατάσταση με δύο τρόπους,

  1. Σε αυτό, θα κάνετε κλικ στον σύνδεσμο " Συνέχεια σε αυτόν τον ιστότοπο (δεν συνιστάται)". Στη συνέχεια θα δούμε πώς να χειριστούμε το σφάλμα SSL στο IE.

Παρατηρήστε το σφάλμα πιστοποιητικού SSL στο πρόγραμμα περιήγησης IE, θα βρείτε τον σύνδεσμο "Συνέχεια σε αυτόν τον ιστότοπο (δεν συνιστάται)". Αυτός ο σύνδεσμος έχει αναγνωριστικό "παράκαμψη συνδέσμου". Μπορείτε να δείτε το αναγνωριστικό σε λειτουργία HTML χρησιμοποιώντας το F12

Κάντε κλικ στον σύνδεσμο χρησιμοποιώντας τη μέθοδο driver.navigate () με JavaScript όπως παρακάτω: -

driver.navigate () .to ("javascript: document.getElementById ('overridelink'). κάντε κλικ ()");
  1. Η δεύτερη μέθοδος μοιάζει πολύ με τον κώδικα χειρισμού SSL χρωμίου
Δυνατότητες DesiredCapabilities = νέες επιθυμητές δυνατότητες ();δυνατότητες.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");Πρόγραμμα οδήγησης WebDriver = νέο InternetExplorerDriver (δυνατότητες);

Ο παραπάνω κωδικός θα σας βοηθήσει να χειριστείτε το σφάλμα πιστοποιητικού SSL στο IE.

Περίληψη:

  • Το SSL (Secure Sockets Layer) είναι ένα τυπικό πρωτόκολλο ασφαλείας για τη δημιουργία ασφαλούς σύνδεσης μεταξύ του διακομιστή και του πελάτη
  • Το πρόγραμμα περιήγησης και ο διακομιστής χρησιμοποιούν μηχανισμό πιστοποιητικού SSL για να είναι σε θέση να δημιουργήσουν μια ασφαλή σύνδεση.
  • Το SSL λειτουργεί μέσω ενός συνδυασμού προγραμμάτων και ρουτίνας κρυπτογράφησης / αποκρυπτογράφησης που υπάρχουν στον υπολογιστή διακομιστή ιστού και στο πρόγραμμα περιήγησης διακομιστή ιστού.
  • Όταν δεν δημιουργείται ασφαλής σύνδεση μεταξύ του διακομιστή και του πελάτη λόγω πιστοποιητικού, θα προκύψει σφάλμα πιστοποιητικού SSL
  • Πρέπει να προσαρμόσουμε το σενάριό μας με τέτοιο τρόπο ώστε να φροντίζει από μόνο του την εξαίρεση / σφάλμα SSL μέσω του προγράμματος οδήγησης Selenium Web.