1 回答
TA贡献1803条经验 获得超6个赞
gopkg.in/ldap.v2不支持 URI 寻址(即您不能将方案放在ldap://网络ldaps://地址之前)。
注意: 通过DialURLgopkg.in/ldap.v3支持 URI 拨号 ( ) 。ldaps://test.com
如果您使用gopkg.in/ldap.v2,您仍然可以建立直接 TLS 连接,但您必须使用该功能DialTLS,并使用网络地址(不是 URI):
// addr = "10.1.30.47:389"
// tlsAddr = "10.1.30.47:636"
// conn, err = ldap.Dial("tcp", addr) // non-TLS
// serverName = "test.com" TLS cert name will be verified
// serverName = "" TLS verify will be disabled (DON'T DO THIS IN PRODUCTION)
tlsConf, err := getTLSconfig(serverName)
if err != nil { /* */ }
conn, err = ldap.DialTLS("tcp", tlsAddr, tlsConf)
上面需要 a *tls.Config,所以使用一个辅助函数,如:
func getTLSconfig(tlsName string) (tlsC *tls.Config, err error) {
if tlsName != "" {
tlsC = &tls.Config{
ServerName: tlsName,
}
return
}
log.Println("No TLS verification enabled! ***STRONGLY*** recommend adding a trust file to the config.")
tlsC = &tls.Config{
InsecureSkipVerify: true,
}
return
}
- 1 回答
- 0 关注
- 201 浏览
添加回答
举报
