On Tue, 1 Oct 2013, Jeffrey Walton wrote:

Is the following performed by curl_easy_perform when using OpenSSL:

 * call SSL_get_peer_certificate and verify the certificate is non-NULL

Yes.

 * call SSL_get_verify_result and verify the result is X509_V_OK

Yes.

 * perform name matching (CN or SAN must match requested host)

I think the last item can be controlled with CURLOPT_SSL_VERIFYHOST, so I would have to add it manually

It is enabled by default, but you can disable it if you really want to.

*If* the subject's CN is not listed in the SAN, will libcurl fail the handshake when using CURLOPT_SSL_VERIFYHOST?

Yes, if SAN is used then CN is ignored. We even have a test case for it.

I did not see an option to disable SSLv3, or an option to disable compression. Are they listed elsewhere? Or is there another way to use, for example, TLS 1.0 and above?

There's an option to ask for TLS1+ (which has some problems we'll fix, see https://sourceforge.net/p/curl/bugs/1280/ and https://github.com/bagder/curl/pull/79)

There's no option to disable TLS compression.

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to