PHP 8.5.2 Released!

Configuración en tiempo de ejecución

El comportamiento de estas funciones es afectado por la configuración en el archivo php.ini.

openssl Opciones de configuración
Nombre Por defecto Cambiable Historial de cambios
openssl.cafile "" INI_PERDIR  
openssl.capath "" INI_PERDIR  
openssl.libctx "custom" INI_PERDIR  
Para más detalles sobre los modos INI_*, refiérase a Dónde una directiva de configuración puede ser modificada.

Aquí hay una aclaración sobre el uso de las directivas de configuración.

openssl.cafile string

Ubicación del archivo Certificate Authority en el sistema de archivos local que debería ser utilizado con la opción de contexto verify_peer para autenticar la identidad del par remoto.

openssl.capath string

Si cafile no está especificado o si el certificado no es encontrado allí, el directorio apuntado por capath es examinado para encontrar un certificado adecuado. capath debe ser un directorio de certificados correctamente hasheado.

openssl.libctx string
Especifica el tipo de contexto de biblioteca OpenSSL que se utilizará. El valor predeterminado, custom, crea un contexto de biblioteca independiente para cada worker o subproceso. Esto mejora el aislamiento de otras bibliotecas que utilizan OpenSSL y, en compilaciones ZTS, aumenta la separación entre subprocesos. También es posible usar el valor default, que hace que PHP utilice el contexto de biblioteca predeterminado global de OpenSSL.

Ver también las opciones del contexto de flujo SSL.

add a note

User Contributed Notes 2 notes

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

                    $Destfile= $ParsedCertificatePbject["hash"].".0";
                    $TargetFilename = dirname($Sourcefile)."/".$Destfile;
To Top