相关疑难解决方法(0)

Java HTTPS客户端证书身份验证

我很新HTTPS/SSL/TLS,我对使用证书进行身份验证时客户端应该提供的内容有点困惑.

我正在编写一个Java客户端,需要为POST特定的数据执行简单的数据URL.那部分工作正常,唯一的问题是应该完成它HTTPS.该HTTPS部分相当容易处理(使用HTTPclient或使用Java的内置HTTPS支持),但我仍然坚持使用客户端证书进行身份验证.我注意到这里已经有一个非常类似的问题,我还没有用我的代码试过(很快就会这么做).我当前的问题是 - 无论我做什么 - Java客户端永远不会发送证书(我可以使用PCAP转储检查).

我想知道客户端在使用证书进行身份验证时应该向服务器提供什么内容(特别是对于Java - 如果这一点很重要)?这是一个JKS文件,还是PKCS#12?什么应该在他们身上; 只是客户端证书,还是密钥?如果是这样,哪个关键?对于所有不同类型的文件,证书类型等存在相当多的混淆.

正如我之前所说,我是新手,HTTPS/SSL/TLS所以我也会欣赏一些背景信息(不必是一篇文章;我会接受好文章的链接).

java ssl https client-certificates

212
推荐指数
6
解决办法
32万
查看次数

在Java中,使用PEM文件创建SSLContext的最简单方法是什么?

我使用LetsEncrypt的CertBot免费生成PEM文件.在其他语言中,只需使用几行代码和PEM /密钥文件即可轻松启动HTTPS服务器.到目前为止我在java中找到的解决方案过于复杂,我正在寻找更简单的东西.

  1. 我不想使用java的命令行"keytool".我只想将我的PEM /密钥文件拖放到我的eclipse中,并使用SSLContext以编程方式启动HTTPS服务器.
  2. 我不想包括像BouncyCastle这样的大型外部库.请参阅以下链接,了解使用BouncyCastle的假设解决方案: 如何从PEM证书和密钥构建SSLSocketFactory而不转换为密钥库?

有没有更好/更简单的方法来做到这一点?

java ssl https java-8 lets-encrypt

14
推荐指数
2
解决办法
3294
查看次数

标签 统计

https ×2

java ×2

ssl ×2

client-certificates ×1

java-8 ×1

lets-encrypt ×1