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

Implement TLS1 PRF using the EVP_KDF API in OpenSSL 3 #191

Merged
merged 6 commits into from
Sep 25, 2024
Merged

Implement TLS1 PRF using the EVP_KDF API in OpenSSL 3 #191

merged 6 commits into from
Sep 25, 2024

Conversation

qmuntal
Copy link
Collaborator

@qmuntal qmuntal commented Sep 16, 2024

The EVP_KDF API was added in OpenSSL 3 to properly support KDF algorithms, such as TLS1 PRF. It is recommended that KDF operations migrates from the EVP_PKEY API to this new API. The built-in providers still support the EVP_PKEY for back compat, but third party provider might not do it (SymCrypt looking at you).

This PR implements TLS1 PRF using the EVP_KDF API when using OpenSSL 3.

Also, I'm introducing a new helper, paramBuilder, to build parameters in a much cleaner and safer way. I'll submit a follow-up PR using this helper in other algorithms.

For #158.
For #189.

params.go Outdated Show resolved Hide resolved
@qmuntal
Copy link
Collaborator Author

qmuntal commented Sep 20, 2024

Review needed. Specially from @ueno. Thanks!

Copy link
Collaborator

@ueno ueno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, except one minor nit

tls1prf.go Outdated Show resolved Hide resolved
tls1prf.go Outdated Show resolved Hide resolved
params.go Outdated Show resolved Hide resolved
params.go Outdated Show resolved Hide resolved
params.go Show resolved Hide resolved
params.go Outdated Show resolved Hide resolved
shims.h Show resolved Hide resolved
@qmuntal qmuntal requested a review from dagood September 24, 2024 06:04
@qmuntal qmuntal merged commit 4fb8ffc into v2 Sep 25, 2024
26 checks passed
@qmuntal qmuntal deleted the tlf1prf3 branch September 25, 2024 08:25
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.

4 participants