Skip to content

TLS: remove support for Secure Transport and BearSSL #16677

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from

Conversation

bagder
Copy link
Member

@bagder bagder commented Mar 12, 2025

These libraries do not support TLS 1.3 and have been marked for removal for over a year. We want to help users select a TLS dependency that is future-proof and reliable, and not supporting TLS 1.3 in 2025 does not infer confidence. Users who build libcurl are likely to be served better and get something more future-proof with a TLS library that supports 1.3.

Targeted for merge after May 2025.

@bagder bagder added TLS feature-window A merge of this requires an open feature window labels Mar 12, 2025
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 66c232f to ca44be0 Compare March 12, 2025 07:35
@icing
Copy link
Contributor

icing commented Mar 12, 2025

5000 lines removed. Nice.

vszakats added a commit to vszakats/curl that referenced this pull request Mar 29, 2025
bagder added a commit that referenced this pull request Apr 5, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 8e8bea3 to 1951498 Compare April 5, 2025 12:58
bagder added a commit that referenced this pull request Apr 7, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 1951498 to d8d3974 Compare April 7, 2025 06:54
@bagder bagder marked this pull request as ready for review April 7, 2025 06:54
@DemiMarie
Copy link

What is the recommended library for Apple platforms? LibreSSL?

@bagder
Copy link
Member Author

bagder commented Apr 9, 2025

What is the recommended library for Apple platforms? LibreSSL?

The situation among OpenSSL and its forks is a little chaotic. There does not seem to be a single given winner but depends on what you need and prefer. Clearly Apple themselves like LibreSSL as that is what they use for curl shipped with macOS.

bagder added a commit that referenced this pull request Apr 9, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from d8d3974 to 068f2c2 Compare April 9, 2025 21:40
@DemiMarie
Copy link

DemiMarie commented Apr 9, 2025

Makes sense.

FWIW it is possible to use Network.framework for TLS while still using BSD sockets. Apple doesn’t advertise this because they consider the BSD sockets API deprecated, and I only found out about it while wondering how anyone could implement StartTLS on top of Network.framework. That is not in scope for this PR, though!

@nickzman
Copy link
Member

As the guy that originally wrote the Secure Transport back-end, it had a good run, and I understand why it’s about time for it to go. I wish it would have worked out differently, but Apple must have had their reasons to stop working on it, and there’s nothing I can do about that. 🫡

@DemiMarie
Copy link

In case anyone is wondering, it is possible for libcurl to use Network.framework for TLS while still using BSD sockets internally. However, that’s out of scope for this PR and a non-trivial task.

bagder added a commit that referenced this pull request Apr 16, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 068f2c2 to d3df1dc Compare April 16, 2025 07:42
bagder added a commit that referenced this pull request Apr 27, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from d3df1dc to 62c448e Compare April 27, 2025 15:45
@bagder bagder added the on-hold label Apr 28, 2025
bagder added a commit that referenced this pull request May 7, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 62c448e to 3d19c95 Compare May 7, 2025 09:30
bagder added a commit that referenced this pull request May 12, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 3d19c95 to 7276ffd Compare May 12, 2025 15:24
bagder added a commit that referenced this pull request May 26, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 7276ffd to 637c43d Compare May 26, 2025 11:34
@bagder

This comment was marked as outdated.

bagder added a commit that referenced this pull request May 29, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from 6c24bc1 to baf4cb1 Compare May 29, 2025 20:44
@bagder
Copy link
Member Author

bagder commented May 29, 2025

Due to get merged after 8.14.1 has shipped.

These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes #16677
@bagder bagder force-pushed the bagder/rm-non-tls13 branch from baf4cb1 to 0060f16 Compare June 9, 2025 12:08
@bagder bagder closed this in 08a3e8e Jun 11, 2025
vszakats added a commit that referenced this pull request Jun 11, 2025
vszakats added a commit that referenced this pull request Jun 14, 2025
`CURLOPT_SSL_FALSESTART` / `--false-start`, Secure Transport, BearSSL,
GSKit, MesaLink, NSS.

Follow-up to 1e2e808 #17595
Follow-up to 08a3e8e #16677

Closes #17605
denandz pushed a commit to denandz/curl that referenced this pull request Jun 21, 2025
These libraries do not support TLS 1.3 and have been marked for removal
for over a year. We want to help users select a TLS dependency that is
future-proof and reliable, and not supporting TLS 1.3 in 2025 does not
infer confidence. Users who build libcurl are likely to be served better
and get something more future-proof with a TLS library that supports
1.3.

Closes curl#16677
denandz pushed a commit to denandz/curl that referenced this pull request Jun 21, 2025
denandz pushed a commit to denandz/curl that referenced this pull request Jun 21, 2025
`CURLOPT_SSL_FALSESTART` / `--false-start`, Secure Transport, BearSSL,
GSKit, MesaLink, NSS.

Follow-up to 1e2e808 curl#17595
Follow-up to 08a3e8e curl#16677

Closes curl#17605
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration cmdline tool feature-window A merge of this requires an open feature window libcurl API on-hold tests TLS
Development

Successfully merging this pull request may close these issues.

5 participants