Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jenkins无法连接到ldaps://server_Java_Ssl_Jenkins_Ldap - Fatal编程技术网

Java Jenkins无法连接到ldaps://server

Java Jenkins无法连接到ldaps://server,java,ssl,jenkins,ldap,Java,Ssl,Jenkins,Ldap,我正在尝试将Jenkins连接到LDAP服务器。我在詹金斯身上设置了配置,但我得到了他的信息: 无法连接到ldaps://ldap.my.server.com :javax.naming.CommunicationException:简单绑定失败:ldap.my.server.com:636[根异常为javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.securi

我正在尝试将Jenkins连接到LDAP服务器。我在詹金斯身上设置了配置,但我得到了他的信息:

无法连接到ldaps://ldap.my.server.com :javax.naming.CommunicationException:简单绑定失败:ldap.my.server.com:636[根异常为javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径]


我知道这是因为我的SSL证书是自签名的,但是,在jenkins中有没有什么方法可以忽略这一点?

您的信任库不信任服务器证书。如果它是自签名的,您需要将它从服务器导出并导入到您的客户端信任库。更好的是,让它签名。

您考虑过跳过证书吗电子验证? 这是一段代码,我前段时间在思考同一个问题时发现:

public static void trustSelfSignedSSL() {
    try {
        SSLContext ctx = SSLContext.getInstance("TLS");
        X509TrustManager tm = new X509TrustManager() {

            @Override
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }

            @Override
            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }

            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        };
        ctx.init(null, new TrustManager[] { tm }, null);
        SSLContext.setDefault(ctx);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

希望这将有助于

出于测试目的,我需要它未签名。完全不安全,不符合其自身的合同。我同意并建议仅出于测试目的使用此方法