2011-06-24 18 views
5

Potrzebuję skonfigurować połączenie z serwerem za pomocą protokołu SSL. Dostałem od właścicieli serwera 2 pliki - certyfikat główny CA (ca.pem) i żądanie certyfikatu testowego (plik test.csr).Problemy z SSL (openssl)

Jestem spróbuj przetestować łączyć się za pośrednictwem narzędzia openssl s_connect i daję dziwny wynik (xxx - wartości zamaskowanych):

openssl s_client -connect MYURL -CAfile ca.pem 
CONNECTED(00000003) 
xxx verify return:1 
xxx verify return:1 
3074332296:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1193:SSL alert number 40 
3074332296:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177: 

Ale po ostrzegania i druku uzgadniania danych certyfikatu widzę:

SSL handshake has read yyy bytes and written yyy bytes 
New, xxx, Cipher is xxx 
Server public key is xxx bit 
Compression: xxx 
Expansion: xxx 
SSL-Session: 
    Protocol : xxx 
    Cipher : xxx 
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: xxx 
    Key-Arg : xxx 
    PSK identity: xxx 
    PSK identity hint: xxx 
    Compression: xxx 
    Start Time: xxx 
    Timeout : xxx (sec) 
    Verify return code: 0 (ok) 

Co to znaczy zweryfikować kod powrotu to 0 (ok)? Jak to możliwe, jeśli wystąpił błąd/alert o uzgadnianiu?

Odpowiedz

4

Otrzymujesz od serwera powiadomienie o niepowodzeniu uścisku dłoni, co oznacza, że ​​występuje inny błąd, nie jest to niepowodzenie sprawdzania poprawności certyfikatu. Powinieneś spojrzeć na dzienniki po stronie serwera, aby dowiedzieć się, co się nie udało.

+2

Sprawdź, czy obsługiwane szyfry wymuszane przez serwer są zgodne z tym, z czym klient próbuje się połączyć. Możesz uzyskać ten błąd, jeśli próbujesz połączyć się z szyfrem, którego konfiguracja serwera sieciowego nie obsługuje - może to być spowodowane przez dystrybucję openssl po stronie serwera, na przykład –

Powiązane problemy