Chciałbym dowiedzieć się, ile przeglądarek odrzuca nasz certyfikat SSL podczas wysyłania żądań HTTP do naszego serwera. Korzystamy z bezpłatnego CA, który wydaje się być rozpoznawany przez większość współczesnych przeglądarek, ale chciałbym uzyskać pewne liczby bez wyczerpującego testowania kombinacji przeglądarek i systemów operacyjnych.
Rozumiem, że przeglądarka przerywa połączenie, gdy weryfikacja certyfikatu nie powiedzie się, więc czy jest jakiś sposób, aby Apache to wykrył? Nie spodziewam się uzyskać szczegółowych informacji diagnostycznych - wystarczy fakt, że wystąpił problem z certyfikatem / SSL.
Odpowiedzi:
Protokół SSL rzeczywiście zawiera kod ostrzegawczy, gdy CA jest nieznany ... można go wykryć za pomocą czegoś takiego jak tshark, jak sądzę.
ale bardziej pożyteczna jest umiejętność uniknięcia problemu. W Apache upewnij się, że masz następujące TRZY dyrektywy:
Rozszerzenia podane dla nazw plików tak naprawdę nie mają znaczenia dla Apache. W tym przypadku plik SSLCertificateFile będzie pojedynczym certyfikatem X.509 z podmiotem serwera, a plik SSLCertificateChainFile będzie połączeniem certyfikatów pośrednich i certyfikatów głównego urzędu certyfikacji (zaczynając od katalogu głównego).
Oto przydatny skrypt ułatwiający badanie łańcuchów certyfikatów w kodowaniu PEM.
(ten konkretny skrypt jest również używany w przypadku konkretnej aplikacji XML, którą mają obsługiwać bity sed na początku; interesujące bity wykonuje gawk).
Oto przykład, w jaki sposób możesz go użyć (na przykład w celu ustalenia, czy certyfikaty w pakiecie urzędu certyfikacji są w odpowiedniej kolejności - czasami ma to znaczenie)
Zwróć uwagę, w jaki sposób wystawca jednego certyfikatu przylega do przedmiotu rodzica [bezpośrednio poniżej]
Oto kolejny przykład wykorzystania tego skryptu do sprawdzania lokalnego pliku.
źródło