配置Google Cloud Directory Sync(GCDS)时连接Active Directory(AD)失败的问题求助
看起来你在配置GCDS同步Google Workspace和Active Directory的过程中,遇到了LDAPS连接的SSL握手故障,这个错误的核心是PKIX路径验证失败,结合AD返回的绑定错误提示,我给你几个针对性的排查和解决方向:
核心排查与解决步骤
确认证书链已完整导入GCDS的Java信任库
虽然你说CA根证书和服务器证书都有效,但GCDS基于Java运行,它依赖自身的Java信任库来验证SSL证书。你需要确保**整个证书链(根CA+中间CA,如果有的话)**都导入到GCDS自带的JRE信任库中,而不是只导入根证书。导入命令可以参考:keytool -importcert -file "你的CA证书文件路径.cer" -keystore "GCDS安装目录/jre/lib/security/cacerts" -alias "AD-LDAPS-CA"默认信任库密码是
changeit,执行后记得重启GCDS服务。验证LDAPS证书的有效性和合规性
检查AD服务器上用于LDAPS的证书:- 确认证书的**主体名称(Subject)或主体备用名称(SAN)**包含你连接时使用的地址(比如127.0.0.1或者AD服务器的FQDN,推荐用FQDN避免IP相关的证书验证问题);
- 确认证书的**增强型密钥用途(EKU)**包含「服务器身份验证」;
- 检查证书是否过期,以及是否被CA吊销(可以用
certutil -verify命令在AD服务器上验证)。
测试基础LDAPS连接是否正常
先跳过GCDS,直接测试AD的LDAPS服务是否可用:- 在Windows上可以用自带的
ldp.exe工具,选择「连接」-「连接」,输入AD服务器地址和3269端口,勾选「SSL」,看是否能成功建立连接; - 也可以用
openssl s_client -connect 127.0.0.1:3269命令(需要安装OpenSSL),查看返回的证书链是否完整,有没有验证错误。如果这一步连接失败,说明问题出在AD的LDAPS配置上,和GCDS无关。
- 在Windows上可以用自带的
确认绑定账户的权限和状态
错误提示里提到「必须先完成成功绑定才能执行此操作」,虽然主要是SSL问题导致绑定失败,但也要确认你用来绑定的AD账户:- 没有被锁定、密码没有过期;
- 拥有至少读取AD目录对象的权限(建议用专门的服务账户来做GCDS同步)。
检查端口和防火墙设置
确认GCDS所在服务器到AD服务器的3269端口(全局编录LDAPS)没有被防火墙或安全组拦截,同时AD服务器的全局编录服务已经启用了LDAPS。
附你遇到的错误信息:
Error: Connection failed
Exception: Network problem: Unable to connect to the specified LDAP server: simple bind failed: 127.0.0.1:3269, reason: SSLHandshakeException - PKIX path validation failed: java.security.cert.CertPathValidatorException: sun.security.provider.certpath.PKIX$CertStoreTypeException: javax.naming.NamingException: [LDAP: error code 1 - 000004DC: LdapErr: DSID-0C090BA8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v3839]; remaining name 'CN=(CA name),CN=(CA server name),CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com'
备注:内容来源于stack exchange,提问作者Petr Synek

