首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在系统属性中指定证书的别名,同时进行双向SSL连接?

如何在系统属性中指定证书的别名,同时进行双向SSL连接?
EN

Stack Overflow用户
提问于 2010-07-14 07:44:58
回答 2查看 911关注 0票数 2

我试图使用双向SSL运行Java客户端,它使用CAC卡作为客户端的密钥存储库。我在客户端程序中添加了以下系统属性以使其工作,并将java.security文件更改为添加pcks11提供程序。

代码语言:javascript
复制
System.setProperty("javax.net.ssl.keyStoreType", "pkcs11");
System.setProperty("javax.net.debug", "ssl");

该程序运行良好,握手成功。但是,当CAC卡中有多个可信证书时,它将接受默认证书。我希望指定应该使用哪个证书来执行客户端auth (可能通过指定别名),但我没有找到任何系统属性。

如何将别名指定为系统属性,以便2way SSL将其用于客户端auth?

还有其他方法来指定别名吗?例如,当我从任何浏览器访问服务器URL时,我将得到一个证书选择提示符,并且使用所选证书建立连接。

EN

回答 2

Stack Overflow用户

发布于 2010-07-14 08:26:24

对于选择客户端证书,默认实现(sun.security.ssl.X509KeyManagerImpl,假设您正在使用Sun )选择它可以用于请求的第一个证书。

PKCS#11是一个稍微特殊的例子。据我所知,每个时隙只会有一个私钥+证书链。如果您的PKCS#11提供程序配置中没有指定插槽,则默认的插槽为0。

票数 0
EN

Stack Overflow用户

发布于 2011-03-09 04:28:34

由于java属性中没有特定的属性,所以最好搜索另一个现有的密钥管理器实现,该实现支持此实现,否则编写您自己的自定义密钥管理器,以便您可以使用它的别名来选择特定的证书。

谢谢桑尼。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3244217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档