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.