Ver Mensaje Individual
  #84  
Antiguo 31-01-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.022
Reputación: 22
keys Va por buen camino
Hola para hacer la asignacion hago lo siguiente.

Tengo un objeto HttpPRIO que se le asigna el numero de serie del certificado.

Código Delphi [-]
  Objeto.HTTPWebNode.ClientCertificate.SerialNum := BuscarCertificado;


Código Delphi [-]
//Esta funcion devuelve el Numero de serie del certificado pasandole el nombre del certificado.
//Para ello tengo un combo donde cargo todos los certificados instalados.

function BUSCAR_CERTIFICADO(Nombre_Certificado: String): string;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  sNombre: String;
begin
  Result := '';
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then begin
     PrevContext := nil;
     CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
     while CurContext <> nil do begin
       sNombre := '';
       cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
       if cbSize > 0 then  begin
          SetLength(sNombre, cbSize-1);
          CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(sNombre), cbSize);
           if SameText(Nombre_certificado, sNombre) then
             begin
               REsult := GetCertSerialNumber(@CurContext^.pCertInfo^.SerialNumber);
               break;
            end;
       end;
       PrevContext := CurContext;
       CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
     end;
  end;
end;

A la hora de hacer el envio se hace de la siguiente manera

Código Delphi [-]
  resultado := GetsiiSOAP(True, '', OBJETO HTTPTRIO).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

Última edición por Neftali [Germán.Estévez] fecha: 31-01-2017 a las 16:14:59. Razón: Añadir TAG's al código
Responder Con Cita