Skip to content

Add OpenSSL::KDF.derive to expose EVP_KDF in OpenSSL 3.0#906

Open
rhenium wants to merge 3 commits into
ruby:masterfrom
rhenium:ky/kdf-evp-kdf-derive
Open

Add OpenSSL::KDF.derive to expose EVP_KDF in OpenSSL 3.0#906
rhenium wants to merge 3 commits into
ruby:masterfrom
rhenium:ky/kdf-evp-kdf-derive

Conversation

@rhenium

@rhenium rhenium commented Jul 4, 2025

Copy link
Copy Markdown
Member

Closes #892

@rhenium rhenium mentioned this pull request Jul 4, 2025
@rhenium rhenium force-pushed the ky/kdf-evp-kdf-derive branch from 7ef5fbf to cac4b64 Compare July 24, 2025 10:43
@BenMorganMY

Copy link
Copy Markdown

Hey @rhenium, how is this PR going? With Rails 8.2 coming with default argon2 support, this PR would go quite the distance and remove the argon2 ruby gem from nearly every new Rails 8.2 application.

Add a helper function to make an array of OSSL_PARAM from Enumerable,
which can be passed to OpenSSL 3.0's *_set_params() functions.

In the next patch, we will use this with the EVP_KDF API to implement
OpenSSL::KDF.derive.
@rhenium rhenium force-pushed the ky/kdf-evp-kdf-derive branch from cac4b64 to 9939e07 Compare July 11, 2026 15:52
@rhenium rhenium marked this pull request as ready for review July 11, 2026 15:52
rhenium added 2 commits July 12, 2026 00:54
Expose EVP_KDF_derive() added in OpenSSL 3.0. The Argon2 password
hashing algorithm added in OpenSSL 3.2 is available exclusively through
this API.

This is a low-level and minimum method to interact with the API. You
will have to carefully read the relevant man pages to use this
correctly.
@rhenium rhenium force-pushed the ky/kdf-evp-kdf-derive branch from 9939e07 to e10d958 Compare July 11, 2026 15:54
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.

Add Support for Argon2

2 participants