Skip to content

Stdlib: openssl_pbkdf2() PBKDF2 key derivation (#6488) - #17977

Merged
PurHur merged 2 commits into
masterfrom
agent/issue-6488-openssl-pbkdf2
Jul 11, 2026
Merged

PurHur merged 2 commits into
masterfrom
agent/issue-6488-openssl-pbkdf2

Conversation

@PurHur

@PurHur PurHur commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Implement openssl_pbkdf2() in ext/openssl/ using existing VmHashNative::hashPbkdf2() (php-src ext/openssl/kdf.c parity; PHP-in-PHP, no new C runtime).
  • Register on openssl module + self-host spine; add compliance PHPT and maintainer repro.

Note: openssl_pbkdf2_scrypt() is not in php-src PHP-8.4 openssl.stub.php (only openssl_pbkdf2); scrypt left for a follow-up if/when php-src adds it.

php-src reference

  • ext/openssl/kdf.c — PHP_FUNCTION(openssl_pbkdf2)

Verification

php bin/vm.php test/repro/maintainer_gap_openssl_pbkdf2.php
# ok

vendor/bin/phpunit --filter 'OpensslModuleTest|openssl_pbkdf2'
# OK (8 tests, 27 assertions)

php script/bootstrap-inventory.php --check
# OK 4474/4474

./script/ci-fast.sh
# exit 0

Closes #6488

Made with Cursor

Wire ext/openssl PBKDF2 via VmHashNative (php-src ext/openssl/kdf.c) with
compliance/repro guards; register on module + self-host spine.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit c75b970 into master Jul 11, 2026
@PurHur
PurHur deleted the agent/issue-6488-openssl-pbkdf2 branch July 11, 2026 13: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.

Stdlib: openssl_pbkdf2()/openssl_pbkdf2_scrypt() — OpenSSL KDF API missing (ext/openssl/kdf.c)

1 participant