У меня есть главный сервер openldap и два подчиненных сервера openldap. Использую несамоподписной CA.
мастер openldap: имя debian на основе stretch
slapd 2.4.44+dfsg-5+d amd64
openssl 1.1.0f-3+deb9u1 amd64
openldap slave: имя debian1 на основе stretch
slapd 2.4.44+dfsg-5+d amd64
openssl 1.1.0f-3+deb9u1 amd64
мастер openldap: имя ldap на основе oracle linux 7.4
slapd 2.4.44-5.el7.x86_64
openssl-1.0.2k-8.0.1.el7.x86_64
Клиент openldap на базе Oracle Linux не смог подключиться к главному серверу LDAP на базе Debian Strech.
Что я сделал на подчиненном Debian и подчиненном Oracle Linux:
root@debian1:~# openssl verify -CAfile /etc/ssl/contatogs.com.br/cacert.pem /etc/ssl/contatogs.com.br/newcerts/cn\=debian1\,ou\=computers\,dc\=contatogs\,dc\=com\,dc\=br.crt.pem
/etc/ssl/contatogs.com.br/newcerts/cn=debian1,ou=computers,dc=contatogs,dc=com,dc=br.crt.pem: **OK**
[root@ldap ~]# openssl verify -CAfile /etc/openldap/cacerts/cacert.pem /etc/openldap/certs/cn\=ldap\,ou\=>
/etc/openldap/certs/cn=ldap,ou=computers,dc=contatogs,dc=com,dc=br.crt.pem: **OK**
пока все хорошо 80)
Теперь возможная проблема на подчиненном сервере Debian1:
root@debian1:~# openssl s_client -connect debian.contatogs.com.br:389 -CAfile /etc/ssl/contatogs.com.br/cac
ert.pem -state
CONNECTED(00000003)
SSL_connect:before SSL initialization
SSL_connect:SSLv3/TLS write client hello
**SSL_connect:error in SSLv3/TLS write client hello**
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 176 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1519415735
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Но master/slave только с Debian/Debian работает, несмотря на эту ошибку/предупреждение.
Теперь Oracle Linux вообще не работает......
[root@ldap ~]#
<contatogs.com.br:389 -CAfile /etc/openldap/cacerts/cacert.pem -state
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
139967037114272:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 289 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
Start Time: 1519415876
Timeout : 300 (sec)
Verify return code: 0 (ok)
Я почти уверен, что проблема в CA, но не знаю, как исправить...80)
Любая помощь будет очень признательна.
решение1
Привет, для будущего поиска я нашел правильный способ избавиться от этой ошибки. Когда я создаю сертификат для подчиненного устройства, я создал его с помощью клиентской части (TLS Web client), и правильным решением будет создать сертификат как сервер (TLS Web server). Что помогло мне обнаружить эту ошибку, так это другой пост на serverfault с этой командой: openssl verify -purpose sslserver -CAfile cacert.pem ldaprov1.crt