我需要开发一个 java 小程序,用于 Tomcat 6(服务器)和智能卡“ IDGo 300 ”(客户端)之间的相互身份验证。
为了做到这一点,我想到了以下方案:
- Tomcat(服务器)向 SmartCard(客户端)发送其数字证书(由 CA 签名)的请求。
- 客户端输入 PIN 并选择智能卡上的可用证书,然后 Applet 将其证书(由 CA 签名)发送到 tomcat。tomcat 验证数字证书,如果正确则发回他的证书。
- 小程序验证服务器的证书,如果证书正确,则向服务器发送确认。
- 服务器为客户端提供完全访问权限以使用 Web 应用程序。
我有一些问题:
- 这个方案可行吗?
- 我想通过我的小程序管理所有内容,当客户端断开智能卡时,他将失去对服务器的访问权限。