Foros del Web » Programando para Internet » PHP »

Generar un certificado .pem desde PHP

Estas en el tema de Generar un certificado .pem desde PHP en el foro de PHP en Foros del Web. Saludos maestros, he aquí mi situación. Una aplicación de comercio electrónico multiusuario utiliza certificados con formato .pem para encriptar los botones de paypal, hasta ahora ...
  #1 (permalink)  
Antiguo 08/01/2015, 23:43
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 17 años, 10 meses
Puntos: 22
Generar un certificado .pem desde PHP

Saludos maestros, he aquí mi situación.

Una aplicación de comercio electrónico multiusuario utiliza certificados con formato .pem para encriptar los botones de paypal, hasta ahora la generación de certificados se havenido haciendo desde la consola de Linux con los comandos de openssl.

Hasta ahora funciona todo muy bien, pero es un prceso muy engorros tener que estar generano los certificados desde la termina, queremos que los usuarios puedan generar sus certificados desde su panel de administrador que esta hecho todo en PHP.

Encontré el script que pongo a continuación que me genera el certificado:

Cita:
<?

$dn = array("countryName" => 'MX', "stateOrProvinceName" => 'State', "localityName" => 'SomewhereCity', "organizationName" => 'MySelf', "organizationalUnitName" => 'Whatever', "commonName" => 'mySelf', "emailAddress" => '[email protected]');
$privkeypass = '1234';
$numberofdays = 365;

$privkey = openssl_pkey_new();
$csr = openssl_csr_new($dn, $privkey);
$sscert = openssl_csr_sign($csr, null, $privkey, $numberofdays);
openssl_x509_export($sscert, $publickey);
openssl_pkey_export($privkey, $privatekey, $privkeypass);
openssl_csr_export($csr, $csrStr);

echo $privatekey; // Will hold the exported PriKey
echo $publickey; // Will hold the exported PubKey
echo $csrStr; // Will hold the exported Certificate
?>
La salida de este script me genera tres bloques

Cita:
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
A manera de prueba, copié todo el bloque -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- y lo pego en un archivo de texto con la extensión .crt

Luego voy a la cuenta de paypal e intento subir el certificado, pero PaypaL me dice que el archivo no está en formato .pem

Cita:
The certificate you are trying to upload is not in the proper format. The certificate must be in .pem format.
LA verdad no tengo mucha experiencia co las funciones de ssl de PHP y por eso recurro a ustedes, si alguien puede darme algo de luz lo agradezco desde ahora.

Saludos.

Etiquetas: usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.