Cita:
Empezado por espinete
El envío lo hago tal como indiqué en el primer mensaje, usando el código encontrado en este hilo:
Código Delphi [-] RequestBody := TFileStream.Create('firmado.xml', fmOpenRead); NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12]; NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/xml'; NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8'; AResponse := NetHTTPClient1.Post('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody);
He probado a comentar la siguiente línea:
NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8';
y ocurre lo mismo.
También he añadido manualmente ANTES DE FIRMAR la línea...
<?xml version="1.0" encoding="UTF-8"?>
...al XML (Delphi no la añade al generar el xml con el databinding) y obtengo el mismo error.
Esta tarde probaré a cambiar la HORA al horario peninsular, a ver si es eso.
|
Parece que lo del UTf-8 y noBOM lo tienes bastante mirado y despues de ver que solo te genera 2 digest, me inclinaria por empezar a revisar los parametros de firma, no sé si SecureBlackBox no lo necesita, pero es raro que no haya que decirle por ejemplo que es tipo de firma XADES;
veo campos vacios:
firmante.r_ID := '';
firmante.r_Metodo_Canonicalization := '';
Y deberia haber un Algoritmo del Metodo canonizador, etc,etc..
...CanonicalizationMethod:="http://www.w3.org/TR/2000/WD-xml-c14n-20000710";
....EnableXAdES := True;
...XAdESVersion :=...
.XAdESForm :=...