2013-02-02 359 views
0

我必须在java中创建一个客户端,以便与服务器进行https连接。我有我的证书,我用我的浏览器登录到网站。我如何在我的java客户端上使用相同的证书? 我应该将它添加到密钥库吗?证书java客户端https

谢谢

新的信息: 服务器和客户端都在同一台主机 - >本地主机 客户必须建立的HTTPS请求://本地主机:8183 创建用户的证书类型:

$ ./build-key fg1 
$ openssl pkcs12 -export -out fg1.pfx -inkey fg1.key -in fg1.crt -certfile ca.crt -name default 

然后我做了

$ keytool -importkeystore -srckeystore fg1.pfx -srcstoretype pkcs12 -destkeystore VEPClientRestKeyStore.jks -srcalias default -destalias fg1 -destkeypass <mypassword> 

现在我真的lost.HOw CA ñ我使用此密钥库连接到服务器并发出请求? 再次感谢您。

+0

检查在这里:http://stackoverflow.com/questions/875467/java-client-certificates-over-https-ssl – kofemann

+0

@tigran为什么?没有什么关于如何从浏览器中获取客户端证书。 – EJP

回答

0

我最近编写了一个blog post,附带示例,在Android上这样做,尽管在桌面上进行连接的代码是相同的。

您基本上有两种选择 - 使用keytool将证书导入到java密钥库中(如tigran指向的帖子所示),或根据需要在内存中创建密钥库,如同我的博客文章中的示例。