Ejemplo openssl_x509_check_private_key

Ejemplo 1

Descripción

Este programa utiliza la función openssl_x509_check_private_key para verificar que una determinada clave privada corresponde a un certificado. Ambos elementos: clave privada y certificado, se recuperan de los archivos en que los almacenan los ejemplos correspondientes a otras funciones, como openssl_csr_sign.

Como puede verse, es preciso recurrir a la función openssl_pkey_get_private para recuperar la clave privada del archivo, ya que se encuentra protegida por una contraseña. Si la contraseña no es la adecuada la función fallará y la variable $ClavePrivada no contendrá un valor válido que pueda utilizarse en la sentencia posterior.

Código

<?php
   // Se recupera la clave, que está protegida por contraseña
   $ClavePrivada = openssl_pkey_get_private('file:///home/francisco/Publico/MiClave.priv','micontrasena');
 
   // y se comprueba si corresponde al certificado X509
   openssl_x509_check_private_key(
        'file:///home/francisco/Publico/MiCertificado.x509',
        $ClavePrivada) 
     ? print "La clave privada corresponde al certificado" 
     : print "Esta clave privada no corresponde al certificado";
 
   // Se libera la clave
   openssl_pkey_free($ClavePrivada);
?>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License