Czy można testować certyfikaty SSL po stronie klienta za pomocą Selenium i dowolnej przeglądarki? Na przykład. Czy możesz stworzyć sterownik sieciowy i dać dla niego fałszywe certyfikaty? Lub użyj przygotowanego profilu przeglądarki Firefox?Automatyzacja certyfikatów po stronie klienta SSL w testach Firefox i Selenium
Odpowiedz
Tworzenie Selen Firefox profil testowy certyfikatów po stronie klienta SSL
Trzeba przygotować profil selen za WebDriver Firefox, która certyfikaty klienckie importowanych w.
pierwszym uruchomieniu WebDriver o następującej konfiguracji w twojej Kod testu:
# 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
testy jednostkowe rozpocząć i prowadzić je do punktu serwer testowy Zope się skończy. Zatrzymaj testy za pomocą polecenia "import pdb; pdb.set_trace()"
Powinieneś już mieć na swoim ekranie selenową instancję przeglądarki Firefox "WebDriver".
Zaimportuj swój certyfikat po stronie klienta. Preferencje> Zaawansowane> Szyfrowanie> Wyświetl certyfikaty. Zaimportuj "client.p12" ze źródła certyfikatu po stronie klienta.
Wizyta w adresie URL wywołując okno certyfikatów po stronie klienta w Webdriver w Firefox ::
https://yourservevr/triggers-client-side-certificate-ssl-handshake
ten powinien skłonić cię do zaakceptowania certyfikatu po stronie klienta przed serwerem testowym. Zaakceptuj wszystko ręcznie.
Odwiedź w menu Pomoc> Rozwiązywanie problemów> Podstawy aplikacji> Pokaż w Finderze. Powoduje otwarcie katalogu tymczasowego zawierającego aktywne pliki profilu Webdriver.
Skopiuj pliki profilu Firefox cert8.db
i key3.db
do pakietu testowego urządzenia Folder początkowy profilu przeglądarki Firefoksa WebDrivera. To jest folder, w którym Selenium wybiera nasiona dla sterownika przeglądarki Firefox po rozpoczęciu testu firefox-client-ssl-profile
.
Przerwać testy. Zrestartuj testy. Uruchamiaj ponownie do przerwy. W przeglądarce Firefox przeglądarki Webdriver w ustawieniach zawiera teraz certyfikaty zatwierdzone w ostatnim uruchomieniu w Preferencje> Zaawansowane> Szyfrowanie> Wyświetl certyfikaty.
Więcej informacji
Nie wiem, czy to pomaga, ale można zmienić niektóre preferencje w profilu. W Javie możesz to zrobić.
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);
Nie jestem pewien, czy tego właśnie potrzebujesz.
- 1. Selenium i HTTPS/SSL
- 2. Selenium-Firefox: Przeglądarka Firefox ulega awarii po uruchomieniu skryptu Selenium
- 3. Żądania w pythnowaniu - błąd SSL po stronie klienta cert
- 4. Będziesz bez certyfikatów SSL?
- 5. Wymuszanie uwierzytelniania Facebook: po stronie klienta i po stronie serwera
- 6. Języki po stronie klienta
- 7. module.exports po stronie klienta
- 8. Node.js Wiele certyfikatów SSL
- 9. Definiowanie rodzajów transportu po stronie klienta
- 10. Po stronie klienta trwałość (przechowywanie)
- 11. Zintegrowanie sprawdzania po stronie klienta
- 12. przetwarzanie obrazu po stronie klienta
- 13. Rejestratory po stronie klienta GWT
- 14. jqGrid sortowanie po stronie klienta
- 15. Wyłączanie JavaScript po stronie renderowania w Selenium Webdriver
- 16. JMeter ładuje certyfikat po stronie klienta
- 17. Logika po stronie klienta LUB logika po stronie serwera?
- 18. Kiedy korzystać po stronie klienta lub po stronie serwera?
- 19. RegisterOnSubmitStatement po sprawdzeniu poprawności po stronie klienta
- 20. Sprawdzanie poprawności certyfikatów klienta w PyOpenSSL
- 21. Jak logicznie połączyć router reagujący i redux do renderowania po stronie klienta i po stronie serwera?
- 22. Skrypt do zainstalowania certyfikatu SSL w zaufanym głównym magazynie certyfikatów
- 23. Określanie niestandardowej rozdzielczości ekranu w testach Selenium
- 24. Wyłączanie sprawdzania certyfikatów ssl w mechanize
- 25. Wyczyść certyfikat klienta klienckiego ssl z javascript w firefox 33.0.2 (usunięty zastrzeżony window.crypto)
- 26. Implikacje wydajności renderowania po stronie klienta i włókien w Meteoru
- 27. Webpack: Ignoruj biblioteki klienta po stronie serwera
- 28. sprzątanie po testach kątomierza
- 29. Cassandro - obciążenie po stronie klienta równoważenia
- 30. rozłącz klienta od strony serwera po stronie
Od wersji Firefox 58 będzie cert9.db i key4.db. W Visual Studio upewnij się, że będą one oznaczone jako "Kopiuj zawsze" we właściwościach, aby zapewnić, że pliki te zostaną skopiowane podczas budowania. – 321X