Ver Mensaje Individual
  #236  
Antiguo 04-10-2010
edgaronfo edgaronfo is offline
Miembro
 
Registrado: jul 2007
Posts: 33
Reputación: 0
edgaronfo Va por buen camino
Localizando el error

Hola Morris, oye, ando modificando OpenSSLUtils.pas y como te comentaba, al principio me marcaba el error en TX509Certificate.getTime(asn1_time: pASN1_TIME): TDateTime; así que me puse a cambiar los tipos Char a AnsiChar

Pero ahora me está marcando el error en el procedure donde lo llamo (que es el procedure que posteaste) en la asignación del certificado:
Código Delphi [-]
function GetCertInfio(const AFileName:String):TCertInfo;
var
  bp:   pBIO;
  fn:   PAnsiChar;
  x:    pX509;
  x509: pX509;
  Cert:TX509Certificate;
begin
  InitOpenSSL;
  Cert:=TX509Certificate.Create;
  try
   fn := PAnsiChar(ansistring(AFileName));
   bp := BIO_new(BIO_s_file());
   BIO_read_filename(bp, Pchar(fn));
   x    := X509_new;
   x509 := PEM_read_bio_X509(bp, x, nil, nil);
   Cert.fCertificate:=x; <-----------------AQUÍ EL ERROR
   Result.NotBefore:=Cert.NotBefore;
   Result.Issuer:=Cert.Issuer;
   Result.Subject:=Cert.Subject;
   Result.NotBefore:=Cert.NotBefore;
   Result.NotAfter:=Cert.NotAfter;
   Result.ISExpired:=Cert.IsExpired;
   Result.IsTrusted:=Cert.IsExpired;
   X509_free(x509);
  finally
   Cert.Free;  
   EVP_cleanup;
  end;
end;

Habré echado todo a perder?...

Saludos.
Responder Con Cita