在什么情况下一个用HostnameVerifier
在TrustManager
Java中?一个推荐超过另一个?看看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检查?