Página 1 de 1

Ayuda con cancelación.

Publicado: Jue Sep 12, 2013 9:54 am
por hammer
Necesito ayuda! Llevo como un mes atorado en este paso de la cancelación. Mi sistema está en php y no logro cancelar:
Resultado: stdClass Object ( [return] => stdClass Object ( [acuse] => [codEstatus] => 302 [codMensaje] => Sello malformado o inválido ) )
El servicio web lo tomo de http://www.expidetufactura.com.mx / http://www.xpd.com.mx .

Los pasos que ellos me dijeron que hiciera para generar este xml de cancelacion son los siguientes:
  • - Generar el xml base:

Código: Seleccionar todo

 <Cancelacion xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Fecha="2013-09-09T11:50:00" RfcEmisor="AAA111AAA"><Folios><UUID>09870F6A-131A-4BC4-B557-0EAC77701AAE</UUID></Folios></Cancelacion>
  • - Canonicalizarlo
  • - Sacar un sha1 de 20 digitos del xml base para que sea el <DigestedValue>
  • - Al <SignedInfo> firmarlo usando openssl_sign usando la llave del certificado que uso también para timbrar <-- que tambien hace un sha1 de todo.
    Esto me da el <SignatureValue>

Código: Seleccionar todo

 <SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>dOk/d4j5dW8o5DyhQxbN+cA94VY=</DigestValue></Reference></SignedInfo>

  • - Agregamos ahora la ultima parte que es el KeyInfo, esta parte contiene el Certificado codificado en base64, igual que el timbrado

Código: Seleccionar todo

  <KeyInfo><X509Data><X509IssuerSerial><X509IssuerName> unstructuredName=Responsable: Cecilia Guillermina García Guerra, x500UniqueIdentifier=SAT970701NN3, L=Cuauhtémoc, ST=Distrito Federal, C=MX, postalCode=06300, streetAddress=Av. Hidalgo 77, Col. Guerrero, emailAddress=asisnet@sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. del Servicio de Administración Tributaria</X509IssuerName><X509SerialNumber>275106190557734483187066766774039651444094808625</X509SerialNumber></X509IssuerSerial><X509Certificate>MIIEgDCCA2igAwIBAgIUMDAwMDEwMDAwMDAyMDMyNzUyMjEwDQYJKoZIhvcNAQEFBQAwggGVMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSEwHwYJKoZIhvcNAQkBFhJhc2lzbmV0QHNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxFDASBgNVBAcMC0N1YXVodMOpbW9jMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxPjA8BgkqhkiG9w0BCQIML1Jlc3BvbnNhYmxlOiBDZWNpbGlhIEd1aWxsZXJtaW5hIEdhcmPDrWEgR3VlcnJhMB4XDTEzMDMyMDA1MzYzMloXDTE3MDMyMDA1MzYzMlowgcExITAfBgNVBAMTGEpNSCBUUkFOU1BPUlRFUyBTQSBERSBDVjEhMB8GA1UEKRMYSk1IIFRSQU5TUE9SVEVTIFNBIERFIENWMSEwHwYDVQQKExhKTUggVFJBTlNQT1JURVMgU0EgREUgQ1YxJTAjBgNVBC0THEpUUjEyMTEwMVJEMyAvIE1PVEM2NDExMDQ2ODIxHjAcBgNVBAUTFSAvIE1PVEM2NDExMDRNREZSUlIwMTEPMA0GA1UECxMGVU5JREFEMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDx6bhnnwSJMNRlXD90GXgJBRobHCRu2kMTfK1INDsrcmV8O7XDs1aKLKIohRkfF4mkci8nP/ox6snX1JO+DOOQP3d7XQSru3NfajP/tdniPfuL0LG1VsIgvKE7gB6ra4ah5giqxmxcDab0LPjQERRN5pynH7su/oyOybXeY22w9QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAgna1dy/LXrZzLR4eSiffj6Gg5q7AZ14djMW1Qg9C0lHMJQVE+0yfmxPd7QTtBB9wB4ut2Drdi0SN74TTQ8orZJ6sxpHFK6sL8kx+vynSEcedeiJwPW118Bizy0WDUOFh5Zu9q/aW/+1wdzbYq4ks5DE1R9HQQPZGfsYfKVfEbKWBc2cSlB5zrxFVw6MfD6gdABIFtIChcskITHgP0spLWCngAe0jo8ZChekCTjSUnv/SK4qgQW/VY3+aWqQCJT6UnUZRVp9Wv05ILquCWrXfJb+5pj+MddpkySDBiXPIIcSR5FQXhWi4w7zY/D9sz8nk67jIrSUY3hEtJDFMMp8JUQ==</X509Certificate> </X509Data></KeyInfo>
¿Alguien podría ayudarme a generar correctamente este sellado? Estoy perdido.

Re: Ayuda con cancelación.

Publicado: Jue Sep 12, 2013 10:29 am
por hammer
Ya logré armar correctamente el xml de cancelación gracias a un tutorial muy específico encontré la falla.
Refieranse a http://www.cryptosys.net/pki/satcancelcfd.html

A darle

Re: Ayuda con cancelación.

Publicado: Mar Abr 15, 2014 11:40 am
por isantosp
hammer escribió:Ya logré armar correctamente el xml de cancelación gracias a un tutorial muy específico encontré la falla.
Refieranse a http://www.cryptosys.net/pki/satcancelcfd.html

A darle
Hola y disculpa por revivir un post viejo.. pero igual estoy atorado con la cancelación, bueno más bien con el XML Signature..

Ya había revisado antes el link que publicas pero sigo obteniendo un 302, igual estoy haciéndolo desde PHP..

Podrías comentar que error tenías y como lo solucionaste?? te lo agradecería bastante :)

te dejo mi correo para que si puedes ponerte en contacto conmigo te pase mi XML o el código que estoy utilizando..

Gracias..

Re: Ayuda con cancelación.

Publicado: Mar Abr 15, 2014 12:57 pm
por jasistemas
Aqui:
http://www.validacfd.com/phpbb3/viewtop ... =17&t=1846

Puse una aportacion sobre generar XML Signature aunque es con .net, supongo que podria orientarte para migrarlo a PHP