Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

openssl Options de configuration
Nom Défaut Modifiable Historique
openssl.cafile "" PHP_INI_PERDIR Disponible à partir de PHP 5.6.0.
openssl.capath "" PHP_INI_PERDIR Disponible à partir de PHP 5.6.0.
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

Voici un éclaircissement sur l'utilisation des directives de configuration.

openssl.cafile string

Emplacement du fichier Certificate Authority sur le système de fichier local qui devrait être utilisé avec l'option de contexte verify_peer pour authentifier l'identité du pair distant.

openssl.capath string

Si catfile n'est pas spécifié ou si le certificat n'y est pas trouvé, le dossier pointé par capath est fouillé pour un certificat convenable. capath doit être un répertoire de certificat correctement haché.

Voir aussi les options du contexte de flux SSL.

add a note add a note

User Contributed Notes 3 notes

up
1
mmi at uhb-consulting dot de
1 year 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
0
ofrick at bluewin dot ch
1 year ago
above code should be corrected to:

                    $Destfile= $ParsedCertificatePbject["hash"].".0";
                    $TargetFilename = dirname($Sourcefile)."/".$Destfile;
up
-5
mmi at uhb-consulting dot de
1 year 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