尝试使用TLS'LDAP结果代码201“ ErrorNetwork”:无效的数据包格式“连接到LDAP时出错

nattawitc:

我正在尝试使用http://www.github.com/mavricknz/ldap使用LDAP和TLS进行身份验证服务当我仅使用以下代码使用基本身份验证时,一切正常。

conn := ldap.NewLDAPConnection(ldapHost, ldapPort)

conn.NetworkConnectTimeout = time.Duration(ldapConnTimeout) * time.Millisecond
conn.ReadTimeout = time.Duration(ldapReadTimeout) * time.Millisecond

if err := conn.Connect(); err != nil {
    log.Println(err)
    resp.WriteHeader(http.StatusInternalServerError)
    return
}

defer conn.Close()

// bind to ldap
if err := conn.Bind(username, password); err != nil {
    ldaperr := err.(*ldap.LDAPError)
    if ldaperr.ResultCode == ldap.LDAPResultInvalidCredentials {
        resp.Header().Set("WWW-Authenticate", `Basic realm="Item Codes Database"`)
        resp.WriteHeader(http.StatusUnauthorized)
    } else {
        log.Println(err)
        resp.WriteHeader(http.StatusInternalServerError)
    }
    return
}

但是当我尝试通过更改将TLS应用于我的代码时

conn := ldap.NewLDAPConnection(ldapHost, ldapPort)

ldap.NewLDAPTLSConnection(ldapHost, ldapPort, &tls.Config{})

这给我一个错误LDAP Result Code 201 "ErrorNetwork": Invalid packet format该错误来自方法conn.Connect(),当我深入研究它时,它甚至还没有达到使用TLS配置或TLS标志的程度。

nattawitc:

好的,我找到了解决方案。我需要将端口从ldap的389更改为ldaps的636,因为我们使用TLS协议。而且我还必须使用方法NewLDAPSSLConnection来建立隐式TLS连接。

我不确定为什么NewLDAPTSLConnection不起作用。它使用显式TLS,这要求我们首先建立普通连接(使用端口389),然后尝试通过该连接启动TLS。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 PuTTY 连接到 winsock 服务器时出现“接收数据包的填充长度无效”错误

尝试检索结果时,使用PHP类连接到数据库不起作用

尝试使用django-python3-ldap连接到LDAP,但是目标计算机正在积极拒绝它

尝试使用Spring LDAP进行编码

通过电缆连接到Internet时,可以使用Wireshark收集无线数据包吗?

尝试连接到SQL Server数据库时出错

如何使用LDAP从excel VBA连接到Oracle数据库?

使用 OID LDAP 连接到带有学说的 oracle 数据库

使用 NETBEANS SSL TLS10 [TLS12] 连接到 SQL SERVER 2014 时出错

尝试使用包含点字符的TNS别名连接到Oracle时出现“无效的连接字符串格式”错误

使用ldap for PHP完成连接时?

尝试使用获取 AttributeError 的 Python FTP_TLS 对象下载文件时?

使用.start_tls_s()时如何强制Python LDAP验证/验证SSL证书

GPG 在尝试导入公钥时给出无效数据包 (ctb=0a) 错误

使用ldap在Rails上使用devise ruby连接到广告

从帮助代码复制但尝试使用时出错

C#使用DirectoryVirtualListView分页ldap查询结果

迭代LDAP搜索结果

尝试使用Eclipse调试需求软件管道代码时出错

如何使用LDAP从C ++连接到Active Directory?

使用已安装的Java密钥库证书连接到ldap

使用MD5密码连接到LDAP

无法使用 LDAP 机制通过 VBA 宏连接到 Teradata

使用GSSAPI连接到ldap。服务主体错误

尝试连接到Networkshare时句柄无效

尝试连接到 vTiger 时凭据无效

尝试从 quarkus 连接到 keycloak 时出错

使用休眠连接到数据库时出错

尝试连接到Clickhouse数据库时,Sqlalchemy显示“代码516身份验证失败”