我对使用客户端令牌来执行SSL/TLS的客户端证书身份验证很感兴趣,但是客户机私钥驻留在一个(非PKCS11 11可访问的)硬件令牌上。我最初想替换密钥管理器,但是我不能从令牌返回私钥,所以我考虑修改底层的SSLSocket和相关类以实现我的目标。
在建立TLS会话时使用的私钥是哪些Java类,以便我可以覆盖该功能?还有其他建议吗?
发布于 2015-10-02 14:30:13
最后,我创建了一个新的提供者来完成这个任务。我的提供者注册了以下内容:
提供程序将我的令牌注册为PKCS11设备,以避免在客户端身份验证期间出现默认密码提示(我对令牌PIN使用自定义密码提示)。我将我的provder放在提供者列表的顶部,创建了一个新的SSLContext并设置了SSLSocketFactory,最后建立了连接。
客户端和服务器上的-Djavax.net.debug=true始终是我的朋友。
https://stackoverflow.com/questions/31190205
复制相似问题