[php-src] Issue #21355: Windows builds don't support OPENSSL_KEYTYPE_X25519, OPENSSL_KEYTYPE_ED25519, OPENSSL_KEYTYPE_DSA, etc

[email protected] (terrafrost)
Newsgroups php.bugs
Message-ID <[email protected]>
Issue: https://github.com/php/php-src/issues/21355
Author: terrafrost

### Description

The following code:

```php
echo OPENSSL_KEYTYPE_X25519, PHP_EOL, OPENSSL_VERSION_TEXT, PHP_EOL;

$key = openssl_pkey_new(['private_key_type' => OPENSSL_KEYTYPE_X25519]);
var_dump($key);

while ($e = openssl_error_string()) {
    echo $e, PHP_EOL;
}
```

Resulted in this output:
```
4
OpenSSL 3.5.4 30 Sep 2025
bool(false)
error:80000003:system library::No such process
error:10000080:BIO routines::no such file
error:07000072:configuration file routines::no such file
error:80000003:system library::No such process
error:10000080:BIO routines::no such file
error:07000072:configuration file routines::no such file
```

But I expected this output instead:
```
OpenSSL 3.0.13 30 Jan 2024
object(OpenSSLAsymmetricKey)#1 (0) {
}
```
Because the Windows PHP builds include their own version of OpenSSL (usually the latest one as OPENSSL_VERSION_TEXT kinda indicates) as opposed to relying on whatever the globally installed version on the OS is, I'd expect them to have full support for _all_ key types mentioned at https://www.php.net/manual/en/openssl.key-types.php but that appears not to be the case.

### PHP Version

```plain
PHP 8.5.1 (cli) (built: Dec 17 2025 10:54:30) (NTS Visual C++ 2022 x64)
Copyright (c) The PHP Group
Zend Engine v4.5.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.1, Copyright (c), by Zend Technologies
```

### Operating System

Windows 11, Version 25H2 (OS Build 26200.7840)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.