gpt4 book ai didi

java - 如何从客户端强制使用客户端身份验证证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:58 25 4
gpt4 key购买 nike

我正在处理服务器到服务器的集成,我想从 https 请求的发起方了解是否使用了客户端认证身份验证。理想情况下,我希望能够强制使用它,但是我不知道如何从 Java 实现这一点。目前我正在使用 Apache Commons Http 客户端。

据我了解 java https client certificate authentication ,客户端身份验证的使用必须由 https 请求的接收者发起,我没有发现任何客户端强制执行它甚至在它发生时报告。

如果这种行为是不可能的,那么我可能会回退到将 http 负载单独加密到 https 连接。这意味着仍然会使用 https 的双重加密,感觉有点笨拙。

最佳答案

没有。它不能从客户端强制执行,只能由服务器强制执行。

普通的 https(单向)基本上是检查服务器是否被客户端信任,如果客户端信任服务器,通信就会发生。但是客户端身份验证更进一步,在客户端信任服务器之上,服务器还尝试对用户进行身份验证。只有双方相互信任,通信才会发生。

所有这些信任验证链都发生在协议(protocol)级别。你不必担心它会如何发生。您所要做的就是设置信任链权限(信任库中的证书链)。

您的双重加密概念不是可行的解决方案。客户端和服务器首先以纯文本相互交谈,看看他们是否可以在这里以安全方式 (https) 进行通信。一旦他们达成协议(protocol),所有流量都将从那里加密。包括您的有效载荷。

当您在服务器上加密负载并使用您自己的 key 在客户端解密时,几乎没有安全挑战,例如,您如何传输 key 以解密到客户端?

关于java - 如何从客户端强制使用客户端身份验证证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com