buenas tardes, estoy desarrollando el modelo para la fact. electronica, en vb6 y sql server del cual en este link http://www.forosdelweb.com/f29/factura-electroncia-sat-mexico-806167/ encontre que se puede obtener los datos por medio del Openssl, y esto nos permite agregarlo al archivo xml del cual nos pide el sat,
aun que hace mension con vbnet pues podemos ejecutar los shell por medio de archivos por bat.
la siguiente cadena original con la cual estoy usando como prueba y que ademas baje los archivos *.key y *.cer.
la cadena original la guarde en un archivo de texto:
Código PHP:
||2.0|A|1|2010-04-06T08:58:02|1|2009|ingreso|Una sola exhibición|350.00|5.25|397.25|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo Léon|México|95465|10|Caja|Vasos decorados|20.00|200|1|pieza|Charola metálica|150.00|150|IVA|16.00|52.50||
despues le agregarle la digestiom md5
\Openssl\bin>openssl.exe dgst -MD5 C:\b_fact\cadena.txt > C:\b_fact\md5.txt
posteriormente obtuve el certificado
\Openssl\bin>openssl enc -base64 -in C:\b_fact\PKI\aaa010101aaa_csd_01.cer -A -out C:\b_fact\Certificado.txt
el sello de esta manera:
\Openssl\bin>openssl.exe dgst -md5 -sign C:\b_fact\PKI\aaa010101aaa_csd_01.key.pem -out C:\b_fact\sello1.txt C:\b_fact\vbxml\Cadena.txt
\Openssl\bin>openssl.exe enc -base64 -in C:\b_fact\sello1.txt -A -out C:\b_fact\sello_b64.txt
el Numero de certificado como se obtiene...
para el sello copie del archivo sello_b64.txt y lo puse en el archivo xml, una vez hecho esto entre al validador del sat y me dice que
Código:
El sello del comprobante presenta problemas:
Se presentaron los siguientes errores al validar la estructura del comprobante C:\b_fact\A1.xml
Error: cvc-length-valid: Value '' with length = '0' is not facet-valid with respect to length '20' for type 'null'.
Error: cvc-attribute.3: The value '' of attribute 'noCertificado' on element 'Comprobante' is not valid with respect to its type, 'null'.
Realizando validación del sello con un certificado interno
Certificado usado : 30001000000100000800
El comprobante incluye un certificado codificado
Cadena original:
||2.0|A|1|2010-04-06T08:58:02|1|2009|ingreso|Una sola exhibición|350.00|5.25|397.25|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo Léon|México|95465|10|Caja|Vasos decorados|20.00|200|1|pieza|Charola metálica|150.00|150|IVA|16.00|52.50||
Digestión MD5 de cadena como HEX:
0c230ce0078dbcd4e8bdb68465727b79
El sello del comprobante no es válido
el numero del certificado no lo obtuve y como es que me dice que cual estoy usando.
bueno este es el xml que genere
y el xml que genero es el siguiente:
Código:
<?xml version="1.0" encoding="utf-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0" serie="A" folio="1" fecha="2010-04-06T08:58:02" noAprobacion="1" anoAprobacion="2009" formaDePago="Una sola exhibición" subTotal="350.00" descuento="5.25" total="397.25" tipoDeComprobante="ingreso" noCertificado="" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEF
BQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZp
Y2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1p
bmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcG
CSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkM
HUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDEL
MAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcM
CUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkC
DCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAx
NjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQ
BgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxB
QUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEw
MTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlV
AgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23U
YzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQAB
o4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSw
Rczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNh
dC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0
dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiW
KfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0G
CSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQ
RM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuK
YL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2O
la4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6
bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhT
gwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj
" sello="R7Ok5TC9yVLCTMpUl6O5yswUZ45DXhZCffBttWanIFUnVmfq3S9EZ9oB2vb+61gF7C4W2wfTCX7fJrCfMpngeBZdpIZXYAVevESwfhycOqPstBm9OwtQzBkDkycLxKHZ8EYJrzT4Ux0ASCnvfqeirkYvmOAJn8Okn3oGif+EulA=">
<Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
<DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"/>
<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"/>
</Emisor>
<Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
<Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"/>
</Receptor>
<Conceptos>
<Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20.00"/>
<Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150.00"/>
</Conceptos>
<Impuestos>
<Traslados>
<Traslado impuesto="IVA" tasa="16.00" importe="52.50"/>
</Traslados>
</Impuestos>
</Comprobante>
enonces creo que estoy incorrecto en algun paso del sello, si alguien tiene alguna sugerencia, pues se que hay bastante ideas pero no consigue que se valide.
les agradesco. gracias