"A chave privada está ausente ou é inválida ao importar um certificado" no Google Chrome

25

Quero testar meu aplicativo Web em https localhost. Infelizmente, parece impossível remover o aviso de certificado do chrome. Primeiro, eu gerei o certificado assim:

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

Queria adicioná-lo ao Chrome, configurações> avançado> gerenciar certificados -> importar. Eu tento importar o arquivo .crt gerado antes e tudo o que recebo é o seguinte:

Erro de importação de certificado: a chave privada deste certificado de cliente está ausente ou é inválida.

Eu pesquisei no Google, mas não achei nada útil.

Eu também tentei habilitar o sinalizador allow-insecure-localhost e abrir o chrome com --ignore-certificate-errorsmas ele ainda mostra o aviso e https quebrado

Existem outras maneiras ou estou fazendo algo errado com o certificado?

Maciej Krawczyk
fonte
Você também importou o /etc/ssl/private/localhost-selfsigned.keyarquivo? Essa é a chave privada.
Zoredache
11
O navegador precisa da chave pública, não da chave privada.
Arjan
2
Geralmente, você cria um certificado de servidor autoassinado e o instala no software do servidor HTTP do qual está servindo seu aplicativo Web. Os certificados do lado do cliente (usuário) instalados nos navegadores da Web podem ser usados ​​para autenticar usuários quando o logon em aplicativos da Web, mas é bastante raro. A maioria dos sites / aplicativos usa autenticação de nome de usuário / senha, não certificados de usuário / cliente.
Spiff
Você pode usar este certificado para veicular conteúdo por https e ter uma aparência semelhante quando exportado do navegador? deve ter o mesmo conteúdo.
cghislai
11
Além disso, talvez você esteja importando da guia errada. tentar mudar para a guia servidor antes de clicar no botão de importação
cghislai

Respostas:

29

Eu acho que o que você pode estar tentando fazer é adicioná-lo ao armazenamento de certificados errado. Se você estiver tentando adicioná-lo em "Seus certificados", terá um mau momento. Essa guia é para adicionar certificados de identidade; o que o seu navegador oferece ao servidor para estabelecer a identidade do navegador.

O que acho que você deseja fazer, com base em sua descrição, é que deseja que seu navegador confie no certificado autoassinado que estará no servidor. Se for esse o caso, você precisará adicioná-lo na guia "Autoridades".

Erik
fonte
11
Não funcionou para mim
Alexandre Bourlier
3
isso funciona a partir do Chrome v64. Você importa o .crt na guia "Autoridades", como o @Erik apontou. Nota: O FireFox não oferece esse problema
lasec0203 10/02
2
A guia Autoridades é para certificados de CA. Certificados que não são da CA devem estar na guia Servidores. Embora você não possa , por exemplo, adicionar manualmente um certificado não CA no Chromium 65.0.3325.162.
X-yuri
11
A importação na guia "Autoridades" resolveu meu problema.
K-Gun
FireFox me deu a mesma agitação e nada funciona, mas tudo bem.
Zap