目录
本文将使用 Java作为客户端 与受 mTLS 保护的服务交互。
为了对我们的 Java 客户端进行 ssl 配置,我们需要先设置一个 SSLContext
。这简化了事情,因为 SSLContext
可用于各种 http 客户端。
由于我们有客户端公钥和私钥,我们需要将私钥从 PEM 格式转换为 DER。
?
1 |
|
下一步是将客户端密钥加载到 Java 代码中并创建一个 KeyManagerFactory:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
在上面的片段中
- 我们从文件中读取字节。
- 我们从公钥创建了一个证书链。
- 我们使用私钥创建了一个密钥实例。
- 使用链和密钥创建了一个密钥库
-
创建了一个
KeyManagerFactory
现在我们已经创建了一个 KeyManagerFactory
我们可以使用它来创建一个 SSLContext
由于使用自签名证书,我们需要使用接受它们的 TrustManager
。在此示例中,信任管理器将接受服务器提供的所有证书。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
然后ssl上下文初始化。
?
1 2 |
|
客户端代码:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
我们将收到一个 404 代码,这意味着我们的请求成功进行了 mTLS 握手。
?
1 2 |
|
在其他客户端中,这可能需要设置一个接受所有连接的 HostVerifier
。
?
1 2 3 4 5 |
|
到此这篇关于利用Java实现mTLS调用的文章就介绍到这了,更多相关Java实现mTLS调用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.jdon.com/57481
本文链接:https://my.lmcjl.com/post/7327.html
4 评论