Necesito desarrollar un applet de Java, para una autenticación mutua entre Tomcat 6 (servidor) y una tarjeta inteligente "IDGo 300" (cliente).
Para hacer esto, pensé en el siguiente esquema:
-
Tomcat (servidor) envía a SmartCard (cliente) la solicitud de su certificado digital (firmado por CA).
-
El cliente ingresa el PIN y selecciona un certificado disponible en la tarjeta inteligente, luego el Applet envía su certificado (firmado por CA) a Tomcat. Tomcat verifica el certificado digital y, si es correcto, lo devuelve.
-
El applet verifica el certificado del servidor y, si el certificado es correcto, envía una confirmación al servidor. El servidor proporciona acceso completo al cliente para utilizar la aplicación web.
Preguntas :
-
¿Es este esquema viable?
-
Me gustaría administrar todo a través de mi applet y cuando el cliente desconecta la tarjeta inteligente, pierde el acceso al servidor.