# ldap + ssl Помогите настроить.

## Joper

Привет всем!

Кто-нибудь настраивал эту сабж связку вместе с сертификатами? А то я что-то згалох...

----------

## ba

тебе дать ссылку на фак про то как задавать вопросы?

----------

## Joper

Нет, спасибо. Просто я так понял что очень мало народа заморачивалось с сабжем, что нет смысла лишний раз описывать проблему, выкладывать конфиги, логи, если никто с этим не сталкивался.

Такчто лучше ответь на вопрос в посте выше. Если ответ утвердительный,то выложу всё что надо и задам вопрос как полагается.

----------

## ba

 *Joper wrote:*   

> Если ответ утвердительный,то выложу всё что надо и задам вопрос как полагается.

 

выкладывай

----------

## Joper

Собственно, без ссл всё отлично работает, 

сертификаты, тоже скоре всего рабочие, т.к.

```

 # openssl s_client -connect padonag.moscow.ximxim.com:636 -cert /etc/ca/padonag-cert.pem -key /etc/ca/padonag-privkey.pem

CONNECTED(00000003)

depth=0 /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

verify error:num=20:unable to get local issuer certificate

verify return:1

depth=0 /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

verify error:num=21:unable to verify the first certificate

verify return:1

---

Certificate chain

 0 s:/C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

   i:/C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

---

Server certificate

-----BEGIN CERTIFICATE-----

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

-----END CERTIFICATE-----

subject=/C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

issuer=/C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

---

Acceptable client certificate CA names

/C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

---

SSL handshake has read 1063 bytes and written 1284 bytes

---

New, TLSv1/SSLv3, Cipher is AES256-SHA

Server public key is 1024 bit

Compression: NONE

Expansion: NONE

SSL-Session:

    Protocol  : TLSv1

    Cipher    : AES256-SHA

    Session-ID: 6C27DDE1335FC6521764F90A9F3D700113DCFB9197E1F3C5AC18E0409CC9FABC

    Session-ID-ctx:

    Master-Key: 56F0BA7DBFC47DE5829C1C2C8650ED56424532E20F5858EF5CF03A26B289F322D59B7F9F408E4D082F2F229665D62C47

    Key-Arg   : None

    Start Time: 1197363433

    Timeout   : 300 (sec)

    Verify return code: 21 (unable to verify the first certificate)

---

```

Но про попытке подключения лдапа выскакивает следующая херь:

```

# ldapsearch -D "cn=ldapadmin,dc=moscow,dc=ximxim,dc=com" -W -d 255

ldap_create

Enter LDAP Password:

ldap_bind

ldap_simple_bind

ldap_sasl_bind

ldap_send_initial_request

ldap_new_connection 1 1 0

ldap_int_open_connection

ldap_connect_to_host: TCP padonag.moscow.ximxim.com:636

ldap_new_socket: 3

ldap_prepare_socket: 3

ldap_connect_to_host: Trying 127.0.0.1:636

ldap_connect_timeout: fd: 3 tm: -1 async: 0

TLS trace: SSL_connect:before/connect initialization

tls_write: want=142, written=142

  0000:  80 8c 01 03 01 00 63 00  00 00 20 00 00 39 00 00   ......c... ..9..

  0010:  38 00 00 35 00 00 88 00  00 87 00 00 84 00 00 16   8..5............

  0020:  00 00 13 00 00 0a 07 00  c0 00 00 33 00 00 32 00   ...........3..2.

  0030:  00 2f 00 00 45 00 00 44  00 00 41 00 00 07 05 00   ./..E..D..A.....

  0040:  80 03 00 80 00 00 05 00  00 04 01 00 80 00 00 15   ................

  0050:  00 00 12 00 00 09 06 00  40 00 00 14 00 00 11 00   ........@.......

  0060:  00 08 00 00 06 04 00 80  00 00 03 02 00 80 b8 ad   ................

  0070:  ab 32 e8 e5 3f 64 0f 5d  0a 4b 64 ec de 1b 54 8f   .2..?d.].Kd...T.

  0080:  a8 32 ca 8f cf 59 e2 b2  53 f8 64 02 b6 c3         .2...Y..S.d...

TLS trace: SSL_connect:SSLv2/v3 write client hello A

tls_read: want=7, got=7

  0000:  16 03 01 00 4a 02 00                               ....J..

tls_read: want=72, got=72

  0000:  00 46 03 01 47 5e 51 d1  57 04 11 c7 a6 f5 9a c6   .F..G^Q.W.......

  0010:  cc 8b 3b 4f 79 94 ae f3  9d 47 bb f2 08 da ca 1c   ..;Oy....G......

  0020:  ab 7b cc e8 20 c8 9d b2  e0 3e a9 04 4d e9 dc ce   .{.. ....>..M...

  0030:  7a ad b0 aa 41 f8 05 b2  eb c0 f8 a8 70 72 4e 5a   z...A.......prNZ

  0040:  31 e9 73 f8 76 00 35 00                            1.s.v.5.

TLS trace: SSL_connect:SSLv3 read server hello A

tls_read: want=5, got=5

  0000:  16 03 01 03 20                                     ....

tls_read: want=800, got=800

  0000:  0b 00 03 1c 00 03 19 00  03 16 30 82 03 12 30 82   ..........0...0.

  0010:  02 7b a0 03 02 01 02 02  09 00 e5 17 c0 c1 3d 84   .{............=.

  0020:  3c 94 30 0d 06 09 2a 86  48 86 f7 0d 01 01 05 05   <.0...*.H.......

  0030:  00 30 61 31 0b 30 09 06  03 55 04 06 13 02 52 55   .0a1.0...U....RU

  0040:  31 0f 30 0d 06 03 55 04  08 13 06 52 75 73 73 69   1.0...U....Russi

  0050:  61 31 0c 30 0a 06 03 55  04 0a 13 03 58 49 4d 31   a1.0...U....XIM1

  0060:  0f 30 0d 06 03 55 04 0b  13 06 4d 6f 73 63 6f 77   .0...U....Moscow

  0070:  31 22 30 20 06 03 55 04  03 13 19 70 61 64 6f 6e   1"0 ..U....padon

  0080:  61 67 2e 6d 6f 73 63 6f  77 2e 78 69 6d 78 69 6d   ag.moscow.ximxim

  0090:  2e 63 6f 6d 30 1e 17 0d  30 37 31 32 30 36 30 38   .com0...07120608

  00a0:  35 30 31 33 5a 17 0d 31  37 31 32 30 33 30 38 35   5013Z..171203085

  00b0:  30 31 33 5a 30 61 31 0b  30 09 06 03 55 04 06 13   013Z0a1.0...U...

  00c0:  02 52 55 31 0f 30 0d 06  03 55 04 08 13 06 52 75   .RU1.0...U....Ru

  00d0:  73 73 69 61 31 0c 30 0a  06 03 55 04 0a 13 03 58   ssia1.0...U....X

  00e0:  49 4d 31 0f 30 0d 06 03  55 04 0b 13 06 4d 6f 73   IM1.0...U....Mos

  00f0:  63 6f 77 31 22 30 20 06  03 55 04 03 13 19 70 61   cow1"0 ..U....pa

  0100:  64 6f 6e 61 67 2e 6d 6f  73 63 6f 77 2e 78 69 6d   donag.moscow.xim

  0110:  78 69 6d 2e 63 6f 6d 30  81 9f 30 0d 06 09 2a 86   xim.com0..0...*.

  0120:  48 86 f7 0d 01 01 01 05  00 03 81 8d 00 30 81 89   H............0..

  0130:  02 81 81 00 ea 1f 6b 79  ba a3 95 46 f5 40 e5 d2   ......ky...F.@..

  0140:  79 ea 2d 9a 89 7d 18 e4  0c 8f bb c2 dc 27 57 9d   y.-..}.......'W.

  0150:  e4 42 fc f4 65 fb 90 c3  d5 15 dc 59 d7 79 0f 43   .B..e......Y.y.C

  0160:  22 e0 bc 65 13 1a 20 19  18 4d 0f 3d 1b d0 38 6e   "..e.. ..M.=..8n

  0170:  d8 ab b6 06 4a 55 a2 86  53 61 bf 1a 62 2f 48 81   ....JU..Sa..b/H.

  0180:  24 b5 cb d7 40 03 59 5e  f4 96 5c d7 34 a7 f4 04   $...@.Y^..\.4...

  0190:  99 c7 0a 71 e4 d5 97 dd  0c 8e 9e c4 79 7f e3 16   ...q........y...

  01a0:  9a 83 22 62 69 02 ed 86  dc 32 2a c4 d2 7d de 26   .."bi....2*..}.&

  01b0:  f6 64 0d f5 02 03 01 00  01 a3 81 d1 30 81 ce 30   .d..........0..0

  01c0:  1d 06 03 55 1d 0e 04 16  04 14 a7 d6 cd 8c 42 f5   ...U..........B.

  01d0:  16 50 af 46 3d c9 89 ea  aa d0 cc 12 10 0a 30 81   .P.F=.........0.

  01e0:  93 06 03 55 1d 23 04 81  8b 30 81 88 80 14 09 b7   ...U.#...0......

  01f0:  5b ac a0 2d 85 fb 79 50  67 ec f3 d1 21 d6 da 0f   [..-..yPg...!...

  0200:  57 48 a1 65 a4 63 30 61  31 0b 30 09 06 03 55 04   WH.e.c0a1.0...U.

  0210:  06 13 02 52 55 31 0f 30  0d 06 03 55 04 08 13 06   ...RU1.0...U....

  0220:  52 75 73 73 69 61 31 0c  30 0a 06 03 55 04 0a 13   Russia1.0...U...

  0230:  03 58 49 4d 31 0f 30 0d  06 03 55 04 0b 13 06 4d   .XIM1.0...U....M

  0240:  6f 73 63 6f 77 31 22 30  20 06 03 55 04 03 13 19   oscow1"0 ..U....

  0250:  70 61 64 6f 6e 61 67 2e  6d 6f 73 63 6f 77 2e 78   padonag.moscow.x

  0260:  69 6d 78 69 6d 2e 63 6f  6d 82 09 00 e5 17 c0 c1   imxim.com.......

  0270:  3d 84 3c 93 30 0c 06 03  55 1d 13 04 05 30 03 01   =.<.0...U....0..

  0280:  01 ff 30 09 06 03 55 1d  11 04 02 30 00 30 0d 06   ..0...U....0.0..

  0290:  09 2a 86 48 86 f7 0d 01  01 05 05 00 03 81 81 00   .*.H............

  02a0:  49 09 9d 83 ae c9 03 be  97 80 00 4b 02 86 52 5a   I..........K..RZ

  02b0:  59 c2 79 56 b3 0c 77 2f  2c cd 62 54 53 38 db 9b   Y.yV..w/,.bTS8..

  02c0:  66 43 38 9e 71 cd a0 0b  17 75 44 04 30 39 1b 29   fC8.q....uD.09.)

  02d0:  07 68 73 46 59 ab 43 a5  8a 60 08 f5 c4 03 24 8a   .hsFY.C..`....$.

  02e0:  17 01 24 3c 21 e5 fe e7  a0 aa 51 55 06 e1 c1 00   ..$<!.....QU....

  02f0:  42 d1 aa 7c 28 26 02 65  2f 40 2e 8f 92 d5 a8 e2   B..|(&.e/@......

  0300:  22 88 2c aa ea 00 d2 24  87 4f 78 6d 2b aa c0 b0   ".,....$.Oxm+...

  0310:  e7 9e ad 60 07 a2 2a 63  59 67 95 3e 29 b1 9f d6   ...`..*cYg.>)...

TLS certificate verification: depth: 1, err: 0, subject: /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com, issuer: /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

TLS certificate verification: depth: 0, err: 0, subject: /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com, issuer: /C=RU/ST=Russia/O=XIM/OU=Moscow/CN=padonag.moscow.ximxim.com

TLS trace: SSL_connect:SSLv3 read server certificate A

tls_read: want=5, got=5

  0000:  16 03 01 00 73                                     ....s

tls_read: want=115, got=115

  0000:  0d 00 00 6b 03 01 02 40  00 65 00 63 30 61 31 0b   ...k...@.e.c0a1.

  0010:  30 09 06 03 55 04 06 13  02 52 55 31 0f 30 0d 06   0...U....RU1.0..

  0020:  03 55 04 08 13 06 52 75  73 73 69 61 31 0c 30 0a   .U....Russia1.0.

  0030:  06 03 55 04 0a 13 03 58  49 4d 31 0f 30 0d 06 03   ..U....XIM1.0...

  0040:  55 04 0b 13 06 4d 6f 73  63 6f 77 31 22 30 20 06   U....Moscow1"0 .

  0050:  03 55 04 03 13 19 70 61  64 6f 6e 61 67 2e 6d 6f   .U....padonag.mo

  0060:  73 63 6f 77 2e 78 69 6d  78 69 6d 2e 63 6f 6d 0e   scow.ximxim.com.

  0070:  00 00 00                                           ...

TLS trace: SSL_connect:SSLv3 read server certificate request A

TLS trace: SSL_connect:SSLv3 read server done A

TLS trace: SSL_connect:SSLv3 write client certificate A

TLS trace: SSL_connect:SSLv3 write client key exchange A

TLS trace: SSL_connect:SSLv3 write change cipher spec A

TLS trace: SSL_connect:SSLv3 write finished A

tls_write: want=210, written=210

  0000:  16 03 01 00 07 0b 00 00  03 00 00 00 16 03 01 00   ................

  0010:  86 10 00 00 82 00 80 99  92 38 33 58 f9 89 8e ad   .........83X....

  0020:  c2 01 9d e0 cc 42 bc 83  39 df 4d 7f fe 7f 74 3b   .....B..9.M...t;

  0030:  ae 0d 99 2f 8d 3f 09 16  b9 a9 3d 97 f5 6b 56 7e   .../.?....=..kV~

  0040:  a9 63 ec 17 07 93 1f 10  d8 e4 d0 23 7f f0 00 4b   .c.........#...K

  0050:  c3 80 a0 44 6c 75 fd 2b  9b c1 af 24 ef 81 83 08   ...Dlu.+...$....

  0060:  63 66 a6 f3 fe 52 f5 70  35 fe 9a e2 07 26 3c 01   cf...R.p5....&<.

  0070:  98 d4 e7 0c 11 ad f2 e2  e5 22 0e ed e6 42 0b 42   ........."...B.B

  0080:  d5 8a 5d d1 32 fa cd e9  ba 76 8c ee 25 26 5e e4   ..].2....v..%&^.

  0090:  6a 30 24 ae b1 d3 1b 14  03 01 00 01 01 16 03 01   j0$.............

  00a0:  00 30 6a 13 18 f6 34 6f  b7 c9 27 e7 e4 db ef 8c   .0j...4o..'.....

  00b0:  ed a7 ab 41 01 cf 53 16  7b 4e 80 00 19 e7 9e 2a   ...A..S.{N.....*

  00c0:  8c 79 fc 30 c9 40 ac aa  eb 44 bc b3 17 60 fc 5d   .y.0.@...D...`.]

  00d0:  80 0b                                              ..

TLS trace: SSL_connect:SSLv3 flush data

tls_read: want=5, got=5

  0000:  15 03 01 00 02                                     .....

tls_read: want=2, got=2

  0000:  02 28                                              .(

TLS trace: SSL3 alert read:fatal:handshake failure

TLS trace: SSL_connect:failed in SSLv3 read finished A

TLS: can't connect.

ldap_perror

ldap_bind: Can't contact LDAP server (-1)

        additional info: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

```

Syslog

```

Dec 11 12:00:24 padonag slapd[6074]: conn=1 fd=13 ACCEPT from IP=127.0.0.1:32796 (IP=0.0.0.0:636)

Dec 11 12:00:24 padonag slapd[6074]: conn=1 fd=13 closed (TLS negotiation failure)

```

Конфиги:

Кусок /etc/openldap/slapd.conf

```

# Define SSL and TLS properties (optional)

TLSCipherSuite         HIGH:MEDIUM:+SSLv3:+SSLv2:+TLSv1

TLSCertificateFile /etc/openldap/ssl/padonag-cert.pem

TLSCertificateKeyFile /etc/openldap/ssl/padonag-privkey.pem

TLSCACertificateFile /etc/openldap/ssl/padonag-cacert.pem

TLSVerifyClient demand

```

/etc/openldap/ldap.conf

```

ssl start_tls

BASE    dc=moscow,dc=ximxim,dc=com

URI     ldaps://padonag.moscow.ximxim.com

TLS_CACERT /etc/openldap/ssl/padonag-cacert.pem

#TLS_CERT /etc/openldap/ssl/padonag-cert.pem

#TLS_KEY /etc/openldap/ssl/padonag-privkey.pem

TLS_REQCERT allow

```

/etc/ldap.conf

```

tls_cacertfile /etc/openldap/ssl/padonag-cacert.pem

tls_cert /etc/openldap/ssl/padonag-cert.pem

tls_key /etc/openldap/ssl/padonag-privkey.pem

BASE    dc=moscow,dc=ximxim,dc=com

URI     ldaps://padonag.moscow.ximxim.com/

ldap_version 3

ssl start_tls

nss_reconnect_tries 4                   # number of times to double the sleep time

nss_reconnect_sleeptime 1               # initial sleep value

nss_reconnect_maxsleeptime 16   # max sleep value to cap at

nss_reconnect_maxconntries 2    # how many tries before sleeping

```

Собственно вопрос: Что я не так сделал, и как сделать правильно?

----------

## ba

TLSVerifyClient never или allow попробуй

если поможет и клиента не нужно верифицировать, то оставь так, если нужно, то расскомменти сертификаты в ldap.conf и попробуй с ними

----------

## Joper

 *ba wrote:*   

> TLSVerifyClient never или allow попробуй
> 
> если поможет и клиента не нужно верифицировать, то оставь так, если нужно, то расскомменти сертификаты в ldap.conf и попробуй с ними

 

Пробовал уже,  тогда получается, что можно и без сертификатов подключиться? А я как раз хочу чтобы только по сертификатам....

При TLSVerifyClient отличным от demand, можно подключиться без сертификата.

Т.е.

Кусок /etc/openldap/slapd.conf

```
# Define SSL and TLS properties (optional) 

TLSCipherSuite         HIGH:MEDIUM:+SSLv3:+SSLv2:+TLSv1 

TLSCertificateFile /etc/openldap/ssl/padonag-cert.pem 

TLSCertificateKeyFile /etc/openldap/ssl/padonag-privkey.pem 

TLSCACertificateFile /etc/openldap/ssl/padonag-cacert.pem 

TLSVerifyClient allow or never 
```

etc/openldap/ldap.conf

```
ssl start_tls 

BASE    dc=moscow,dc=ximxim,dc=com 

URI     ldaps://padonag.moscow.ximxim.com 

#TLS_CACERT /etc/openldap/ssl/padonag-cacert.pem 

#TLS_CERT /etc/openldap/ssl/padonag-cert.pem 

#TLS_KEY /etc/openldap/ssl/padonag-privkey.pem 

TLS_REQCERT allow
```

```
ldapsearch -D "cn=ldapadmin,dc=moscow,dc=ximxim,dc=com" -W

Enter LDAP Password:

# extended LDIF

#

# LDAPv3

# base <> with scope subtree

# filter: (objectclass=*)

# requesting: ALL

#

тра ля ля вывод дерева

```

Собсно вот цитата  с openldap.org

 *Quote:*   

> 
> 
> 14.2.1.8. TLSVerifyClient { never | allow | try | demand }
> 
> This directive specifies what checks to perform on client certificates in an incoming TLS session, if any. This option is set to never by default, in which case the server never asks the client for a certificate. With a setting of allow the server will ask for a client certificate; if none is provided the session proceeds normally. If a certificate is provided but the server is unable to verify it, the certificate is ignored and the session proceeds normally, as if no certificate had been provided. With a setting of try the certificate is requested, and if none is provided, the session proceeds normally. If a certificate is provided and it cannot be verified, the session is immediately terminated. With a setting of demand the certificate is requested and a valid certificate must be provided, otherwise the session is immediately terminated.

 

----------

## Azik

ОЧЧЧЧЕНЬ вдумчиво читаем приведенную цитату

 *Quote:*   

> 
> 
> 14.2.1.8. TLSVerifyClient { never | allow | try | demand }
> 
> This directive specifies what checks to perform on client certificates in an incoming TLS session, if any. This option is set to never by default, in which case the server never asks the client for a certificate. With a setting of allow the server will ask for a client certificate; if none is provided the session proceeds normally. If a certificate is provided but the server is unable to verify it, the certificate is ignored and the session proceeds normally, as if no certificate had been provided. With a setting of try the certificate is requested, and if none is provided, the session proceeds normally. If a certificate is provided and it cannot be verified, the session is immediately terminated. With a setting of demand the certificate is requested and a valid certificate must be provided, otherwise the session is immediately terminated.

 

Теперь вдумываемся. Что нужно получить в итоге? Чтобы еще и сервер проверял сертификат клиента? Чтобы было подтверждение клиента, что он - настоящий клиент? Если да, то для него нужно указать отдельные сертификаты и ключи, которые прописываются в /etc/openldap/ldap.conf. Как правило, такого шаманизма не нужно, так как односторонней проверки того, что сервер является настоящим сервером, достаточно.

----------

## Joper

 *Azik wrote:*   

> ОЧЧЧЧЕНЬ вдумчиво читаем приведенную цитату
> 
> Теперь вдумываемся. Что нужно получить в итоге? Чтобы еще и сервер проверял сертификат клиента? Чтобы было подтверждение клиента, что он - настоящий клиент? Если да, то для него нужно указать отдельные сертификаты и ключи, которые прописываются в /etc/openldap/ldap.conf. Как правило, такого шаманизма не нужно, так как односторонней проверки того, что сервер является настоящим сервером, достаточно.

 

Да нужно, чтобы сервер знал, что это- настоящий клиент.

Я прописывал сертификаты(сгенеренные и подписанные моим корневым) для клиентов и ключи к ним, в  /etc/openldap/ldap.conf, ошибка была такаяже как и в 1-м случае.

----------

## ba

```
openssl verify -verbose -purpose sslclient -CAfile /etc/openldap/ssl/padonag-cacert.pem /etc/openldap/ssl/padonag-cert.pem
```

что говорит?

ЗЫ вот этой опцией 

```
TLS_REQCERT allow
```

 ты отключил верификацию сервераLast edited by ba on Tue Dec 11, 2007 2:28 pm; edited 1 time in total

----------

## Joper

 *ba wrote:*   

> 
> 
> ```
> openssl verify -verbose -purpose sslclient -CAfile /etc/openldap/ssl/padonag-cacert.pem /etc/openldap/ssl/padonag-cert.pem
> ```
> ...

 

```
# openssl verify -verbose -purpose sslclient -CAfile /etc/openldap/ssl/padonag-cacert.pem /etc/openldap/ssl/padonag-cert.pem

/etc/openldap/ssl/padonag-cert.pem: OK

```

----------

## Joper

 *ba wrote:*   

> 
> 
> ЗЫ вот этой опцией 
> 
> ```
> ...

 

Да, но сервер должен проверять клиентов тоже.

Если её как раз таки выставить  allow, а в /etc/openldap/slapd.conf опцию TLSVerifyClien выставить не demand,а что-нить другое, то можно подключится без сертификата, что меня как раз не устраивает. А с TLSVerifyClient demand он почему-то вообще не хочет подключаться.

----------

## ba

 *Joper wrote:*   

>  *ba wrote:*   
> 
> ```
> openssl verify -verbose -purpose sslclient -CAfile /etc/openldap/ssl/padonag-cacert.pem /etc/openldap/ssl/padonag-cert.pem
> ```
> ...

 

попробуй тогда использовать разные сертификаты для клиента и сервера.

----------

## ba

 *Joper wrote:*   

>  *ba wrote:*   
> 
> ЗЫ вот этой опцией 
> 
> ```
> ...

 

я имел ввиду что с TLS_REQCERT allow клиент не проверяет валидность сервера

----------

## Joper

 *ba wrote:*   

> 
> 
> попробуй тогда использовать разные сертификаты для клиента и сервера.

 

Пробовал серт для другой машины, 

```

# openssl verify -verbose -purpose sslclient -CAfile /etc/ca/padonag-cacert.pem /etc/ca/medved-cert.pem

/etc/ca/medved-cert.pem: OK

```

Тоже всё хорошо.

----------

## ba

 *Joper wrote:*   

>  *ba wrote:*   
> 
> попробуй тогда использовать разные сертификаты для клиента и сервера. 
> 
> Пробовал серт для другой машины, 
> ...

 

я имел ввиду указать в slapd.conf один сертификат, а в ldap.conf другой

----------

## Joper

 *ba wrote:*   

> 
> 
> я имел ввиду что с TLS_REQCERT allow клиент не проверяет валидность сервера

 

Я понял. Я хотел сказать, что задача сделать так, чтобы никто без сертификата не мог подключиться к серверу.

Кстати заметил инетересную вешь, при в /etc/openldap/slapd.conf TLSVerifyClien try, а в /etc/openldap/ldap.conf TLS_REQCERT demand, без серта не подключается, но стоит выставить, TLS_REQCERT allow, он начинает подключаться без сертификата.

----------

## Joper

 *ba wrote:*   

> 
> 
> я имел ввиду указать в slapd.conf один сертификат, а в ldap.conf другой

 

Пробовал я так, с другой машины подключаться к серверу, короче ситуация идентична абсолютно, что и при подключении самого сервера к себе.

----------

## Azik

А как он будет проверять сертификаты клиента, если строки в ldap.conf про них банально закомментированы?

----------

## Joper

 *Azik wrote:*   

> А как он будет проверять сертификаты клиента, если строки в ldap.conf про них банально закомментированы?

 

С раскоментированными строками тоже самое.

Точнее ошибка 

```
ldap_bind: Can't contact LDAP server (-1)

        additional info: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

```

Появляется всегда вне зависиности от закоментированности строк TLS_CERT и TLS_KEY в /etc/opeldap/ldap.conf и зависит только от присутствия TLS_CACERT.

Отсюда можно сделать вывод что при подключении процесс почему-то не доходт до проверки сертьификатов клиентов.

----------

