Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции настройки openssl
Имя По умолчанию Место изменения Список изменений
openssl.cafile "" PHP_INI_PERDIR Доступно с PHP 5.6.0.
openssl.capath "" PHP_INI_PERDIR Доступно с PHP 5.6.0.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

openssl.cafile string

Местоположение файла Certificate Authority на локальной файловой системе, который должен использоваться с опцией контекста verify_peer для аутентификации удаленной точки.

openssl.capath string

Если cafile не задан или сертификат не найден, то директория, указанная в capath будет использована для поиска сертификата. capath должна быть корректно хешированной директорией сертификата.

Также смотрите опции контекста потока SSL.

add a note add a note

User Contributed Notes 2 notes

up
0
mmi at uhb-consulting dot de
20 days ago
in capath the Certificates must be placed with the certificates hash as name and .0 as Ending.

Here is how to get the hashes from Certificates lying in this folder and automatically rename them in a correct way:
<?php
    $paths
=openssl_get_cert_locations();
   
$allowed=array("cer","crt","pem");
    if (!empty(
$paths['ini_capath'])){
       
$capathDirectory = dir($paths['ini_capath']);
        while (
false !== ($entry = $capathDirectory->read())) {
           
$Sourcefile=$paths['ini_capath']."/".$entry;
            if (
file_exists( $Sourcefile)){
               
$path_parts = pathinfo($Sourcefile);
                if (
in_array(strtolower($path_parts['extension']),$allowed)){
                   
$ParsedCertificatePbject = openssl_x509_parse(file_get_contents($Sourcefile));
                   
$Sourcefile= $ParsedCertificatePbject["hash"].".0";
                   
$TargetFilename = dirname($Sourcefile)."/".$Sourcefile;
                    if (!
file_exists($TargetFilename)) {
                       
rename ($Sourcefile ,$TargetFilename);
                    }
                }
            }
        }
       
$capathDirectory->close();
    }
?>
up
-1
mmi at uhb-consulting dot de
20 days ago
Hashed directory bedeutet die Dateinamen müssen mit dem Openssl hash, den ihr mittels openssl_x509_parse im Wert hash bekommt (Name) + die Dateiendung 0.
Bei doppelten HASH werten wird die Dateiendung incrementiert.
To Top