我正在尝试使用 2way SSL 运行 Java 客户端,它使用 CAC 卡作为客户端的密钥库。我在我的客户端程序中添加了以下系统属性以使其工作,并更改了java.security文件以添加pcks11提供程序。
System.setProperty("javax.net.ssl.keyStoreType", "pkcs11");
System.setProperty("javax.net.debug", "ssl");
程序运行良好,握手成功。但是,当我在 CAC 卡中有多个受信任证书时,它会采用默认证书。我想指定应该使用哪个证书来执行客户端身份验证(可能通过指定别名),但我没有找到任何系统属性来执行此操作。
如何将别名指定为系统属性,以便 2way SSL 将其用于客户端身份验证?
是否有另一种方法来指定别名?例如,当我从任何浏览器访问服务器 URL 时,我会收到证书选择提示,并使用所选证书建立连接。