Primeiro, alguns pontos que provavelmente são iguais 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 das minhas respostas.
- Eu já havia tentado atualizar o certificado, mas ele não estava mostrando a nova data.
- Você provavelmente está em pânico agora se seu certificado antigo já tiver expirado. Respire fundo...
Primeiro, recomendo ir https://www.digicert.com/help/
e fazer o download da ferramenta DigiCert. Você também pode usá-lo online.
Entre no seu site https://example.com
e ele mostrará a data de validade e a impressão digital (o que a 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á armazenando em cache algo.
Se você estiver usando o armazenamento de certificados centralizado, convém ter 100% de certeza de que o arquivo .pfx é a versão mais recente. Acesse o diretório de armazenamento e execute este comando:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
Isso mostrará a data de vencimento e a hash / impressão digital. Obviamente, se essa data de vencimento estiver incorreta, você provavelmente apenas exportou o certificado errado para o sistema de arquivos; portanto, corrija-o primeiro.
Se você estiver usando o CCS, assumindo que este comando certutil fornece a data de vencimento esperada (do seu certificado atualizado), você pode prosseguir.
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á procurar neste arquivo o hash ERRADO que você obteve digicert.com
(ou a impressão digital que você obteve no Chrome).
Para mim, isso rendeu o seguinte. Você verá que ele 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ções no IIS que eu acabei de atualizar 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 - eu não tenho nenhuma ligação SSL no meu site padrão, mas esse servidor tem alguns anos e acho que algo ficou corrompido e preso.
Então você vai querer excluí-lo.
Para garantir a segurança, execute o seguinte comando primeiro para garantir que você esteja 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, como único registro esperado, podemos excluí-la com este comando:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
Felizmente, se você agora voltar ao Digicert e executar novamente o comando, ele fornecerá a impressão digital do certificado esperado. Você deve verificar todos os nomes de SAN, se tiver algum, apenas para ter certeza.
Provavelmente, quero IISRESET aqui para garantir que não haja surpresas mais tarde.
Nota final: se você estiver usando o armazenamento centralizado de certificados e estiver vendo um comportamento irregular, tentando determinar se está pegando seu certificado a partir daí ou não, não se preocupe - a culpa não é sua. Às vezes, parece que os arquivos são novos imediatamente, mas os antigos são armazenados em cache. Abrir e salvar novamente a ligação SSL após fazer qualquer tipo de alteração parece redefini-la, mas não 100% do tempo.
Boa sorte :-)
[::1]:443
enquanto a atualização do certificado no IIS atualizava apenas o registro0.0.0.0:443
. Obrigado!Verifique o certificado vinculado ao site no IIS. Você pode clicar com o botão direito do mouse no site e escolher editar ligações. Lá, você deverá ver uma ligação para a porta 443 associada a um certificado SSL. Isso ainda pode estar apontando para o antigo.
fonte
Eu apenas resolvi isso. 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.
fonte
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, outro usando o antigo.
Para corrigir, tive que remover completamente o certificado do servidor (possivelmente uma reinicialização).
No Gerenciador do IIS -> (raiz da árvore do IIS) -> ícone Certificados do servidor, selecione o certificado antigo e clique em Remover no painel Ações.
fonte
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 era realmente um serviço baseado em servidor da web. Atualizei o serviço real (um servidor de voz) para IPv6, mas não consegui atualizar as ligações do redirecionamento para incluir os endereços IPv6.
Isso resultou na falha das resoluções em uma captura globalmente vinculada de todos os sites que continham o certificado desatualizado. Como a captura era apenas do 404, parecia que o site não estava funcionando, quando na realidade estava atingindo o site errado.
fonte
Caso alguém ainda tropeçar nessa questão. A minha foi resolvida indo para
Então você encontrará um arquivo web.config, abra-o usando o bloco de notas e remova a linha com
Salve e tente novamente para acessar o host local ou o site raiz do seu servidor IIS.
fonte