Por que o Windows 2012 R2 não confia no meu certificado autoassinado?

9

Em um ambiente de teste, atualmente estou impedido de testar algumas coisas que precisam ser implantadas em breve (na verdade já, mas você sabe como vão os prazos ...) porque o Windows se recusa a confiar no certificado autoassinado que temos em nosso ambiente de teste isolado. Embora eu pudesse resolver o problema com o certificado "real" e alguns truques de DNS, por razões de segurança / compartimentação, não tenho o certificado.

Estou tentando me conectar a um servidor de email baseado em Linux chamado Zimbra; está usando um certificado OpenSSL autoassinado gerado automaticamente. Embora as páginas que o Google tenha exibido especificamente se refiram a sites do IIS com certificados autoassinados, não acho que o método de gerá-lo realmente seja importante.

De acordo com as instruções encontradas aqui e aqui , isso deve ser uma simples questão de instalar o certificado no armazenamento da Autoridade de Certificação Raiz Confiável do computador local. O que eu fiz, além de copiar manualmente o certificado e importá-lo diretamente pelo snap-in do MMC. Log-outs e reinicializações não mudam nada.

Aqui está o erro de certificado que recebo sempre: insira a descrição da imagem aqui

E aqui está o caminho da certificação (spoiler: é apenas o próprio certificado): insira a descrição da imagem aqui

Finalmente, aqui está o certificado guardado com segurança no repositório de certificados do computador local, exatamente como as instruções que encontrei dizem que deveriam ser: insira a descrição da imagem aqui

Essas instruções referenciam especificamente o Vista (bem, o segundo não menciona o SO) e o IIS, enquanto estou usando o Server 2012 R2 conectando a um servidor baseado em Linux; existem algumas diferenças no assistente de importação (como o meu tem a opção de importar para o usuário atual ou sistema local, embora eu tenha tentado os dois), então talvez haja algo diferente que eu precise fazer aqui? Uma configuração em algum lugar que não encontrei que precisa ser alterada para que realmente confie no certificado em que eu já disse para confiar?

Qual é a maneira correta de fazer com que o Windows Server 2012 R2 confie em um certificado autoassinado?

Kromey
fonte
Não foi possível reproduzir seu problema. Se você usar "Criar um certificado autoassinado" do IIS e optar por instalá-lo no repositório pessoal (também conhecido como repositório de hospedagem na web), não haverá nenhum problema. Como você criou o certificado? No IIS ou no snap-in do MMC da Autoridade de Certificação?
Você já tentou selecionar o armazenamento de destino explicitamente (importar de dentro do console mmc)?
JoaoCC
@SujaySarma Não é para um site do IIS, mas para um aplicativo Linux chamado Zimbra. É um certificado autoassinado OpenSSL.
Kromey
@ user1703840 Sim, especifiquei explicitamente o armazenamento de destino e permiti que o Windows o selecionasse automaticamente, por meio do assistente de importação de certificados e MMC e no IE. Mesmos resultados de qualquer maneira, o que não é nenhum.
Kromey
Hã? De onde veio o Linux? Toda a sua pergunta e os links que você publicou (incluindo suas capturas de tela) lidam com o Windows Server 2012 R2 e o IIS. Por favor, esclareça.

Respostas:

1

O erro que você está recebendo não é que não é um certificado raiz confiável, mas que não é capaz de verificar a cadeia para um certificado confiável. Se alguma parte da cadeia estiver quebrada, não confiável ou ausente, você receberá esse erro. O erro que recebo com uma raiz auto-assinada não confiávelé este: Este certificado raiz da CA não é confiável. Para habilitar a confiança, instale este certificado no armazenamento Autoridades de Certificação Raiz Confiáveis. Mas para você, ele diz que não pode verificar até um certificado raiz confiável. Pode ser que, durante o processo de autoassinatura, você tenha solicitado ao openssl para assinar o certificado com uma raiz diferente (não autoassinada) ou ele não tenha sido definido como uma CA raiz. Se for o primeiro, você deve confiar na raiz com a qual foi assinado. Se for o último, é uma questão de definir algumas propriedades no openssl.conf.

Granada de Luz
fonte
As capturas de tela mostram que o certificado está instalado na CA raiz confiável e também mostram que toda a cadeia é o próprio certificado - é a raiz e, portanto, estar na CA raiz confiável deve ser suficiente. A questão é por que não é?
Kromey
Estou dizendo que pode não ser a raiz, não que ela não seja adicionada ao armazenamento de raízes confiáveis. O erro é o que há de estranho nisso - ele não deve dizer que não pode verificá-lo até uma CA confiável, se deveria ser uma CA - e é por isso que estou sugerindo que não é realmente uma raiz, mas assinado com outro certificado.
precisa
tente executar este comando na caixa para a qual você está tentando obter o certificado: openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30 -sha256 -nodese importando esse certificado para o armazenamento CA raiz confiável. (além de configurá-lo para ser o certificado e a chave usados ​​pelo Zimbra, é claro).
precisa
Oh, entendo o que você quer dizer. Desculpe, eu não entendi. Mas se não for a raiz, isso não deve aparecer na janela Caminho da Certificação? De qualquer forma, infelizmente, não posso mais testar isso - consegui obter nosso certificado legítimo e, junto com um pouco de hackers no hostsarquivo, funcionou dessa maneira.
Kromey
Seu certificado é de uma CA raiz, com base na captura de tela. Se você observar os detalhes do certificado em idp.godaddy.com, o caminho inteiro será apresentado e você poderá usá-lo como uma comparação. Se você observar as propriedades do certificado no MMC, ele inclui a autenticação do servidor para fins de certificado? (Clique com o botão direito do mouse sobre o certificado na segunda captura de tela e selecione Propriedades).
John Auld
1

Pelo que pude descobrir, é necessário adicionar o zmaster como uma CA de origem confiável, já que essa é a autoridade emissora, o WS2k12 está tentando verificar o certificado em um host que não conhece nada. Você está certo em que o método de geração não é importante, mas é uma fonte verificável. Isso tem o efeito que você está enfrentando: que o WS2k12 não está confiando em um certificado apenas porque tem o nome $ Random_issuing_authority, ele precisa poder verificar o certificado.

James Gugelstuphukenmuch Moore
fonte
É um certificado autoassinado. Ao colocá-lo na loja da CA raiz confiável, você confia, por definição, no emissor.
Chris McKeown
A menos que esteja faltando alguma coisa, foi exatamente isso que fiz - veja a terceira captura de tela mostrando o certificado do zmaster no armazenamento da CA raiz confiável.
Kromey
0

Eu tive o mesmo problema. Acontece que minha solução foi atualizar os arquivos .crt e .key para o servidor de email, conforme usado pelo dovecot. O Exim4 no correio tinha um conjunto de certificados / chaves atualizado, mas o dovecot ainda estava apontando para o conjunto de certificados / chaves antigo.

O antigo par cert / key funcionou bem na maioria das situações, mas não no outlook.com nem no MS Outlook 2013.

Problemas com o outlook.com me fizeram atualizar o certificado exim4 recentemente - agora o dovecot [e o servidor de webmail] também usa os novos arquivos de certificado (e chave). O próprio servidor de email também foi atualizado recentemente [do antigo Debian squeeze-lts para o wheezy], a configuração antiga estava boa em todo o conjunto de certificados / chaves antigo, mas após a atualização, eu precisei criar o novo conjunto de certificados / chaves antes Os produtos MS funcionariam corretamente com o servidor de email.

Andrew McGlashan
fonte
0

Eu acho que o problema é que como você acessou os recursos. Para sua rede local, você pode usar o nome do host em vez do nome completo do domínio. No entanto, seu certificado é emitido no nome de domínio completo.

puffel
fonte
Esta pergunta já tem uma resposta aceita.
BE77Y 13/09/16
-1

Instale o certificado nas autoridades de certificação raiz confiáveis ​​e nos editores confiáveis.

Dimaf
fonte