I want to test my secure server implementation with openssl (v. 1.0.1e). I use openssl in client mode to connect to the server:
openssl s_client -cert client.pem -connect 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 connection 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:
- Client Hello
- Server Hello, Certificate, Server Key Exchange, Server Hello Done
- Client Key Exchange
- Change Cipher Spec
- Encrypted Handshake Message
- Change Cipher Spec
- Encrypted Handshake Message
Why does the connection 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?
Recent Questions...
ما را در سایت Recent Questions دنبال میکنید
برچسب:
نویسنده: استخدام کار
بازدید: 234
تاريخ: سه
شنبه
15 تير
1395 ساعت: 16:35