jww*_*jww 3 java ssl https jsse
在什么情况下一个用HostnameVerifier在TrustManagerJava中?一个推荐超过另一个?看看Java文档(Interface HostnameVerifier和Interface TrustManager),我无法分辨它何时最好使用(虽然TrustManager看起来更通用).
在过去,我一直使用自定义TrustManager.但是,我注意到java中的Heartbleed漏洞使用了两者(但我不认为它是正确的).
编辑:在使用时HostnameVerifier,是否执行了其他惯常的X509检查,如路径构建,到期和撤销(如果已配置)?我想我基本上是在考虑HostnameVerifier补充其他检查(而不是替换它们).
例如,假设开发服务器位于dev.example.com内部CA并且由内部CA签名.dev.example.com证书中有一个DNS名称及其名称dev.example.com.此外,假设我连接到它192.168.1.10.我可以使用a HostnameVerifier来同时允许dev.example.com和192.168.1.10吗?在这种情况下,是否允许使用其他名称,是否执行了其他惯常的X509检查?
在什么情况下,在Java中的TrustManager上使用HostnameVerifier?
决不.他们做不同的事情.TrustManage将证书作为SSL的一部分进行身份验证.HostnameVerifier验证主机名作为HTTPS的一部分.他们没有参加比赛.
一个推荐超过另一个?
没有.
编辑
TrustManagerTLS握手过程中运行.如果指示失败,则中止握手并且连接失败.HostnameVerifier运行之后 TLS握手,通过TLS连接是已经从视TLS点有效,所以在这一点上,你知道该证书是有效的,由受信任的发布者签名的,未过期的(?)等,你所要做的就是决定(a)它是来自正确的服务器还是(b)你是否信任该服务器.你可以做(b)在一个内部,TrustManager,但更常见的是你根本不提供自己TrustManager的.| 归档时间: |
|
| 查看次数: |
2123 次 |
| 最近记录: |