Ho bisogno di sviluppare una soluzione Java per l'autenticazione reciproca tra Tomcat 6 (server) e SmartCard "IDGo 300" (client).
Per fare questo ho pensato al seguente schema:
1.Tomcat (server) invia a SmartCard (client) la richiesta del suo certificato digitale (firmato da CA).
2.Il cliente immette il PIN e seleziona un certificato disponibile sulla smart card, quindi l'applet invia il suo certificato (firmato da CA) a Tomcat. Tomcat verifica il certificato digitale e, se è corretto, restituisce il certificato.
3. L'applet verifica il certificato del server e, se il certificato è corretto, invia una conferma al server. Il server offre pieno accesso al client per utilizzare l'applicazione web.
Ho alcune domande:
1. Questo schema è fattibile?
2. Vorrei gestire tutto tramite la mia applet e quando il client disconnette la smart card, perde l'accesso al server.