Po odpowiedzi na pytanie Zakjana, miałem problem, gdy próbowałem użyć jquery do wykonania żądania AJAX na moim nowo bezpiecznym serwerze, w widoku internetowym Androida. Działa w przeglądarce, ale nie w mojej aplikacji.
Korzystałem z tej strony: https://certificatechain.io/
Wkleiłem tekst podpisanego pliku .crt, który wróciłem z Comodo (PositiveSSL), i dało mi to podsumowanie wszystkiego, czego potrzebowałem. Zapisałem go jako moją domenę + „chain.crt” (patrz poniżej)
Następnie w moich konfiguracjach Apache wprowadziłem coś takiego dla tego konkretnego wirtualnego hosta:
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
Po tym, widok strony internetowej mojej aplikacji na Androida nie miał problemu z użyciem ajax do POST na moim serwerze. Wypróbowałem to na 2 rzeczywistych urządzeniach, jednym z systemem 2.3.4, jednym z systemem 4. coś. I na emulatorze działającym 2.3. Wszystko działało.
Mam nadzieję, że to pomoże.
SSLCACertificateFile
dyrektywy i skierowanie jej do pliku CA, który dał mi mój organ. Nie działałoby, jeśli po prostu połączyłem pozostałe certyfikaty z plikiem certyfikatu.SSLCACertificateFile
był wiersz, za którym tęskniłem. Początkowo zakładałem, że mój urząd certyfikacji jest zbyt nowy, ponieważ SSL działał na żądanie niektórych przeglądarek / systemów operacyjnych, ale nie innych. Korzystanie z decoder.link/sslchecker pomogło wyjaśnić, że moja konfiguracja była nieprawidłowa, a ta odpowiedź miała poprawkę. Dziękuję Ci!!Łańcuch znajdował się w pliku CRT, na którym działał oryginalny protokół SSL.
Dla GoDaddy jest drugi certyfikat - gd_bundle.crt
Skopiuj te informacje i dodaj je do crt zainstalowanego na serwerze.
Więc oryginalny crt na serwerze miał 1 certyfikat, a potem będzie miał 3 na tym samym pliku. To jest łańcuch.
Nadal mam problemy z łańcuchem zakotwiczenia na ssllabs.com, ale to nie jest problem, tylko opcja pozostawienia lub wyłączenia - zgodnie z - /security/24561/ssltest-chain-issues -contains-anchor / 24566 # 24566
źródło
Możesz rozwiązać problem niepełnego łańcucha certyfikatów ręcznie, łącząc wszystkie certyfikaty z certyfikatu z zaufanym certyfikatem głównym (wyłącznie, w tej kolejności), aby zapobiec takim problemom. Uwaga: zaufany certyfikat główny nie powinien tam być, ponieważ jest już zawarty w głównej bazie certyfikatów systemu.
Powinieneś być w stanie pobrać certyfikaty pośrednie od emitenta i złączyć je razem. Przy okazji napisałem skrypt do automatyzacji procedury, potrzeba certyfikatu do wygenerowania danych wyjściowych poprawnie powiązanych łańcuchów. https://github.com/zakjan/cert-chain-resolver
źródło