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();
}
?>Конфигурација во време на извршување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Конфигурација во време на извршување
Референца за `openssl.configuration.php` со подобрена типографија и навигација.
Конфигурација во време на извршување
Поведението на овие функции е под влијание на поставките во php.ini.
| Име | Стандардно | Променливо | Дневник на промени |
|---|---|---|---|
| openssl.cafile | "" | INI_PERDIR |
|
| openssl.capath | "" | INI_PERDIR |
|
| openssl.libctx | "прилагодено" | INI_PERDIR |
Еве кратко објаснување на директивите за конфигурација.
-
openssl.cafilestring -
Локација на датотеката со сертификат на авторитетот за сертификација на локалниот систем што треба да се користи со опцијата за контекст verify_peer за автентикација на идентитетот на далечинскиот партнер.
-
openssl.capathstring -
Ако cafile не е специфициран или ако сертификатот не е пронајден таму, се пребарува директориумот посочен од capath за соодветен сертификат. capath мора да биде правилно хеширан директориум со сертификати.
-
openssl.libctxstring -
Го специфицира типот на контекстот на OpenSSL библиотеката што треба да се користи. Стандардната вредност,
custom, создава посебен контекст на библиотеката за секој работник или нишка. Ова ја подобрува изолацијата од другите библиотеки што користат OpenSSL и, во ZTS градби, ја зголемува одвојувањето помеѓу нишките. Исто така е можно да се користиdefaultвредност, што предизвикува PHP да го користи глобалниот стандарден контекст на библиотеката на OpenSSL.
Погледнете исто така SSL контекст на стрим options.
Белешки од корисници 2 забелешки
above code should be corrected to:
$Destfile= $ParsedCertificatePbject["hash"].".0";
$TargetFilename = dirname($Sourcefile)."/".$Destfile;