La funcion exec() si está disponible.
';
} else {
echo 'La funcion exec() no está disponible.
';
}
$SendaArchsCSD = "sellos_digitales/"; // Directorio en donde se los archivos correspondientes a los "Sellos digitales".
$SendaArchsPEM = "archs_pem/"; // Directorio en donde se crearán los archivos *.cer.pem y *.key.pem
$CSD_Password = "12345678a";
$CSD_NomArchCER = "EKU9003173C9.cer"; // Nombre del archivo .CER de los "Sellos digitales".
$CSD_NomArchKEY = "EKU9003173C9.key"; // Nombre del archivo .KEY de los "Sellos digitales".
$PEM_NomArchCER = "EKU9003173C9.cer.pem"; // Nombre del archivo .CER.PEM
$PEM_NomArchKEY = "EKU9003173C9.key.pem"; // Nombre del archivo .KEY.PEM
$PEM_NomArchKeyEncrip = "EKU9003173C9.key.enc.pem"; // Nombre del archivo .KEY.ENC.PEM
echo 'Archivo .CER:
';
echo $SendaArchsCSD.$CSD_NomArchCER;
echo '
';
echo 'Archivo .KEY:
';
echo $SendaArchsCSD.$CSD_NomArchKEY;
echo '
';
if (file_exists($SendaArchsCSD.$CSD_NomArchCER)) {
echo "El fichero $CSD_NomArchCER ==> SI existe";
} else {
echo "El fichero $CSD_NomArchCER ==> NO existe";
}
echo "
";
if (file_exists($SendaArchsCSD.$CSD_NomArchKEY)) {
echo "El fichero $CSD_NomArchKEY ==> SI existe";
} else {
echo "El fichero $CSD_NomArchKEY ==> NO existe";
}
echo "
";
### A continuación con la función exec() de PHP se ejecutan los comandos de OppenSSL, analizar con detalle. ##############
//==========================================================================
# Obtener el archivo .key.pem del archivo .key
$Comando_key_pem = "pkcs8 -inform DER -in ".$SendaArchsCSD.$CSD_NomArchKEY." -passin pass:$CSD_Password -out ".$SendaArchsPEM.$PEM_NomArchKEY;
echo 'Comando ejecutado: '.$Comando_key_pem.'';
echo "
";
exec('openssl '.$Comando_key_pem, $arr, $status);
echo "Status de ejecución de comando OpenSSL: ".$status;
echo "
";
if ($status==0){
# Dar permisos de lectura y escritura (necesario en sistemas que se ejecuten en Linux).
// chmod($SendaArchsPEM.$PEM_NomArchKEY, 0777);
echo 'Si se pudieron ejecutar los comandos OpenSSL.';
echo "
";
echo 'Archivo .KEY correctamente procesado, busque el archivo resultante en la carpeta: archs_pem/
';
}else{
echo 'Error, no se pudieron ejecutar los comandos OpenSSL.';
}