Java 8u181 引入了一项更改,在使用 Java JNDI LDAP API 连接到 LDAPS (TLS) 服务器时启用证书主机名验证。
请参阅: https: //www.oracle.com/technetwork/java/javase/8u181-relnotes-4479407.html#JDK-8200666
如何禁用此主机名验证,或者更好地指定自定义 javax.net.ssl.HostnameVerifier 类。Oracle 的文档仅指定了一个 Java 环境属性来禁用验证,但没有指出任何有问题地完成此操作的方法,这对于不(或不希望)能够更改其所在 JVM 的位/开关的环境至关重要继续运行。
这个问题: 如何禁用java 1.8.181版本的端点识别 提出了类似的问题,但解决方案是通过命令行更改java环境。我问如何在没有环境切换的情况下以编程方式完成它。
还有其他关于在 Java 中禁用其他类型 SSL 连接的主机名验证的问题/答案,但这些答案不适用于 JNDI LDAP API。