Ver Mensaje Individual
  #11  
Antiguo 07-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 198
Reputación: 11
razorxxx Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Hola, prueba algo así, en vez de alias es mejor esto subject.contains:XXXXXXXX donde XXXXXXXXX es el cif,nif,o nie del certificado, y así no va a fallar.
Pero no sé si falta o sobra algo. De momento no voy a trabajar en las firmas. Pero creo que te faltan las politicas de firma tambien:

Código:
AutoFirmaCommandLine.exe sign -i c:\...\Fichero_vfactu_3_2-1-110.xml -o c:\...\Fichero_vfactu_3_2-1-110.xml.sign -format facturae -store pkcs12:"C:\...\fichero.pt2 o fichero.pfx" -password pepito -filter subject.contains:A29XXXXX -format xades -xml -config "format=XAdES Enveloped \npolicyIdentifier=urn:oid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHash=Dkx2R3nMv8kWo7iSAh+/1SQ70hfseOEaQbpJnURk+pg= \npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf"
Si te funciona mandalo a verifactu el firmado a ver si es aceptado y despues al correo verifactu para que te lo corroboren, aunque es dificl que funcione a la primera, no tengo ahora el autofirma instalado y no he visto resultados.
Hola. Usando tu código sugerido, y comparando la salida con el archivo firmado de ejemplo proporcionado por la AEAT, veo que se añade un nodo extra dentro de <xades:SignedProperties> llamado <xades:SignedDataObjectProperties> con el siguiente contenido:
Código:
	<xades:SignedDataObjectProperties>
		<xades:DataObjectFormat ObjectReference="#Reference-f90e12c9-a8c8-4705-ac51-4ada280e7e32">
			<xades:Description/>
			<xades:ObjectIdentifier>
				<xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier>
				<xades:Description/>
			</xades:ObjectIdentifier>
			<xades:MimeType>text/xml</xades:MimeType>
			<xades:Encoding/>
		</xades:DataObjectFormat>
	</xades:SignedDataObjectProperties>
Además, donde dice:
Código:
<xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
debería poner
Código:
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
.

También dentro del nodo <ds:SignedInfo> debería hacer mención a sha256, pero está poniendo sha512 en todas.

Dentro de <ds:Reference><ds:Transforms> se añade:
Código:
	<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
	       <ds:XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">not(ancestor-or-self::ds:Signature)</ds:XPath>
	</ds:Transform>
Uso AutoFirma 1.8.3 para Windows. Todavía no he llegado a la parte de enviar. ¿Alguien puede corroborar si este fichero resultante sería igualmente válido y el WebService se lo traga?
Responder Con Cita