java - 证书java客户端https

标签 java ssl https client keytool

我必须在 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/

相关文章:

java - 如何使用边框布局?

ssl - 如何修复 Stunnel 服务器上的 "Service [XXX]: SSL server needs a certificate"?

php - apache2 debian 上的 ssl 安全,没有用于 cURL 设置的公开认可的 CA

PHP CURL CURLOPT_SSL_VERIFYPEER 被忽略

ssl - 是否可以在不需要 native 库和 APR 的情况下使用 OpenSSL 为 Tomcat 启用 HTTPS/TLS?

java - if 条件中的字符串比较总是出错

java - GWT 在 onModuleLoad 之前的应用程序启动时挂起

java - 如何使用Netty处理Http Keep-Alive连接

ssl - 是否可以使用 certbot 更新证书的到期日期,但不更新证书内容?

java - 在从 eclipse 连接到 maven nexus repo 时了解 ssl 协议(protocol)