Ver Mensaje Individual
  #27  
Antiguo 29-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Reputación: 14
elcharlie Va por buen camino
Hola, a alguien le sale la firma con Secure Black Box?, en ticketbai he podido realizarlo sin problema, pero en No verifactu, no me sale de ninguna de las maneras.
Al enviar el fichero a hacienda, no me da error, pero en cambio si lo intento validar en https://valide.redsara.es/valide/val.../ejecutar.html, me da error.

el código que tengo es este:

Código Delphi [-]
//FIRMO EL FICHERO DE LA FACTURA
    sbxXAdESSigner := TsbxXAdESSigner.Create(nil);
    sbxXAdESSigner.InputFile := FicheroFactura;
    sbxXAdESSigner.OutputFile := FicheroFacturaFirmado;

    GDWinCertStorage := TsbxCertificateStorage.Create(nil);
    if GDWinCertStorage.Opened then
      GDWinCertStorage.Close(True);

    GDWinCertStorage.Open(CERTIFICATE_STORAGE_LOCAL);
    GDWinCertStorage.Refresh;

    for var I := 0 to GDWinCertStorage.Certificates.Count - 1 do
    begin
      if BinToStr(GDWinCertStorage.Certificates[i].SerialNumber) = GDSerialCertificado then
      begin
        Cert := GDWinCertStorage.Certificates[i];
        Break;
      end;
    end;



    sbxXAdESSigner.SigningCertificate := Cert;
    sbxXAdESSigner.NewSignature.SignatureType := cxstEnveloped;
    sbxXAdESSigner.NewSignature.CanonicalizationMethod := cxcmCanon;
    sbxXAdESSigner.NewSignature.HashAlgorithm := 'SHA256';
    sbxXAdESSigner.NewSignature.XMLElement := 'RegistroAlta';
    sbxXAdESSigner.NewSignature.XAdES := True;
    sbxXAdESSigner.NewSignature.XAdESVersion := TsbxXAdESVersions.xav132;
    sbxXAdESSigner.NewSignature.XAdESForm := TsbxXAdESForms.xafEPES;
    sbxXAdESSigner.Config('IncludeKey=true');
    sbxXAdESSigner.Config('KeyInfoDetails=certificate,issuerserial,subjectname');

    //DATOS DE POLITICA DE LA FIRMA ESTATAL
    sbxXAdESSigner.Config('SigPolicyID=' + SIG_POLICY_ID_ESTATAL); // 'urnid:2.16.724.1.3.1.1.2.1.9'
    sbxXAdESSigner.Config('SigPolicyHash=' + SIG_POLICY_HASH_ESTATAL); // '1BBAE8B9C7FAD34F9FD37AFFA346C0390E9602CD'; //BASE64=G7roucf600+f03r/o0bAOQ6WAs0=
    sbxXAdESSigner.Config('SigPolicyHashAlgorithm=' + SIG_POLICY_HASH_ALGORITHM_ESTATAL); // 'SHA1'
    sbxXAdESSigner.Config('SigPolicyURI=' + SIG_POLICY_URI_ESTATAL); //'https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf'


    sbxXAdESSigner.Sign();
    sbxXAdESSigner.Free;

    if GDWinCertStorage.Opened then
        GDWinCertStorage.Close(True);

    Cert.Free;
    Cert := nil;

Gracias

Última edición por elcharlie fecha: 29-01-2025 a las 10:31:06.
Responder Con Cita