خرید بک لینک

I want to test my secure server implementation with openssl (v. 1.0.1e). I use openssl in client mode to coect to the server:

openssl s_client -cert client.pem -coect localhost:8888 -debug

This succeeds and I see that a SSL handshake has taken place.

The server is configured to reject any client that does not present a certificate. I use the above command without the -cert switch but the coection to the server is successfully established.

The documentation specifies:

-cert certname
The certificate to use, if one is requested by the server. The default is not to use a certificate.

In the wireshark (v. 1.8.10) trace I see that both scenarios (ie. with and without the -cert switch) contain the same steps. The protocol is TLSv1:

  1. Client Hello
  2. Server Hello, Certificate, Server Key Exchange, Server Hello Done
  3. Client Key Exchange
  4. Change Cipher Spec
  5. Encrypted Handshake Message
  6. Change Cipher Spec
  7. Encrypted Handshake Message

Why does the coection succeeds in both scenarios although the server should reject clients without certificates? Does step 3 indicate that the client's certifcate is presented to the server? How do I get openssl to not send a certificate at all?

برچسب: نویسنده: استخدام کار تاريخ: سه شنبه 15 تير 1395 ساعت: 16:35

صفحه بندی