Eu tenho um UCC assinado publicamente para LDAP sobre SSL em um domínio de teste. Ele contém a Extensão OID de Autenticação do Servidor e funciona bem em um DC 2008 R2 no mesmo domínio. O CSR foi gerado no 2008 R2 Server, mas contém um nome de entidade correspondente ao FQDN do domínio e SANs para o FQDN do DC do 2008 R2 e o FQDN do DC de 2003.
Quando tento conectar-me de outro sistema no domínio via ldp.exe ao 2008 R2 DC pela porta 636 com SSL, ele funciona bem. No entanto, conectando-se ao DC 2003 retorna:
-----------
0x0 = ldap_unbind(ld);
ld = ldap_sslinit("testdc01", 636, 1);
Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 81 = ldap_connect(hLdap, NULL);
Server error: <empty>
Error <0x51>: Fail to connect to afgtestdc01.
ld = ldap_sslinit("testdc01", 636, 1);
Error 81 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 81 = ldap_connect(hLdap, NULL);
Server error: <empty>
Error <0x51>: Fail to connect to testdc01.
Eu aumentei o nível de registro de SChannel para "Registrar eventos informativos e de sucesso", o nível mais detalhado disponível. No entanto, o único evento ao tentar se conectar é 36867: Creating an SSL server credential
.
Para evitar um problema conhecido em que um certificado incorreto pode ser selecionado pelo SChannel , assegurei que o certificado fosse o único na loja pessoal local do computador. Mudei as CAs intermediárias e raiz para as respectivas lojas de computadores. O certificado é válido no MMC.
O que estou perdendo?
Atualização: por recomendação da CA, criei um certificado duplicado com o nome da entidade correspondente ao FQDN do servidor, em vez de corresponder a ele na SAN. Isso não produziu nenhum resultado melhor.
No entanto, netstat -n -p tcp
não mostra 636 como escutando, embora o portqry de outro servidor 2003 retorne que 636 esteja escutando. Eu estou procurando por que isso pode ser.
Eu também tentei testar com o ldp.exe no próprio DC 2003 e ainda não consigo me conectar.