Navegador não solicita certificado - IIS 10.0

Navegador não solicita certificado - IIS 10.0

Eu tenho um aplicativo que estava funcionando bem no IIS 8.5 que usava essa configuração no arquivo web.config para um login de certificado de cliente (smartcard) para um caminho. Tive que migrar este aplicativo para o IIS 10.0 e tudo está funcionando, exceto que o aplicativo não solicita o certificado e simplesmente gera um erro no código informando que não há certificado.

Verifiquei duas vezes e três vezes todas as configurações no IIS, o certificado é o mesmo, as configurações de SSL são as mesmas. O aplicativo é um aplicativo .netcore simples e funciona perfeitamente, com exceção do prompt do certificado. Há algo diferente no IIS 10 do 8.5 que possa estar faltando. A parte do web.config que permite ao navegador solicitar o certificado, acredito, é esta parte aqui. O desenvolvedor que fez isso não está mais conosco e eu apreciaria qualquer ajuda para isso. Há algo que preciso verificar no IIS além do que já verifiquei?

Analisei algumas outras postagens e certifiquei-me de que o certificado raiz e intermediário estão no armazenamento de certificados, etc. O aplicativo em si carrega bem com o certificado SSL.

<location path="SmartCard">
<system.webServer>
  <security>
    <access sslFlags="Ssl,SslNegotiateCert" />
  </security>
</system.webServer>

Responder1

Todoscoisas sendoigual, istodevefunciona igual!

Essa é a parte principal - talvez nem todas as coisas sejam iguais acima do nível do web.config? (ou abaixo - esse web.config será aplicado apenas a uma pasta SmartCard que faz parte do mesmo caminho de URL HTTP, com base nissolocalizaçãomarcação)

Windows\System32\InetSrv\config\ApplicationHost.configtende a acumularcoisascom o tempo e as pessoas fazem alterações na configuração no nível do servidor que esquecem.

Então, opções possíveis:

  • Verifique se há um certificado de servidorcom chave privadainstalado e que as ligações do site incluem HTTPS

    • Eu sei que você mencionou que o uso do site via SSL funciona - isso deve provar que
  • Descarte as configurações efetivas do site do servidor em funcionamento e compare com as configurações descartadas do servidor que não funciona

    • para ganhar pontos extras, algo como a Web Deployment Tool pode ajudar com isso
    • método manual:
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >working.txt(no servidor em funcionamento)
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >NONworking.txt(em... você adivinhou, o servidor que não funciona!)
      • e entãocompararcom um editor de texto ou um olhar criterioso
      • deixe de fora /text:* se preferir XML
  • Adicione a essa NETSH SHOW SERVICESTATEcomparação de cada um para uma rápida revisão das filas HTTP.SYS

Na verdade, essa é a versão expurgada - você também pode ver o conteúdo completo applicationhost.confignão filtrado por site (e organizado de maneira sensata no início, depois linearmente com alterações subsequentes) em Windows\System32\InetSrv\Config, e issopoderser mais fácil (ou muito mais difícil).

informação relacionada