curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Feature request: Make TLS Ciphers discoverable

From: Marc Alff via curl-library <curl-library_at_lists.haxx.se>
Date: Mon, 18 Sep 2023 18:04:07 +0200

Feature request: Make TLS Ciphers discoverable

Greetings.

Please find below a feature request for CURL.


Context:

A client application uses curl, and exposes options such as

my_app --tls12 --cipher-list <<PICK_A_CIPHER>>
my_app --tls13 --cipher-suite <<PICK_A_CIPHER>>

from the command line (or from a configuration file)

The cipher-list and cipher-suite options are used to ultimately invoke:
- CURLOPT_SSL_CIPHER_LIST
- CURLOPT_TLS13_CIPHERS

Now, to use the application, an end-user has to actually provide a
`known` cipher.

Supported ciphers are documented already:

https://curl.se/docs/ssl-ciphers.html

The problem is that this doc is overwhelming for an end user of my_app,
who would typically not know:

- which version of CURL is used in the build for my_app
- which SSL implementation is used when building the CURL library
- which version of the SSL implementation is used
- which compilation flags are set/unset

Request:

1)

In the command line tool, add an option to enumerate supported ciphers.

See similar features in openssl:
   openssl ciphers -v

2)

In the curl library, add an API to enumerate supported ciphers.

The goal is to use this api in an application,
to implement helpers like

my_app --verbose --help cipher

which can then print the list of ciphers supported by:
- the CURL library and version actually used,
- the SSL library and version actually used,
- listing only ciphers that are compiled in the library.

Keep in mind that my_app could be deployed on a system where curl,
the command line tool, is not available
so exposing an API in the CURL library is critical here.

Beside, my_app invoking the API in the library will report ciphers for
the proper version then (in case of static linking).

Related:

https://unix.stackexchange.com/questions/208412/how-to-see-list-of-curl-ciphers

---
Thanks for your consideration.
Best regards,
-- Marc Alff
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2023-09-18