Ver Mensaje Individual
  #5  
Antiguo 28-07-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 198
Reputación: 11
razorxxx Va por buen camino
Cita:
Empezado por pesadillator Ver Mensaje
Tengo hecho ya todo el código en delphi 10.2, usando la librería CAPICOM, el certificado lo asigno en el evento OnBeforePost del HTTPRIO, con las siguiente instrucción:
Código Delphi [-]
InternetSetOption(Data,INTERNET_OPTION_CLIENT_CERT_CONTEXT,PCertContext,Sizeof(CERT_CONTEXT))
pero en delphi 11 la cabecera del evento a cambiado y ya no tengo el parámetro:

Código Delphi [-]
 Data:Pointer

¿como se hace entonces?
como la librería capicom esta ya desactualizada se podría hacer usando en vez de HTTPRIO, NETHTTP?
¿Alguna pista de como hacerlo?
He hablado varias veces de este asunto en otros post, e incluso en otros foros. En versiones modernas de Delphi, en el OnBeforePost de HTTPRIO es super fácil asignarle el certificado y te ahorras usar CAPICOM:

Código:
procedure TPVERIFACTU.HTTPRIOHTTPWebNodeBeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient);
var
   CertStream: TMemoryStream;
begin
     CertStream := TMemoryStream.Create;
     CertStream.LoadFromFile('<RUTA_AL_CERTIFICADO>');
     HTTPReqResp.ClientCertificate.Stream := CertStream;
     HTTPReqResp.ClientCertificate.Password := '<CONTRASEÑA_CERTIFICADO>';
end;
Saludos.
Responder Con Cita