net how enable c# asp.net .net iis ssl

how - web api https c#



Las configuraciones del certificado de cliente pueden ser configuradas en el web.config (1)

Puede configurar una combinación de la sección de access y las locations en web.config (o web.configs en los subdirectorios apropiados) para configurar esto.

Por ejemplo, para requerir un certificado SSL en la interfaz del directorio, puede agregar el siguiente bloque a la sección de configuración de su web.config:

<location path="Interface"> <system.webServer> <security> <access sslFlags="Ssl,SslRequireCert" /> </security> </system.webServer> </location>

NOTA: como @Jonathan DeMarks declaró en su comentario, también he necesitado incluir SslNegotiateCert para que funcione (con IIS 8.5 y Chrome). Por lo tanto, la configuración de trabajo para mí es: sslFlags="Ssl,SslRequireCert,SslNegotiateCert" De hecho, recibí un error que decía que estaba especificando SslRequireCert pero podría usar SslNegotiateCert .

Tenga en cuenta que si desea requerir Ssl, debe agregarlo y la marca de certificado correspondiente.

Los valores de bandera de la documentación de la tecnología son:

Ninguna. Esta configuración predeterminada deshabilita SSL para el sitio o la aplicación.

Ssl. El sitio o aplicación requiere SSL.

SslNegotiateCert. El sitio o la aplicación acepta certificados de cliente para la autenticación.

SslRequireCert. El sitio o la aplicación requiere certificados de cliente para la autenticación. Ssl128. El sitio o la aplicación requiere cifrado de certificado SSL de 128 bits.

SIN EMBARGO

La sección de access no se puede anular de forma predeterminada.

Para admitir esto, debe modificar applicationHost.config en C: / Windows / System32 / inetsrv / config (o el directorio apropiado para su instalación) y cambiar la siguiente línea:

<section name="access" overrideModeDefault="Deny" />

a:

<section name="access" overrideModeDefault="Allow" />

Estoy trabajando con una aplicación SSL y quiero controlar qué carpetas ignoran, requieren o aceptan certificaciones de clientes.

El objetivo final es hacer que una subcarpeta de la aplicación web ignore la certificación del cliente. No quiero hacer esto a través de IIS porque tendrá que replicarse en toda la granja de servidores web.

¿Algunas ideas?