Skip to content
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

libtls: unbreak with OpenSSL 3.x #1208

Merged
merged 1 commit into from
May 13, 2023

Conversation

omar-polo
Copy link
Contributor

In OpenSSL 3.x due to a behaviour change EVP_PKEY_get1_EC_KEY() returns a cashed copy of the provider's key, so subsequent updates are not reflected back breaking the privsep usage and making the handshake fail with a cryptic "missing private key". Instead, we have to set the changed key explicitly.

See #1171

In OpenSSL 3.x due to a behaviour change EVP_PKEY_get1_EC_KEY() returns
a cashed copy of the provider's key, so subsequent updates are not
reflected back breaking the privsep usage and making the handshake fail
with a cryptic "missing private key".  Instead, we have to set the
changed key explicitly.

See OpenSMTPD#1171
@omar-polo
Copy link
Contributor Author

p.s. this will need a little tweak once i'll add the signer stuff to the bundled libtls to shorten the diffs with libtls...

@poolpOrg
Copy link
Member

fine by me

@omar-polo
Copy link
Contributor Author

Thanks!

I'm also discussing a similar patch for libtls, once it gets committed i'll forward the patch to the libretls maintainers too. I'm also about to add a configure knob --with-bundled-libtls to avoid using the system version, something that will be needed until libretls gets updated.

@omar-polo omar-polo merged commit a2cf739 into OpenSMTPD:master May 13, 2023
6 checks passed
@omar-polo omar-polo deleted the libtls-openssl3 branch May 13, 2023 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants