我必须在 java 中创建一个与服务器建立 https 连接的客户端。我有我的证书,我用我的浏览器登录网站。我如何在我的 Java 客户端上使用相同的证书? 我应该将它添加到 keystore 吗?
谢谢
新信息: 服务器和客户端都在同一台主机上 -> localhost 客户端必须向 https://localhost: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>
现在我真的迷路了。我如何使用这个 keystore 连接到服务器并发出请求? 再次感谢你。
最佳答案
我最近写了一个blog post ,完整的示例,用于在 Android 上执行此操作,尽管用于建立连接的代码在桌面上是相同的。
您基本上有两种选择 - 要么使用 keytool 将证书导入 java Keystore,如 tigran 指向的帖子所示,要么根据需要在内存中创建 keystore ,如我的博文附带的示例所示。
关于java - 证书java客户端https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14666560/