Java 获取与证书匹配的所有主机名的列表
如何获取与证书(Java 获取与证书匹配的所有主机名的列表,java,ssl,certificate,ssl-certificate,Java,Ssl,Certificate,Ssl Certificate,如何获取与证书(java.security.cert.X509Certificate)匹配的所有主机名和IP的列表,包括使用者备选名称?我只发现了javax.net.ssl.HostnameVerifier的各种实现。s.中定义了主机名验证与证书的关联方式(对于HTTPS,对于其他协议,请参阅,但非常类似) 简言之: 使用您的X509Certificate实例,并遍历的结果 每个条目将是一个两元素列表。第一个是类型,第二个是实际值 类型2表示DNS名称,类型7表示IP地址。你需要分别对待他们
java.security.cert.X509Certificate
)匹配的所有主机名和IP的列表,包括使用者备选名称?我只发现了javax.net.ssl.HostnameVerifier的各种实现。
s.中定义了主机名验证与证书的关联方式(对于HTTPS,对于其他协议,请参阅,但非常类似)
简言之:
- 使用您的
实例,并遍历的结果X509Certificate
- 每个条目将是一个两元素列表。第一个是类型,第二个是实际值
- 类型2表示DNS名称,类型7表示IP地址。你需要分别对待他们
- 如果有任何SAN IP地址条目,请将这些地址添加到IP地址列表中
- 如果有任何SAN DNS名称条目,请将这些名称添加到IP地址列表中
- 如果没有任何SAN DNS名称条目(但可能仍有IP SAN AFAIK),则可以读取证书的主题DN并提取其CN(公共名称)并将其添加到列表中。(请参见如何提取CN。请注意,RFC 2818中“最具体”CN的概念在RFC 6125中是一个模糊的概念。)
*.example.org
与example.org
不匹配)