openLDAP ssl/tls Centos 6.3
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Pátek Březen 14 16:09:06 CET 2014
On Fri, 14 Mar 2014, Katerina Bubenickova wrote:
> 296 ssl = tls_imp->ti_session_new( ctx, is_server );
> (gdb)
> 297 if ( ssl == NULL ) {
> (gdb)
> 298 Debug( LDAP_DEBUG_ANY,"TLS: can't create ssl
> handle.\n",0,0,0);
Pozoruhodné je, že tuto hlášku to do logu nezapsalo. Ne že by byla tak
užitečná, ale demonstruje to, že je v logování ladících hlášení nějaká
chyba.
Ale je mi nějaké nepovědomé. Tady jsem totiž viděl kód, který zjišťoval,
jaká chyba nastala, a pak ho zalogoval... jestli náhodou není problém
v tom, že podle subjectu provozujete "CentOS 6.3", zatímco aktuální je
6.5.
Je otázka, zda by nestálo za pokus nejdřív aktualizovat a vyzkoušet, zda
to nezačne fungovat.
> Zdá se, že při prvním pokusu o ldapsearch je
> PR_GetError() = -12285
-12285 je SSL_ERROR_NO_CERTIFICATE
"Unable to find the certificate or key necessary for authentication."
This error has many potential causes; for example:
- Certificate or key not found in database.
- Certificate not marked trusted in database and Certificate's issuer not
marked trusted in database.
- Wrong password for key database.
- Missing database.
Zdá se, že problém je opravdu v inicializaci, kdy se z nějakého důvodu
nepodaří načíst klíče a certifikáty z databáze, ačkoli podle provedeného
pokusu s programem selfserv by db měla být použitelná...
Teď mne ale napadá, že vlastně ten selfserv fungovat neměl, protože
privátní klíč měl být zašifrovaný heslem v pwdfile.txt, o kterém
selfservu nikdo neřekl. Jestli nebude chyba v tom, že tam ho heslo
není, ale slapd ho zkouší a tak mu to nefunguje? Můžete ten selfserv
zkusit spustit ještě jednou a přidat k parametrům
"-f /etc/openldap/certs/pwdfile.txt"?
> při opakovaném ldapsearch pak
> PR_GetError() = -5925
Tato hodnota je PR_CALL_ONCE_ERROR.
"The one-time function was previously called and failed. Its error code is
no longer available"
Evidentně se při prvním spojení pokusí něco inicializovat, to selže a dál
už to nezkouší.
Možná by se dalo zkusit se podívat do tlsm_deferred_ctx_init (jmenuje-li
se to ve Vaší verzi stejně), kde by se měla provádět uvedená inicializace.
Aspoň by z toho mohlo jít poznat, který krok přesně selže.
--
Pavel Kankovsky aka Peak / Jeremiah 9:21 \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /
Další informace o konferenci Linux