Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 13-05-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 17
dado Va por buen camino
Cita:
te paso el codigo que yo utilice para convertir el archivo a .pem.

Código:
//---------------------------------------------------------procedure TfrmEmpresa.KeyToPem;var BatFile: TStringList; LlaveDerToPEM, OutFile, BatFileName: string;begin //Convertimos el CERTIFICADO de formato DER a formato PEM con la siguiente instrucción de OpenSSL OutFile:= FolderFilesPEM + ExtractFileName(txtPrivateKey.Text)+'.pem'; LlaveDerToPEM := 'C:\MiFactura\Bin\openssl pkcs8 -inform DER -in '+ txtPrivateKey.Text +' -out ' + OutFile; //Creamos el archivo .Bat BatFileName:= 'C:\MiFactura\Bin\'+LlaveBat; BatFile:= TStringList.Create; BatFile.Add(LlaveDerToPEM); BatFile.SaveToFile(BatFileName); try WinExecAndWait32(BatFileName,1); except on E : Exception do ShowMessage(E.ClassName+' Se provoco la excepción : '+E.Message); end; if FileExists(OutFile) then begin if LengthFile(OutFile) = 0 then MessageDlg('Verifique que la contraseña sea correcta e intentelo nuevamente.', mtError, [mbOk], 0); end; PrivateKeyPemFile:= OutFile;end;//---------------------------------------------------------
Saludos.
No he probado esta rutina aunque parece muy buena, ahora, si me permites dos consejos :

1. Enmarca los nombre de archivo con comilla doble, eso te permite usar directorios con nombres largos y espacios entre ellos
2. usa la opcion -passin para pasarle la clave y que no te la pida en la ventana de MSDOS

Es decir, te recomiendo que agregues:

Código Delphi [-]
clave := InputBox('SE REQUIERE LA CLAVE','Introduzca su Clave Privada del Certificado','');
...
...
LlaveDerToPEM := 'C:\MiFactura\Bin\openssl pkcs8 -inform DER -in "'+ txtPrivateKey.Text  +'" -passin pass:' + clave + ' -out "' + OutFile +'"';
  //Creamos el archivo .Bat << nota las comillas doble " que se agregaron

//De esta forma txtPrivateKey.Text puede ser = 'c:\archivos de programa\mis documentos\es decir\nombres largos y con espacios\privatekey.key'

Última edición por dado fecha: 13-05-2010 a las 23:23:48.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mexico - Como crear sellos en FACTURA ELECTRONICA.. pcicom API de Windows 12 10-11-2012 18:46:55
Factura Electrónica aig Varios 13 10-12-2010 17:12:44
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06
Factura electronica AUNA Aprendiz Varios 5 01-09-2005 10:44:15


La franja horaria es GMT +2. Ahora son las 20:12:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi