Πώς να χειριστείτε το πιστοποιητικό SSL Selenium
Πιστοποιητικό SSL σε Selenium
Το SSL (Secure Sockets Layer) είναι ένα τυπικό πρωτόκολλο ασφαλείας για τη δημιουργία μιας ασφαλούς σύνδεσης μεταξύ του διακομιστή και του πελάτη που είναι ένα πρόγραμμα περιήγησης.
Το πιστοποιητικό SSL (Secure Socket Layer) διασφαλίζει τον ασφαλή μετασχηματισμό των δεδομένων στον διακομιστή και την εφαρμογή πελάτη χρησιμοποιώντας ισχυρό πρότυπο κρυπτογράφησης ή ψηφιακή υπογραφή. Κάποιος πρέπει να εγκαταστήσει ένα πιστοποιητικό SSL ή ένα πιστοποιητικό υπογραφής κώδικα.
Πλεονεκτήματα του πιστοποιητικού SSL
Υπάρχουν πολλά οφέλη από τη χρήση του πιστοποιητικού SSL όπως,
- Κάποιος μπορεί να αυξήσει την εμπιστοσύνη των χρηστών και των πελατών τους προκειμένου να ενισχύσει την ανάπτυξη της επιχείρησης γρήγορα
- Αυτά τα πιστοποιητικά βοηθούν στην ασφάλεια των ηλεκτρονικών συναλλαγών και των ευαίσθητων πληροφοριών πελατών, όπως δεδομένα πιστωτικής/χρεωστικής κάρτας κ.λπ.
- Η υπογραφή πιστοποιητικού τείνει να λαμβάνει μέγιστο αριθμό λήψεων και καλές κριτικές από τους χρήστες.
Οι ιστότοποι με ασφάλεια SSL ξεκινούν με https://και μπορείτε να δείτε ένα εικονίδιο κλειδώματος ή μια πράσινη γραμμή διευθύνσεων εάν η σύνδεση έχει δημιουργηθεί με ασφάλεια.
Για παράδειγμα, εάν θέλετε να κάνετε κάποια συναλλαγή μέσω net banking ή θέλετε να αγοράσετε ένα Κινητό τηλέφωνο μέσω ιστότοπου ηλεκτρονικού εμπορίου όπως το Flipkart ή Amazon.
Τι συμβαίνει μεταξύ του προγράμματος περιήγησης Ιστού και του διακομιστή
- Ένα πρόγραμμα περιήγησης προσπαθεί να συνδεθεί με έναν ιστότοπο που είναι ασφαλισμένος με SSL. Το πρόγραμμα περιήγησης ζητά από τον διακομιστή ιστού να αναγνωρίσει τον εαυτό του
- Ο διακομιστής στέλνει στο πρόγραμμα περιήγησης ένα αντίγραφο του πιστοποιητικού SSL του
- Το πρόγραμμα περιήγησης επαληθεύει εάν το πιστοποιητικό SSL είναι γνήσιο. Εάν ναι, στέλνει ένα μήνυμα στον διακομιστή
- Ο διακομιστής στέλνει μια ψηφιακά υπογεγραμμένη επιβεβαίωση για να ξεκινήσει μια κρυπτογραφημένη περίοδος λειτουργίας SSL
- Τα κρυπτογραφημένα δεδομένα μοιράζονται μεταξύ του διακομιστή και του προγράμματος περιήγησης
Για να το κάνετε αυτό, πρέπει να μεταδώσετε ευαίσθητες πληροφορίες, όπως αριθμούς πιστωτικών καρτών ή διαπιστευτήρια σύνδεσης, οι οποίες πρέπει να μεταδίδονται με ασφάλεια, ώστε να μην είναι δυνατή η παραβίαση ή η υποκλοπή.
Για παράδειγμα
- Χαρακτηριστικά https://netbanking.hdfcbank.com/netbanking/ .
- Hit Enter.
- Θα δείτε μια πράσινη γραμμή διευθύνσεων στο πρόγραμμα περιήγησης όπως παρακάτω:-
Πώς το πιστοποιητικό SSL δημιουργεί μια ασφαλή σύνδεση
- πρόγραμμα περιήγησης στέλνει αίτημα HTTPS στον διακομιστή.
- Τώρα ο διακομιστής πρέπει να παρέχει κάποια ταυτότητα στο πρόγραμμα περιήγησης για να αποδείξει ότι είναι αξιόπιστο. Αυτό μπορεί να γίνει στέλνοντας ένα αντίγραφο του πιστοποιητικού SSL στο πρόγραμμα περιήγησης.
- Κάθε πρόγραμμα περιήγησης έχει τη δική του λίστα με αξιόπιστες ΑΠ. Το πρόγραμμα περιήγησης ελέγχει τη ρίζα του πιστοποιητικού έναντι της λίστας με τις αξιόπιστες ΑΠ και ότι το πιστοποιητικό δεν έχει λήξει, δεν έχει ανακληθεί και ότι το κοινό όνομα είναι έγκυρο για τον ιστότοπο στον οποίο συνδέεται.
- Εάν το πρόγραμμα περιήγησης εμπιστεύεται το πιστοποιητικό, δημιουργείται μια κρυπτογραφημένη περίοδος λειτουργίας μεταξύ του διακομιστή και του προγράμματος περιήγησης.
- Ο διακομιστής και το πρόγραμμα περιήγησης μπορούν να στείλουν κρυπτογραφημένα μηνύματα
Τύποι Πιστοποιητικά SSL
Το πρόγραμμα περιήγησης και ο διακομιστής χρησιμοποιούν μηχανισμό πιστοποιητικού SSL για να μπορέσουν να δημιουργήσουν μια ασφαλή σύνδεση. Αυτή η σύνδεση περιλαμβάνει επαλήθευση τριών τύπων πιστοποιητικών.
- Ρίζα
- Ενδιάμεσος
- Πιστοποιητικό διακομιστή
Διαδικασία λήψης πιστοποιητικού SSL
Η διαδικασία λήψης πιστοποιητικού SSL περιλαμβάνει τα παρακάτω βήματα:
- Αρχικά, πρέπει να δημιουργήσετε αίτημα CSR (δημιουργία αίτησης υπογραφής πιστοποιητικού).
- Το αίτημα CSR δημιουργεί αρχείο δεδομένων CSR, το οποίο αποστέλλεται στον εκδότη πιστοποιητικού SSL γνωστό ως CA (Αρχή πιστοποιητικών).
- Η αρχή αρχής χρησιμοποιεί τα αρχεία δεδομένων CSR για να δημιουργήσει πιστοποιητικό SSL για τον διακομιστή σας.
- Αφού λάβετε το πιστοποιητικό SSL, πρέπει να το εγκαταστήσετε στον διακομιστή σας.
- Απαιτείται επίσης ένα ενδιάμεσο πιστοποιητικό για να εγκατασταθεί το οποίο συνδέει το δικό σας πιστοποιητικό SSL με το πιστοποιητικό ρίζας της CA.
Η παρακάτω εικόνα αντιπροσωπεύει και τα τρία πιστοποιητικά- Πιστοποιητικό Root, Intermediate και Server.
Πώς επαληθεύονται τα πιστοποιητικά SSL
Το SSL λειτουργεί μέσω ενός συνδυασμού προγραμμάτων και ρουτίνας κρυπτογράφησης/αποκρυπτογράφησης που υπάρχουν στον υπολογιστή διακομιστή ιστού και στο πρόγραμμα περιήγησης διακομιστή ιστού.
Το πιστοποιητικό SSL περιέχει βασικά τις παρακάτω πληροφορίες.
- Θέμα που είναι η ταυτότητα του ιδιοκτήτη του ιστότοπου.
- Πληροφορίες εγκυρότητας - ένα δημόσιο και ένα ιδιωτικό κλειδί.
Το ιδιωτικό και το δημόσιο κλειδί είναι δύο μοναδικά συνδεδεμένα κρυπτογραφικά κλειδιά (αριθμοί). Οτιδήποτε είναι κρυπτογραφημένο με δημόσιο κλειδί μπορεί να αποκρυπτογραφηθεί μόνο από ιδιωτικό κλειδί.
Όταν δεν έχει δημιουργηθεί μια ασφαλής σύνδεση μεταξύ του διακομιστή και του πελάτη λόγω του πιστοποιητικού, θα εμφανιστεί το ακόλουθο σφάλμα πιστοποιητικού SSL.
Τύποι σφαλμάτων πιστοποιητικού SSL
Ας υποθέσουμε ότι πληκτρολογείτε κάποιο αίτημα https στο πρόγραμμα περιήγησης και λαμβάνετε ένα μήνυμα όπως "Αυτή η σύνδεση δεν είναι αξιόπιστη" ή το "Το πιστοποιητικό ασφαλείας του ιστότοπου δεν είναι αξιόπιστο" ανάλογα με το πρόγραμμα περιήγησης που χρησιμοποιείτε. Στη συνέχεια, αυτό το σφάλμα υπόκειται σε σφάλμα πιστοποιητικού SSL.
Τώρα, εάν το πρόγραμμα περιήγησης δεν μπορεί να δημιουργήσει μια ασφαλή σύνδεση με το πιστοποιητικό που ζητήθηκε, τότε το πρόγραμμα περιήγησης θα δημιουργήσει εξαίρεση "Μη αξιόπιστη σύνδεση" όπως παρακάτω και θα ζητήσει από τον χρήστη να προβεί στις κατάλληλες ενέργειες.
Οι τύποι σφαλμάτων που πιθανόν να δείτε λόγω πιστοποιητικού σε διαφορετικά προγράμματα περιήγησης μπορεί να είναι κάπως έτσι
- ΦωτιάFox - Η σύνδεση δεν είναι έμπιστη
- Google Chrome -Η ασφάλεια αυτής της τοποθεσίας δεν είναι αξιόπιστη
- Internet Explorer (IE) – Αυτό το πιστοποιητικό ασφαλείας που παρουσιάζεται από αυτόν τον ιστότοπο δεν ήταν αξιόπιστο από αξιόπιστη αρχή έκδοσης πιστοποιητικών (CA)
Πώς να χειριστείτε το σφάλμα πιστοποιητικού SSL χρησιμοποιώντας Selenium Πρόγραμμα οδήγησης Web
Ας υποθέσουμε ότι έχουμε γράψει μερικά δοκιμαστικά σενάρια και κατά την εκτέλεση του σεναρίου, καταλάβαμε την κατάσταση ως "Μη αξιόπιστη σύνδεση" παραπάνω, τότε πώς χειριζόμαστε την εξαίρεση καθαρά μέσω αυτοματισμού.
Σε αυτή την περίπτωση, πρέπει να προσαρμόσουμε το σενάριό μας με τέτοιο τρόπο ώστε να φροντίζει μόνο του το SSL Exception.
Τα σενάρια πρέπει να τροποποιηθούν ανάλογα με τον τύπο του προγράμματος περιήγησης που χρησιμοποιούμε. Αυτά όταν εμφανίζονται στην εικόνα οι επιθυμητές δυνατότητες.
Οι Επιθυμητές Δυνατότητες χρησιμοποιούνται για τη διαμόρφωση της παρουσίας του προγράμματος οδήγησης Selenium Webdriver. Μέσω των επιθυμητών δυνατοτήτων, μπορεί κανείς να διαμορφώσει όλες τις παραμέτρους του προγράμματος οδήγησης όπως το ChromeDriver, FirefoxΠρόγραμμα οδήγησης και Internet Explorer.
Προς το παρόν δεν έχουμε συγκεκριμένη διεύθυνση URL για τη δημιουργία του παραπάνω σεναρίου, αλλά παρέχω βήματα που μπορούμε να προσθέσουμε στο Selenium Σενάριο για τη διαχείριση της παραπάνω κατάστασης "Μη αξιόπιστη σύνδεση".
Χειρισμός σφάλματος πιστοποιητικού SSL Firefox
Για τον χειρισμό του σφάλματος πιστοποιητικού SSL σε Firefox, πρέπει να χρησιμοποιήσουμε τις επιθυμητές δυνατότητες του Selenium Webdriver και ακολουθήστε τα παρακάτω βήματα.
Βήμα 1) Πρώτα πρέπει να δημιουργήσουμε ένα νέο προφίλ firefox πείτε "το ΠΡΟΦΙΛ μου". Μπορείτε να ανατρέξετε στο google για να μάθετε "Πώς να δημιουργήσετε" προφίλ firefox. Είναι απλό και εύκολο.
Βήμα 2) Τώρα αποκτήστε πρόσβαση στο myProfile στο σενάριο όπως παρακάτω και δημιουργήστε το FirefoxΑντικείμενο προφίλ.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Βήμα 3) Τώρα πρέπει να ορίσουμε "setAcceptUntrustedCertificates"Και"setAssumeUntrustedCertificateIssuer” ακίνητα στη Φωτιά Fox προφίλ.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Βήμα 4) Τώρα χρησιμοποιήστε τη ΦωτιάFox προφίλ στη ΦωτιάFox αντικείμενο προγράμματος οδήγησης.
WebDriver driver = new FirefoxDriver (ffProfile)
Σημείωση: "setAcceptUntrustedCertificates" και "setAssumeUntrustedCertificateIssuer" είναι δυνατότητες χειρισμού των σφαλμάτων πιστοποιητικών σε προγράμματα περιήγησης ιστού.
Χειρισμός σφαλμάτων πιστοποιητικού SSL στο Chrome
Για τον χειρισμό του σφάλματος SSL στο Chrome, πρέπει να χρησιμοποιήσουμε τις επιθυμητές δυνατότητες του Selenium Webdriver. Ο παρακάτω κώδικας θα σας βοηθήσει να αποδεχτείτε όλο το πιστοποιητικό SSL στο chrome και ο χρήστης δεν θα λάβει κανένα σφάλμα που σχετίζεται με το πιστοποιητικό SSL χρησιμοποιώντας αυτόν τον κωδικό.
Πρέπει να δημιουργήσουμε παράδειγμα της κλάσης DesiredCapabilities ως εξής:-
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
Χειρισμός σφαλμάτων πιστοποιητικού SSL στον IE
Σε αντίθεση με το χειρισμό πιστοποιητικών SSL στο πρόγραμμα περιήγησης Chrome και Firefox, στον IE, ίσως χρειαστεί να το χειριστείτε χρησιμοποιώντας javascript.
Για να χειριστείτε το πιστοποιητικό SSL σε IE, μπορείτε να χειριστείτε αυτήν την κατάσταση με δύο τρόπους:
- Σε αυτό, θα κάνετε κλικ στον σύνδεσμο "Συνεχίστε σε αυτόν τον ιστότοπο (δεν συνιστάται)”. Στη συνέχεια θα δούμε πώς να χειριστούμε το σφάλμα SSL στον IE.
Παρατηρήστε το σφάλμα πιστοποιητικού SSL στο πρόγραμμα περιήγησης IE, θα βρείτε τον σύνδεσμο "Συνέχεια σε αυτόν τον ιστότοπο (δεν συνιστάται)". Αυτός ο σύνδεσμος έχει αναγνωριστικό "σύνδεσμος παράκαμψης". Μπορείτε να προβάλετε το αναγνωριστικό σε λειτουργία HTML χρησιμοποιώντας το F12.
Κάντε κλικ στον σύνδεσμο χρησιμοποιώντας τη μέθοδο driver.navigate() with JavaΓραφή ως κατωτέρω :-
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- Η δεύτερη μέθοδος είναι αρκετά παρόμοια με τον κώδικα χειρισμού SSL chrome
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Ο παραπάνω κώδικας θα βοηθήσει στον χειρισμό του σφάλματος πιστοποιητικού SSL στον IE.
Σύνοψη
- Το SSL (Secure Sockets Layer) είναι ένα τυπικό πρωτόκολλο ασφαλείας για τη δημιουργία ασφαλούς σύνδεσης μεταξύ του διακομιστή και του πελάτη
- Το πρόγραμμα περιήγησης και ο διακομιστής χρησιμοποιούν μηχανισμό πιστοποιητικού SSL για να μπορέσουν να δημιουργήσουν μια ασφαλή σύνδεση.
- Το SSL λειτουργεί μέσω ενός συνδυασμού προγραμμάτων και ρουτίνας κρυπτογράφησης/αποκρυπτογράφησης που υπάρχουν στον υπολογιστή διακομιστή ιστού και στο πρόγραμμα περιήγησης διακομιστή ιστού.
- Όταν δεν δημιουργηθεί ασφαλής σύνδεση μεταξύ διακομιστή και πελάτη λόγω πιστοποιητικού, θα προκύψει σφάλμα πιστοποιητικού SSL
- Πρέπει να προσαρμόσουμε το σενάριό μας με τέτοιο τρόπο ώστε να φροντίζει μόνο του την εξαίρεση/σφάλμα SSL Selenium Πρόγραμμα οδήγησης web.