[php-src] Issue #7797: stream_context_create - SSL context options

From: Date: Sun, 19 Dec 2021 18:38:52 +0000
Subject: [php-src] Issue #7797: stream_context_create - SSL context options
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-238494@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/7797 Author: lunter2 ### Description It is dangerous to store certificates and privateKeys (without a password) on the disk. Unfortunately, this is needed to load the * .p12 file into stream_context_create. Please, add the option to set certificates and privateKeys from string content or at least from Data URLs, instead the file path only. ``` // Using string content // -------------------- openssl_pkcs12_read(file_get_contents('cert.p12'),$certificates,'pass'); $stream_context = stream_context_create( [ 'ssl' => [ 'local_cert' => $certificates['cert'], 'local_pk' => $certificates['pkey'] ] ]); ``` ``` // Using Data URLs // --------------- openssl_pkcs12_read(file_get_contents('cert.p12'),$certificates,'pass'); $stream_context = stream_context_create( [ 'ssl' => [ 'local_cert' => 'data:,'.$certificates['cert'], 'local_pk' => 'data:,'.$certificates['pkey'] ] ]); ``` ``` // Hack: temp files // ---------------- openssl_pkcs12_read(file_get_contents('cert.p12'),$certificates,'pass'); file_put_contents('cert.temp',$certificates['cert']); file_put_contents('pkey.temp',$certificates['pkey']); $stream_context = stream_context_create( [ 'ssl' => [ 'local_cert' => 'cert.temp', 'local_pk' => 'pkey.temp' ] ]); ``` Expected result: Reading certificates and privateKeys without temp files. Actual result: Reading certificates and privateKeys only with temp files. ### PHP Version PHP 8.1.1 ### Operating System All

« previous php.bugs (#238494) next »