«Закрытый ключ отсутствует или недействителен при импорте сертификата» в Google Chrome

25

Я хочу протестировать свое веб-приложение на https localhost. К сожалению, кажется, невозможно удалить предупреждение сертификата из Chrome. Сначала я сгенерировал сертификат следующим образом:

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

Затем я хотел добавить его в Chrome, настройки> дополнительные> управлять сертификатами -> импорт. Я пытаюсь импортировать файл .crt, сгенерированный ранее, и все, что я получаю, это:

Ошибка импорта сертификата: закрытый ключ для этого сертификата клиента отсутствует или недействителен.

Я гуглил это, но я не нашел ничего полезного.

Я также попытался включить флаг allow-insecure-localhost и открыть chrome, --ignore-certificate-errorsно он по-прежнему показывает предупреждение и неработающий https

Есть ли другие способы или я что-то не так с сертификатом?

Мацей Кравчик
источник
Вы также импортировали /etc/ssl/private/localhost-selfsigned.keyфайл? Это закрытый ключ.
Зоредаче
1
Браузеру нужен открытый ключ, а не закрытый ключ.
Арджан
2
Обычно вы создаете самозаверяющий сертификат сервера и устанавливаете его в программном обеспечении сервера HTTP, с которого вы обслуживаете свое веб-приложение. Клиентские (пользовательские) сертификаты, установленные в веб-браузерах, могут использоваться для аутентификации пользователей при входе в веб-приложения, но это довольно редко. Большинство сайтов / приложений используют аутентификацию по имени пользователя / паролю, а не по сертификатам пользователя / клиента.
Spiff
Можете ли вы использовать этот сертификат для подачи контента через https и посмотреть, как он выглядит при экспорте из браузера? должно быть одинакового содержания.
cghislai
1
Кроме того, возможно, вы импортируете не с той вкладки. попробуйте перейти на вкладку сервера, прежде чем нажимать кнопку импорта
cghislai

Ответы:

29

Я думаю, что вы, возможно, пытаетесь сделать, это добавить его в неправильное хранилище сертификатов. Если вы пытаетесь добавить его в «Ваши сертификаты», у вас будет плохое время. Эта вкладка предназначена для добавления удостоверений личности; что ваш браузер предлагает серверу для установления личности браузера.

Я думаю, что вы хотите сделать, основываясь на вашем описании, что вы хотите, чтобы ваш браузер доверял самоподписанному сертификату, который будет на стороне вашего сервера. Если это так, вам нужно добавить его на вкладке «Власти».

Erik
источник
1
Не работал для меня
Александр Бурлье
3
это работает с Chrome v64. Вы импортируете .crt на вкладке «Authorities», как указал @Erik. Примечание: FireFox не доставляет вам хлопот
lasec0203
2
Вкладка «Полномочия» предназначена для сертификатов CA. Сертификаты не CA должны находиться на вкладке Серверы. Хотя вы не можете , например, вручную добавить сертификат без CA в Chromium 65.0.3325.162.
х-юри
1
Импорт через вкладку «Власть» решил мою проблему.
K-Gun
FireFox дал мне такую ​​же суету, и ничего не работает, но все в порядке.
Зап