Wygenerowałem samopodpisany certyfikat dla mojej aplikacji Java za pomocą keytool. Jednak, gdy odwiedzam witrynę w przeglądarce, zawsze pojawia się ostrzeżenie - mówiąc, że ta strona nie jest właścicielem certyfikatu - czy istnieje sposób na samokreślenie/zaświadczenie certyfikatu, więc nie otrzymam tych ostrzeżeń w przeglądarka? Zarówno serwer, jak i przeglądarka znajdują się na tym samym hoście i przechodzę do witryny, używając "http://localhost/". Nie chcę dodawać wyjątku do przeglądarki, ponieważ mam testy uruchamiane na dużej farmie budującej, więc dodanie wyjątku do wszystkich przeglądarek na wszystkich maszynach kompilacji jest zbyteczne.Czy mogę utworzyć samopodpisany certyfikat w Javie, który będzie automatycznie ufał przeglądarkom internetowym?
Odpowiedz
Można również ustawić samopodpisany urząd certyfikacji (CA) przy użyciu OpenSSL lub prawdopodobnie narzędzia Java. Następnie można użyć tego urzędu certyfikacji do podpisania wielu certyfikatów serwera.
Nadal będziesz musiał ręcznie ufać własnoręcznie podpisywanym urzędom certyfikacji na wszystkich klientach uzyskujących dostęp do serwerów testowych, ale musisz przynajmniej zaufać tylko jednemu głównemu urzędowi certyfikacji, a nie grupie pojedynczych certyfikatów z podpisem własnym. .
Inną opcją jest wyewidencjonowanie CAcert.
Nie, nie możesz. Równie dobrze możesz zapytać "Jak mogę zrobić fałszywy certyfikat dla hsbc.com?"
Istnieją dwa sposoby, aby zdobyć przeglądarki, aby zaakceptować certyfikat:
- Kup certyfikat dla domeny z zaufanego urzędu (czyli udowodnienie tego organu, że jesteś właścicielem tej domeny), a następnie użyć tego domena jako nazwa serwerów testowych
- Zainstaluj certyfikat podpisywania w przeglądarkach, aby skutecznie stać się zaufanym organem dla tej przeglądarki.
Bez dotykania przeglądarek, nie ma innego sposobu, aby to zrobić - jak to możliwe, jeśli internet ma pozostać bezpieczny?
+1 za energiczne nakładanie kleju :-) –
@Corehpf - czy chcesz pomysłowej odpowiedzi czy prawdy? Nie ma ŻADNEGO sposobu, aby przeglądarki akceptowały certyfikaty z podpisem własnym lub certyfikaty podpisane przez certyfikat użytkownika innego niż root ... poza instalowaniem ich lub certyfikatem CA w przeglądarkach. –
Czy certyfikat został utworzony dla domeny localhost lub domeny test.textbox.com? Jeśli tworzysz certyfikat dla nazwy FQDN test.textbox.com, to w ten sposób musisz docierać do serwera, aby nie uzyskać tych błędów, o ile certyfikat jest poprawnie podpisany. Nie można wygenerować certyfikatu dla nazwy FQDN, a następnie użyć adresu IP lub aliasu (localhost), aby uzyskać do niego dostęp bez ostrzeżenia, że rzeczy nie pasują poprawnie. Czy nie rozumiem twojego problemu?
Uwaga: Oczywiście test.testbox.com jest tylko przykładem, którego użyłem do tego. – MattC
Wykonuje samopodpisane certyfikaty (co oznacza, że nie odsyła do żadnego z dobrze znanych urzędów certyfikacji), więc z definicji nie może ich automatycznie zaakceptować. Aby certyfikat został automatycznie zaakceptowany przez przeglądarkę, musi on wrócić do urzędu certyfikacji, o którym wie przeglądarka. –
Tak, ale błąd polegający na tym, że witryna nie jest właścicielem certyfikatu, wskazuje, że nazwa hosta, dla której utworzono certyfikat, i wszystko, czego używa do uzyskania dostępu do tej witryny, to dwie różne rzeczy. Powiedział, że używa localhost i obstawiam, że cert jest dla rzeczywistej nazwy hosta serwera. To spowoduje, że w większości przeglądarek pojawią się czerwone flagi jako problem bezpieczeństwa. – MattC
Zamiast tego należy utworzyć certyfikat dla "localhost". Musi pasować do nazwy hosta w adresie URL.
Nadal będziesz dręczony, ponieważ certyfikat nie jest zaufany, ale jest to inny problem.
- 1. certyfikat SSL kątowy i samopodpisany - ERR_INSECURE_RESPONSE
- 2. Połączenie TLS z Androidem i samopodpisany certyfikat
- 3. Zignorować nieprawidłowy samopodpisany certyfikat ssl w pliku node.js z https.request?
- 4. IIS6: Utwórz/zainstaluj samopodpisany certyfikat SSL z wiersza polecenia
- 5. Jak zainstalować samopodpisany certyfikat mojego serwera na iPadzie?
- 6. Jak rozwiązać certyfikat SSL: samopodpisany certyfikat podczas klonowania repo z github?
- 7. Jak automatycznie utworzyć certyfikat dystrybucji za pomocą Xcode?
- 8. Jak utworzyć potomka TStringList z właścicielem, który automatycznie zwolni TStringList?
- 9. Własny certyfikat w systemie Windows bez makecert?
- 10. Czy można utworzyć statyczny obiekt Regex, który będzie używany przez wszystkie wątki w aplikacji ASP.NET?
- 11. Jak mogę utworzyć układ, który będzie działał zarówno na tablecie, jak i telefonie?
- 12. Czy kolejność danych w formularzu pocztowym będzie taka sama w formularzu internetowym?
- 13. Czy mogę utworzyć własny certyfikat cyfrowy w języku C# lub Windows?
- 14. iPhone Certyfikat TrustStore CA
- 15. Jak utworzyć folder w Javie?
- 16. Jak mogę utworzyć widok tekstowy, który automatycznie zmienia rozmiar czcionki, aby pasował do miejsca?
- 17. Jak utworzyć słownik w Javie?
- 18. Zainstaluj samopodpisany certyfikat jako zaufany katalog główny w systemie Windows XP
- 19. Czy mogę wymuszać odbiór śmieci w Javie?
- 20. UITextField nie będzie automatycznie generować wielkich liter w całym projekcie
- 21. combobox który automatycznie koryguje wartość
- 22. Czy istnieje sposób utworzenia skryptu, który automatycznie koryguje zeskanowane dokumenty?
- 23. utworzyć słowo kluczowe w łączu automatycznie, globalnie
- 24. Jak mogę utworzyć procesor adnotacji, który przetwarza zmienną lokalną?
- 25. Python RPM, który zbudowałem, nie będzie instalował
- 26. Czy mogę zainstalować samopodpisane sterowniki w 64-bitowym systemie Windows bez trybu testowego, jeśli samopodpisany certyfikat główny CA jest importowany do magazynu maszynowego?
- 27. Jak utworzyć certyfikat rozwoju lokalnego za pomocą SSL?
- 28. Jak utworzyć Kafka ZKStringSerializer w Javie?
- 29. Czy mogę automatycznie ładować pliki funkcji bez klas w PHP?
- 30. Czy można hibernować pakiety skanowania, aby automatycznie utworzyć SessionFactory?
RichieHindle ma rację. Ta metoda nie pozbędzie się ostrzeżeń w przeglądarce. – shosti
Dobra odpowiedź Brian – sixtyfootersdude