2010-10-14 16 views
9

Estoy ejecutando una aplicación en un servidor independiente tomcat 6 en una caja de Windows. Quiero que pueda solicitar y recibir certificados de clientes de las tarjetas DoD CAC.Configuración de Tomcat para aceptar certificados de tarjeta DOD CAC

Tengo un equipo cliente que ejecuta IE que se configuró correctamente para pasar los certificados de una tarjeta CAC, sé que es correcto porque cuando voy a un sitio habilitado para CAC, aparece una ventana pidiéndome que elija un certificado y en esa ventana veo los certs de mi tarjeta CAC.

Tengo Tomcat configurado para solicitar certs del usuario y cuando navego a mi sitio ejecutando en tomcat veo el mismo indicador de IE que me pide que elija mi certificado, sin embargo cuando estoy buscando en mi sitio la lista de certs esta vacio. En mi archivo server.xml He configurado mi conector como sigue:

<Connector port="8443" 
      protocol="HTTP/1.1" 
      SSLEnabled="true" 
      maxThreads="150" 
      scheme="https" 
      secure="true" 
      keystoreFile="<myKeysotre>" 
      keystorePass="<myPassword>" 
      clientAuth="want" 
      sslProtocol="TLS" /> 

El lugar en el que creo que estoy metiendo la pata está en la generación del archivo de almacén de claves. En este momento me he generado utilizando la herramienta de claves Java mandar algo como esto:

herramienta de claves -genkey -alias -keypass miContraseña -keystore myKeystore -storepass miContraseña

que estoy haciendo ahora y desarrollo Busco una forma de obtener certificaciones del cliente de la tarjeta CAC para mi aplicación pero me falta algo. No estoy muy familiarizado con cómo funciona esto, así que podría usar algo de ayuda/orientación.

Gracias

+0

¿Qué estás haciendo ahora con los certificados? Supongo que quieres entregarlos a los nombres de usuario de alguna manera? – Rob

Respuesta

10

Después de un poco de pelo tirando aquí es lo que he descubierto. El motivo por el que el indicador de IE me pedía que seleccionara mi certificado estaba vacío era porque las certificaciones del cliente (certs en la tarjeta CAC) no fueron emitidas por ninguna CA en la raíz de confianza en mi servidor tomcat.

Lo que tenía que hacer era agregar los certificados raíz de CA a mi tomcat truststore. Me tomó un tiempo descubrir cómo obtener los certs. Lo que hice fue ir al sitio web http://dodpki.c3pki.chamb.disa.mil/rootca.html y descargar los certificados raíz (los archivos vienen como archivos .cac) y luego importar esos archivos a IE (Herramientas-> Opciones de Internet-> Contenido-> Certificados). Entonces, de nuevo de la herramienta certificado IE) Exporté los CERT de la raíz como archivos X509 y creé un almacén de confianza para contenerlos:

keytool -storepass somePassword -import -alias DoDClass3RootCA -keystore my.truststore -trustcacerts -file exports\DoDClass3RootCA.cer 

Una vez que la tienda fue creada puedo actualizar el elemento conector en el archivo server.xml de incluir ese almacén de confianza:

<Connector port="8443" 
      protocol="HTTP/1.1" 
      SSLEnabled="true" 
      maxThreads="150" 
      scheme="https" 
      secure="true" 
      truststoreFile="my.truststore" 
      truststorePass="somePassword" 
      … /> 

Después de hacer eso y reiniciar Tomcat los certificados de tarjeta CAC se presentaron para mí

Cuestiones relacionadas