Página 1 de 1

Comando OpenSSL en PHP

Publicado: Jue Jul 17, 2014 6:30 pm
por NewDevil92
Hola compañeros del foro!

Tengo una duda relacionada con el manejo de PHP. Estoy desarrollando un programa que firma digitalmente, pero estoy dependiendo de un ejecutable openssl.exe para un comando en especifico:

Código: Seleccionar todo

openssl pkcs8 -inform DER -in C:/ruta/Claveprivada.key -passin pass:algo2014 -out C:/ruta/Claveprivada.key.pem
Hago este comando con el exec y le marco la ruta de mi openssl(.exe), pero no quiero depender de el ya que necesito que se pueda ejecutar ese comando en linux (CentOS)

Hay algo equivalente a ese comando en PHP (con la librerira de OpenSSL)? La documentación y mi versión actual de openssl (el cual tengo en wamp) me dicen que no existen métodos dedicados a la manera en la que se cambia la .key de ser formato DER a PEM (o sea pkcs8) y no estoy seguro de que se debe de usar en estos casos.

Cualquier ayuda se aprecia mucho!

Re: Comando OpenSSL en PHP

Publicado: Jue Jul 17, 2014 9:14 pm
por mauricio
En CentOS podrás ejecutar sin problemas dicho comando:

Código: Seleccionar todo

openssl pkcs8 -inform DER -in pruebas.key -passin pass:12345678a -out pruebas.key.pem
Saludos

Re: Comando OpenSSL en PHP

Publicado: Lun Jul 21, 2014 4:43 pm
por NewDevil92
Simplemente pondria yo en mi Firma.php la linea exec() y el comando? Voy a probarlo y te retroalimentare para decir si estoy haciendo algo mal.

Re: Comando OpenSSL en PHP

Publicado: Mar Ago 12, 2014 11:15 am
por NewDevil92
Esto funciono pero asegurense que en su hosting tengan OpenSSL, sino esto no funcionara, si estan usando un server propio deberan configurarlo primero y despues usar shell_exec() y escribir directamente los comandos de openssl para que se puedan manejar las llaves y convertirlas a un formato que openssl pueda manejar para hacer la firma digital. Saludos.