È possibile testare i certificati SSL lato client con Selenium e qualsiasi browser? Per esempio. È possibile creare un driver Web e fornire certificati fittizi? O usare un profilo di Firefox preparato?Automazione dei certificati SSL lato client nei test di Firefox e selenio
risposta
Creazione profilo di prova Selenio Firefox per i certificati lato client SSL
È necessario preparare il profilo WebDriver Firefox selenio, che ha importato i certificati client in.
In primo luogo si avvia WebDriver con la seguente configurazione nel vostro test code:
# Pre-seeded Firefox profile directory
profile_directory = os.path.join(os.path.dirname(__file__), "..", "..", "certs", "firefox-client-ssl-profile")
self.assertTrue(os.path.exists(profile_directory))
profile = FirefoxProfile(profile_directory)
# Make sure the client side certificate selection does not interrupt the test
# XXX: What happens in other language versions?
profile.set_preference("security.default_personal_cert", "Select Automatically")
self.driver = WebDriver(firefox_profile=profile)
self.selenium_helper = SeleniumHelper(self, self.driver)
self.selenium_helper.driver = self.driver
Avviare test di unità e portarli al punto Il server di test Zope è attivo. Stop test con "import pdb; pdb.set_trace()"
Ora dovresti avere un'istanza di Firefox "WebDriver" di Selenium sullo schermo.
Importare il certificato lato client. Preferenze> Avanzate> Crittografia> Visualizza certificati. Importare "client.p12" dalla fornitura del certificato sul lato client.
Visita nell'URL innescando la finestra di certificato del client in Firefox di WebDriver ::
https://yourservevr/triggers-client-side-certificate-ssl-handshake
Questo dovrebbe richiedere di accettare il certificato lato client sul server di test. Accetta tutto manualmente.
Visitare nel menu Guida> Informazioni sulla risoluzione dei problemi> Nozioni di base sull'applicazione> Mostra nel Finder. Apre la directory temporanea contenente i file del profilo attivo di Webdriver.
Copia file profilo Firefox cert8.db
e key3.db
nel pacchetto di prova dell'unità cartella seme del profilo di Firefox di WebDriver. Questa è la cartella in cui Selenium preleva i semi per il driver web di Firefox all'avvio del test firefox-client-ssl-profile
.
Interrompe i test. Riavvia i test. Corri fino alla pausa di nuovo. In Firefox di Webdriver , vedi nelle impostazioni che ora contiene i certificati che hai approvato nell'ultima esecuzione in Preferenze> Avanzate> Crittografia> Visualizza certificati.
Maggiori informazioni
Non so se questo aiuta, ma è possibile modificare alcune delle preferenze nel profilo. In Java, puoi farlo.
ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("default"); //change profile name. there is a note somewhere on how to change it
profile.setPreference(uaKey, uaValue);
profile.setAcceptUntrustedCertificates(acceptUntrustedSsl);
Non sono sicuro che sia ciò di cui hai bisogno.
- 1. SAVON supporta l'autenticazione dei certificati lato client
- 2. Utilizzo di LWP con SSL e certificati client
- 3. Certificati client Java su HTTPS/SSL
- 4. Esecuzione dei test di automazione del selenio sull'agente di teamcity remoto build
- 5. Certificati SSL e Boost asio
- 6. Convalida dei certificati client in PyOpenSSL
- 7. Utilizzo dei certificati client/server per l'autenticazione SSL a due vie Presa SSL su Android
- 8. La forza di crittografia supportata è specificata nei certificati SSL?
- 9. Selenio WebDriver e Firefox 18
- 10. Come posso creare certificati client per test locali di autenticazione bidirezionale su SSL?
- 11. Certificati client concatenati
- 12. PHP client SOAP con i certificati SSL oltre
- 13. come verificare i certificati client usando boost :: asio SSL?
- 14. Senza i certificati SSL?
- 15. SSL/TLS senza certificati
- 16. Installazione dei certificati client nelle app XAML di Windows Store
- 17. Node.js Più certificati SSL
- 18. Dove sono memorizzati i certificati SSL?
- 19. CNAME Certificati SSL
- 20. wildfly più domini e certificati SSL
- 21. Generazione di certificati lato client nel browser e accesso al server
- 22. Bug in iOS 9 durante l'utilizzo di certificati SSL client e generazione di errori HTTP 403
- 23. Firefox 13 ha rotto i test di selenio
- 24. Test del codice javascript lato client con Jasmine e node.js
- 25. Handshaking SSL utilizzando certificati autofirmati e SSLEngine (JSSE)
- 26. Certificati client HTTPS con Monotouch
- 27. Client SSL su Android
- 28. Lato server o lato client per il recupero dei tweet?
- 29. Rilevamento delle dimensioni di caricamento dei file sul lato client?
- 30. Consenti certificati ssl non verificati in WKWebView
Da Firefox versione 58 sarà cert9.db e key4.db. Con Visual Studio assicurati che vengano contrassegnati come "Copia sempre" nelle proprietà per garantire che questi file vengano copiati durante la creazione. – 321X