IIS 7 ainda servindo certificado SSL antigo

21

Instalei um novo certificado SSL no IIS7, removi o certificado antigo e configurei as ligações para o novo certificado - assim, o https agora está vinculado apenas ao novo certificado.

Eu reiniciei o IIS7 (e o próprio Windows 2008 Server) e verifiquei o certificado usando os comandos:

netsh http show sslcert

Isso mostrou apenas o novo certificado, como eu esperava

certutil -store MY

Isso também mostrou apenas o novo certificado e não o antigo, como eu esperava

Eu também abri o mmc e verifiquei os certificados lá e só vejo o novo e não o antigo.

Também estou usando uma conta com privilégios de administrador.

No entanto - quando eu abro um navegador (de qualquer computador) e vou para o site https, ele ainda está usando o certificado antigo. Mesmo quando eu removo o certificado antigo do navegador, ele ainda recebe o antigo e não o novo.

Alguém pode me ajudar a descobrir onde estou indo errado? Como posso exorcizar o antigo certificado fantasma?

    
por joechip 11.10.2011 / 17:37

5 respostas

18

Primeiro alguns pontos que são provavelmente os mesmos para você

  • Eu estava tentando atualizar um certificado porque ele expirou.
  • Eu tenho vários domínios vinculados ao mesmo IP. Eles são um certificado de SAN, mas isso é provavelmente irrelevante.
  • Eu estava tentando usar o armazenamento de certificados centralizado. Mais uma vez, acho que isso é irrelevante para a maioria da minha resposta.
  • Eu já havia tentado atualizar o certificado, mas ele não estava mostrando a nova data.
  • Você provavelmente está em pânico agora mesmo se o seu certificado antigo já tiver expirado. Respire fundo ...

Primeiro, recomendo strongmente ir a https://www.digicert.com/help/ e fazer o download da ferramenta DigiCert. Você também pode usá-lo online.

Digite no seu site https://example.com e ele mostrará a data de vencimento e a impressão digital (o que o MS chama de hash do certificado). Ele faz uma pesquisa em tempo real para que você não precise se preocupar se o seu navegador (ou servidor intermediário) está ou não fazendo cache de algo.

Se você estiver usando o armazenamento de certificados centralizado, será necessário ter 100% de certeza de que o arquivo .pfx é a versão mais recente. Vá para o diretório da loja e execute este comando:

C:\WEBSITES\SSL> certutil -dump www.example.com.pfx

Isso mostrará a data de vencimento e o hash / impressão digital. Obviamente, se esta data de validade estiver errada, você provavelmente exportou o certifcate errado para o sistema de arquivos, então vá e corrija-o primeiro.

Se você estiver usando o CCS, assumindo que esse comando certutil forneça a data de validade esperada (do certificado atualizado), você poderá continuar.

Execute o comando:

netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt

Você provavelmente tem um monte de coisas aqui, então é mais fácil abri-lo em um editor de texto.

Você desejará pesquisar este arquivo com o hash WRONG obtido de digicert.com (ou a impressão digital obtida do Google Chrome).

Para mim, isso rendeu o seguinte. Você verá que está vinculado a um IP e não ao meu nome de domínio esperado. Este é o problema. Parece que isso (por qualquer motivo, não tenho certeza) tem precedência sobre o conjunto de ligação no IIS que acabei de atualizar para example.com .

IP:port                      : 10.0.0.1:443
Certificate Hash             : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID               : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name       : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check                  : Enabled
Revocation Freshness Time    : 0
URL Retrieval Timeout        : 0
Ctl Identifier               : (null)
Ctl Store Name               : (null)
DS Mapper Usage              : Disabled
Negotiate Client Certificate : Disabled

Eu nem sei de onde veio essa ligação - nem tenho ligações SSL no meu site padrão, mas esse servidor tem alguns anos e acho que algo ficou corrompido e ficou preso.

Então você vai querer excluí-lo.

Para estar no lado seguro, você deverá executar o seguinte comando primeiro para ter certeza de que está excluindo apenas este item:

C:\Windows\system32>netsh http show sslcert ipport=10.0.0.1:443

SSL Certificate bindings:
-------------------------

IP:port                      : 10.0.0.1:443
Certificate Hash             : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID               : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name       : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check                  : Enabled
Revocation Freshness Time    : 0
URL Retrieval Timeout        : 0
Ctl Identifier               : (null)
Ctl Store Name               : (null)
DS Mapper Usage              : Disabled
Negotiate Client Certificate : Disabled

Agora, verificamos que esta é a impressão digital "ruim" e o registro único esperado é possível excluí-la com este comando:

C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443

SSL Certificate successfully deleted

Espero que, se você voltar agora ao Digicert e executar novamente o comando, ele receberá a impressão digital do certificado. Você deve verificar todos os nomes de SAN, se tiver algum, apenas para ter certeza.

Provavelmente, queira IISRESET aqui para garantir que não haverá surpresas mais tarde.

Nota final: Se você estiver usando o armazenamento de certificados centralizado e estiver vendo um comportamento irregular tentando determinar se ele está pegando seu certificado de lá ou não, não se preocupe - não é sua culpa. Parece que às vezes pega novos arquivos imediatamente, mas armazena os antigos. Abrir e salvar novamente a ligação SSL depois de fazer qualquer tipo de alteração parece redefini-la, mas não em 100% do tempo.

Boa sorte: -)

    
por 08.04.2016 / 10:37
12

Verifique o certificado que está vinculado ao site no IIS. Você pode clicar com o botão direito do mouse no site e escolher editar as ligações. Lá, você deve ver uma ligação para a porta 443 associada a um certificado SSL. Isso ainda pode estar apontando para o antigo.

    
por 11.10.2011 / 17:41
3

Eu apenas trabalhei. O servidor estava realmente sentado atrás de um servidor ISA, então também tivemos que instalar o novo certificado SSL no servidor ISA.

    
por 12.10.2011 / 19:54
3

Eu tive o mesmo problema e verifiquei as ligações também. Eu tinha 2 aplicativos instalados no IIS, um estava usando o novo certificado, um usando o antigo.

Para corrigir, eu tive que remover o certificado do servidor completamente (então possivelmente uma reinicialização).

Do Gerenciador do IIS - > (Raiz da árvore do IIS) - > Ícone de certificados do servidor, selecione o certificado antigo e clique em Remover no painel Ações.

    
por 17.06.2014 / 17:02
1

Eu experimentei isso durante uma atualização do IPv6. Eu tinha o IIS fornecendo um redirecionamento caso alguém tentasse acessar um serviço via HTTP que não fosse realmente um serviço baseado em servidor web. Eu atualizei o serviço real (um servidor de voz) para ser IPv6, no entanto, eu não tinha conseguido atualizar as ligações para o redirecionamento para incluir os endereços IPv6.

Isso resultou nas resoluções que falharam em uma captura globalmente vinculada a todos os sites que tinham o certificado desatualizado. Como a captura era simplesmente 404, parecia que o site não estava funcionando, quando na realidade estava atingindo o site errado.

    
por 12.10.2016 / 17:12