„Brakuje klucza prywatnego lub jest on nieprawidłowy podczas importowania certyfikatu” w Google Chrome

25

Chcę przetestować moją aplikację internetową na lokalnym hoście https. Niestety usunięcie ostrzeżenia o certyfikacie z Chrome wydaje się niemożliwe. Najpierw wygenerowałem certyfikat w następujący sposób:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/localhost-selfsigned.key -out /etc/ssl/certs/localhost-selfsigned.crt

Potem chciałem dodać go do Chrome, ustawienia> zaawansowane> zarządzaj certyfikatami -> importuj. Próbuję zaimportować wcześniej wygenerowany plik .crt i otrzymuję tylko:

Błąd importowania certyfikatu: brak klucza prywatnego dla tego certyfikatu klienta lub jest on nieprawidłowy.

Przejrzałem go, ale nie znalazłem nic pomocnego.

Próbowałem również włączyć flagę allow-niepewny-localhost i otworzyć chrome z, --ignore-certificate-errorsale nadal wyświetla ostrzeżenie i zepsuty https

Czy istnieją inne sposoby lub robię coś nie tak z certyfikatem?

Maciej Krawczyk
źródło
Czy zaimportowałeś również /etc/ssl/private/localhost-selfsigned.keyplik? To jest klucz prywatny.
Zoredache
1
Przeglądarka potrzebuje klucza publicznego, a nie prywatnego.
Arjan
2
Zwykle tworzysz samopodpisany certyfikat serwera i instalujesz go w oprogramowaniu serwera HTTP, z którego udostępniasz aplikację internetową. Certyfikaty po stronie klienta (użytkownika) zainstalowane w przeglądarkach internetowych mogą być używane do uwierzytelniania użytkowników podczas logowania do aplikacji internetowych, ale jest to dość rzadkie. Większość witryn / aplikacji korzysta z uwierzytelniania nazwy użytkownika / hasła, a nie certyfikatów użytkownika / klienta.
Spiff
Czy możesz użyć tego certyfikatu do wyświetlania treści przez https i sprawdzania, jak to wygląda po wyeksportowaniu z przeglądarki? powinna być taka sama treść.
cghislai
1
Być może importujesz z niewłaściwej karty. spróbuj przejść do karty serwera przed kliknięciem przycisku importu
cghislai

Odpowiedzi:

29

Myślę, że możesz spróbować dodać to do niewłaściwego magazynu certyfikatów. Jeśli próbujesz dodać go do „Twoich certyfikatów”, będziesz miał zły czas. Ta zakładka służy do dodawania certyfikatów tożsamości; co twoja przeglądarka oferuje serwerowi w celu ustalenia tożsamości przeglądarki.

Na podstawie twojego opisu myślę, że chcesz, aby Twoja przeglądarka ufała samopodpisanemu certyfikatowi, który będzie na twoim serwerze. W takim przypadku musisz dodać go na karcie „Organy”.

Erik
źródło
1
Nie działało dla mnie
Alexandre Bourlier,
3
działa to od Chrome v64. Importujesz .crt w zakładce „Authorities”, jak wskazał @Erik. Uwaga: FireFox nie daje ci tego
problemu
2
Karta Urzędy dotyczy certyfikatów urzędów certyfikacji. Certyfikaty inne niż CA powinny znajdować się na karcie Serwery. Chociaż nie można na przykład ręcznie dodać certyfikatu innego niż CA w Chromium 65.0.3325.162.
x-yuri
1
Importowanie za pomocą karty „Organy” rozwiązało mój problem.
K-Gun
FireFox dał mi ten sam zgiełk i nic nie działa, ale jest w porządku.
Zap