Ver Mensaje Individual
  #3685  
Antiguo 10-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.230
Reputación: 24
keys Va por buen camino
En el delphi 12.2 el componente THTTPRIO ha cambiado. Ya el certificado no se le indica de la misma manera. Ahora pasa por un evento OnNeedClientCertificate donde hay que indicarle el certificado por el cual tienes que enviar.

En ese evento te pasa una lista con los certificados que hay disponible ACertificateList: TCertificateList, y elegir el que quieres usar en la variable AnIndex. Te pongo como lo hago yo.
Código Delphi [-]
for var x := 0 to  ACertificateList.Count - 1 do
     begin
       if Pos(AnsiUpperCase(Certificado), AnsiUpperCase(ACertificateList.Items[x].Subject) ) <> 0 then
         if ACertificateList.Items[x].Expiry >= Now then
           begin
             AnIndex := x;
             Encontrado := true;
             break;
           end;
     end;

 if not Encontrado then ERROR;
Certificado es el que usuario ha seleccionado en un combobox. En ACertificateList.Items[x] tienes una serie de propiedades para identificar el certificado que tu quieres usar.

Yo creo que el webservice no te estaba contestando nada por que ni siquiera estás llegando a enviar. Otra de las ventajas del nuevo componente es que ya no hace falta el capicom para acceder a los certificado.

No te lo pruebo ya que veo que has encontrado el problema. Si tienes lago más di si te puedo ayudar.

Última edición por Casimiro Noteví fecha: 10-03-2025 a las 10:07:29.
Responder Con Cita