tl; dr Esse erro significa que eu preciso encontrar o certificado público do servidor ldap da minha empresa e instalá-lo, ou que o servidor ldap da minha empresa precisa instalar meu certificado público? Se o primeiro, como posso pegar os certs e instalá-lo?
Estou tentando integrar um aplicativo ao LDAP da minha empresa. Sou muito novo no LDAP e no SSL, por isso peço desculpas antecipadamente. Eu posso fazer isso com êxito em não-SSL, mas estou atingindo esse problema quando eu tento fazer isso através de SSL. Eu estou em um Rhel 6.4 com openldap
versão 2.4.
Usando ldapsearch
ldapsearch -v -h myhost.com -b 'DC=myhost,DC=com, -D 'CN=me,DC=myhost,DC=com' -x -W -Z
ou Python
import ldap
con = ldap.initialize('ldaps://myhost.com')
dn = 'CN=me,DC=myhost,DC=com'
pw = 'password'
con.simple_bind_s(dn, pw)
resulta em:
ldap_start_tls: Connect error (-11)
additional info: TLS error -8179:Peer's Certificate issuer is not recognized.
Isso significa que preciso encontrar o certificado público do servidor LDAP da minha empresa e instalá-lo em algum lugar, por exemplo, / etc / openldap / certs? Ou, isso significa que eu preciso dizer ao servidor ldap da minha empresa para aprovar meu certificado público?
openssl s_client -connect myhost.com:636
Isso despeja um certificado, mas no final diz:
Verify return code: 20 (unable to get local issuer certificate)
Novamente, não tenho certeza se isso significa que eu preciso dos certificados do servidor LDAP ou vice-versa.
Eu tentei ver a cadeia de certificados assim:
openssl s_client -showcerts -connect myhost.com:636
Copiei os certificados em ordem e criei um arquivo como esse, chamado cert.pem:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Eu tentei isso:
openssl s_client -connect myhost.com:636 -cert /path/to/cert.pem
mas falhou com:
unable to load client certificate private key file
140503604590408:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:
Expecting: ANY PRIVATE KEY
(Eu também tentei -CAfile e -CApath nisso, mas recebi o unable to get local issuer certificate
.)
Eu recriei o arquivo pem, mas desta vez incluí a chave privada do meu servidor, e cert, seguido pelos certificados do servidor ldap, mas recebi o mesmo erro ( Verify return code: 20 (unable to get local issuer certificate)
) novamente.
Estou criando esses arquivos de certificado incorretamente?