如果使用Java SE SSL /
TLS类(例如
SSLSocket或
SSLEngine)进行连接,则使用Java安全套接字扩展(JSSE)。
它会根据验证对方的证书
SSLContext是用于创建此
SSLSocket或
SSLEngine。
这
SSLContext将与初始化
TrustManager是听写信任如何建立。
除非您需要特定的配置,否则您通常可以依靠默认值:这将依靠PKIX算法(RFC
3280)根据一组信任锚(
cacerts默认情况下)来验证证书。
cacertsOracle
JRE随附的JKS是JKS密钥库,您可以在其中添加其他证书。例如,您可以显式添加证书
keytool。
您还可以以
X509TrustManager编程方式基于自定义密钥库创建一个,并将其用于
SSLContext不影响默认密钥库的特定密钥库中。
除此之外,如果您使用自己的协议,则需要验证所获得的证书是否与您要查找的主机名匹配(请参阅RFC
6125)。通常,您可以在获得的主题中查找主题替代名称
X509Certificate(从中获取链中的第一个对等证书
SSLSession),否则,请
CN在主题可分辨名称中查找RDN。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)