Pregunta

Estoy desarrollando un nuevo sitio web (ASP.Net, páginas con código VB, .Net 3.5) para reemplazar un " Classic ASP " sitio.

Algunas de las páginas son "públicas" y el resto requiere autenticación, en este caso, se realiza mediante la lectura de las tarjetas CAC emitidas por el DoD a través del teclado.

Ahora, para 'producción', configuran IIS para que haga el desafío de autenticación (leyendo la tarjeta y solicitando un PIN) cuando llega a un determinado directorio (/ seguro en este caso) para que todas las páginas en ese árbol sean asegurado.

Llego al punto en el que necesito ver parte de la información de la tarjeta, pero cuando " F5 " El sitio web que estoy desarrollando, todo el contenido de Request.Clientcertificate está vacío: no hay ningún "desafío" con el servidor de desarrollo Cassini ASP.Net.

Veo referencias a " configurar IIS para poner SSL en el directorio de destino " - pero no estoy ejecutando IIS en esta PC de desarrollo (tampoco lo está el otro desarrollador que se va a encontrar con esto en breve). La gente de soporte de red estará haciendo esto cuando el sitio finalmente se copie a producción, pero ahora necesito probar ciertas funciones de seguridad.

¿Cómo puedo configurar el servidor que viene con VS2008 para leer la tarjeta CAC y 'cargar' las variables de sesión / servidor que necesito consultar? Alternativamente, ¿hay algo que pueda poner en las páginas .aspx o .aspx.vb que puedan simular o desencadenar el desafío de seguridad?

Gracias de antemano.

¿Fue útil?

Solución

Respuesta corta. Cassini no admite ese tipo de seguridad.

Otros consejos

Espero que hayas encontrado una solución a esto ahora ... pero, por si acaso, te diré que hago un desarrollo similar y me encontré con el mismo problema. La única " solución " Descubrí que era simplemente publicar el sitio web / página web en un servidor con IIS configurado para requerir certificados de cliente, etc ...

Por supuesto, esto evita que uses la función " debug " función en Visual Studio, pero siempre existe el método de inyectar declaraciones de depuración en el código [por ejemplo: response.write () seguido de response.end () si es necesario]. .. También construí una página que usé para enumerar todas las cadenas disponibles en request.clientcertificate () , e incluso más tarde la expandí para ejecutar una expresión regular proporcionada para buscar todo el certificado ...

¡Espero que esas ideas sean útiles!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top