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.'; }