Foros del Web » Programación para mayores de 30 ;) » .NET »

Factura electroncia sat mexico

Estas en el tema de Factura electroncia sat mexico en el foro de .NET en Foros del Web. Cita: Iniciado por hegaes Hola a todos, aksuesipn , solo quiero comentarte que ya he validado en el SAT usando SHA1 pero al igual que ...

  #181 (permalink)  
Antiguo 21/09/2010, 17:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
Hola a todos, aksuesipn, solo quiero comentarte que ya he validado en el SAT usando SHA1 pero al igual que a tí en la parte donde pone la digestion lo toma como si fuera MD5.
pues si yo creo que el problema es el validador del sat ya realize el procedimiento con las clases en .net y con el openssl y las dos arrojaron justamente el mismo resultado el cual si valido el sat pero el lo toma en el resultado como MD5 seria cuestion de reportarlo al sat.
  #182 (permalink)  
Antiguo 21/09/2010, 17:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
de nuevo valide mi xml y me arrojo:

El sello del comprobante presenta problemas:
Comprobante C:\cfd.xml leido exitosamente

Validando encodingComprobante expresado en UTF-8

Realizando validación del sello con un certificado externo
Certificado usado : 30001000000100000800
Certificado reportado : 30001000000100000800

Cadena original:
||2.0|ABCD|1|2010-09-21T17:46:30|49|2008|ingreso|UNA EXHIBICION|350|0|0|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 Leon|Mexico|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|Topochico|52|Jardines del Valle|Monterrey|México|95465|10|Caja|01|Vasos decorados|20|200|1|pieza|02|Charola metálica|150|150|IVA|16|56||

Digestión MD5 de cadena como HEX:
57afd484b4fd768b52180fb4a7a9a659

El sello del comprobante no es válido


mi xml es el siguiente:

<?xml version="1.0" encoding="utf-8" ?>
- <Comprobante serie="ABCD" version="2.0" folio="1" fecha="2010-09-21T17:46:30" sello="rG0BQfxSxoQ2e+DMwUjTtE1UFy4kWdWDLEwsxyalDMb GyAJLv+NjwgC6BIuv27zcope60sldP2cO77UUtbPc1DhKB6K/ySN4ton+5ZLQELp5huWAGl3wqGPyHZ/fds6XwcIrn2pSYOX/JHhUCoz7aBsn0bfsewP8OEq8Hwo7Wgs=" noCertificado="30001000000100000800" subTotal="350" total="0" noAprobacion="49" anoAprobacion="2008" formaDePago="UNA EXHIBICION" descuento="0" metodoDePago="EFECTIVO" tipoDeComprobante="ingreso" 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">
- <Emisor rfc="ISP900909Q88" nombre="Industrias del Sur Poniente, S.A. de C.V.">
<DomicilioFiscal calle="Alvaro Obregón" noExterior="37" noInterior="3" colonia="Col. Roma Norte" localidad="México" municipio="Cuauhtémoc" estado="Distrito Federal" pais="México" codigoPostal="06700" />
<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Leon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="Mexico" />
</Emisor>
- <Receptor rfc="CAUR390312S87" nombre="Rosa María Calderón Uriegas|Topochico">
<Domicilio calle="Topochico" noExterior="52" colonia="Jardines del Valle" estado="Monterrey" pais="México" codigoPostal="95465" />
</Receptor>
- <Conceptos>
<Concepto cantidad="10" unidad="Caja" noIdentificacion="01" descripcion="Vasos decorados" valorUnitario="20" importe="200" />
<Concepto cantidad="1" unidad="pieza" noIdentificacion="02" descripcion="Charola metálica" valorUnitario="150" importe="150" />
</Conceptos>
- <Impuestos>
- <Traslados>
<Traslado importe="56" impuesto="IVA" tasa="16" />
</Traslados>
</Impuestos>
</Comprobante>

alguna idea de por k el error?????

saludos.
he visto que muchos tratan de sellar la cadena original directamente. a que me refiero a que introducen la cadena original en una variable y despues le aplican el encode utf8.

despues de tantas pruebas y ver los casos y desarrollar el codigo generado mi recomendacion es:

1.- ocupa los archivos xml de prueba que el sat otorga o en su defecto con un archivo xml que tu generes, basado en la especificacion del XSD
2.- genera la cadena original con el archivo XSLT que el SAT otorga este proceso te retorna la cadena original lo unico que tienes que realizar es aplicarle el encode
3.- sobre esta cadena realiza el hash y despues lo encriptas o firmas con la llave privada
  #183 (permalink)  
Antiguo 21/09/2010, 17:21
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Hola scorpionsdd acabo de checar tu archivo .xml y lo valide en el SAT usando el certificado de prueba que da el SAT con nombre aaa010101aaa_CSD_05 y el resultado que me dio es el siguiente :

Cita:
El sello del comprobante es válido:
Comprobante c:\factura1.xml leido exitosamente

Validando encodingComprobante expresado en UTF-8

Realizando validación del sello con un certificado interno
Certificado usado : 10001200000000022518
El comprobante incluye un certificado codificado

Cadena original:
||2.0|ABCD|1|2010-09-21T17:46:30|49|2008|ingreso|UNA EXHIBICION|350|0|0|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 Leon|Mexico|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|Topochico|52|Jardines del Valle|Monterrey|México|95465|10|Caja|01|Vasos decorados|20|200|1|pieza|02|Charola metálica|150|150|IVA|16|56||

Digestión MD5 de cadena como HEX:
57afd484b4fd768b52180fb4a7a9a659

El sello del comprobante es válido
  #184 (permalink)  
Antiguo 21/09/2010, 17:47
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
Hola scorpionsdd acabo de checar tu archivo .xml y lo valide en el SAT usando el certificado de prueba que da el SAT con nombre aaa010101aaa_CSD_05 y el resultado que me dio es el siguiente :
hola gracias por tu ayuda, acabo de realizar la validacion y lei el .key del certificado 5 que es el que usaste y me sigue diciendo q es incorrecto, y lo acabo de descargar de http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15564.html

y la validacion la hice en

https://www.consulta.sat.gob.mx/SICOFI_WEB/ModuloECFD_Plus/ValidadorComprobantes/Validador.html

alguna idea de por k me manda incorrecto?
  #185 (permalink)  
Antiguo 21/09/2010, 17:55
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Hola nuevamente scorpiosdd, aqui te dejo el codigo del archivo .xml que pusiste y que genere la firma con el certificado antes mencionado, espero te sirva y tal ves puedas comparar si hay alguna diferiencia con el que tu generas. A ver si asi encontramos que es.

Cita:
<?xml version="1.0" encoding="utf-8"?>
<Comprobante serie="ABCD" version="2.0" folio="1" fecha="2010-09-21T17:46:30" sello="eiO/y2X1eLri/lLYTbctO78NNA0LTxeOsYagwHKvBbuZLnG2dAfXGGcAET6LT5X PnnBUSZiqH2kgMfTbULH0Vg9eDtcVaIoihZfgUR3wcnXhrTUts Jl7UGQlGvDUBsMb2Pkkb3x9JsNsF9HYdgg5jzswbtnEDIFsjbH/U1vw6m0=" noCertificado="10001200000000022518" subTotal="350" total="0" noAprobacion="49" anoAprobacion="2008" formaDePago="UNA EXHIBICION" descuento="0" metodoDePago="EFECTIVO" tipoDeComprobante="ingreso" 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" certificado="MIIDgjCCAmqgAwIBAgIUMTAwMDEyMDAwMDAwM DAwMjI1MTgwDQYJKoZIhvcNAQEFBQAwgcMxGTAXBgNVBAcTEEN pdWRhZCBkZSBNZXhpY28xFTATBgNVBAgTDE1leGljbywgRC5GL jELMAkGA1UEBhMCTVgxGjAYBgNVBAMTEUFDIGRlIFBydWViYXM gU0FUMTYwNAYDVQQLFC1BZG1pbmlzdHJhY2nzbiBkZSBTZWd1c mlkYWQgZGUgbGEgSW5mb3JtYWNp824xLjAsBgNVBAoUJVNlcnZ pY2lvIGRlIEFkbWluaXN0cmFjafNuIFRyaWJ1dGFyaWEwHhcNM DgwODIxMTUyMjEwWhcNMTAwODIxMTUyMjEwWjCBljElMCMGA1U ELRMcQUFBMDEwMTAxQUFBIC8gQUFBQTAxMDEwMUFBQTEeMBwGA 1UEBRMVIC8gQUFBQTAxMDEwMUhERlJYWDAxMRIwEAYDVQQKEwl NYXRyaXogU0ExETAPBgNVBAsTCFVuaWRhZCA5MRIwEAYDVQQDE wlNYXRyaXogU0ExEjAQBgNVBCkTCU1hdHJpeiBTQTCBnzANBgk qhkiG9w0BAQEFAAOBjQAwgYkCgYEA6APpD7rTd1b9HCPePPGHH 2xS/yowPTno5bby0zhuyiaMRvxi2U7S12sOOzROCiihUdTi4Hc+QCY PllcQTIYqmKfBChFySp0v8HFFgGnxfH6F+bMxEGbORjLryCd++ +Hhb/BZQbQTLpfsIDGmKvpk/H0+KfrIu0kSeAn8qS6R3H8CAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQADggEBAN vComO4YnSoh/WlrK84oo9nGOLxlzPjtNkUHS9L5JULO/GCsj2//b+mc/Fz1ANxS/2+gjQqslnnL74IVhs00gxEhoe+G8xDGibVceI177WHBHMSR2cN oyt6agcsqMMbhVzZp4CZwOdkeW/atJdnXTY98hlZ2XS4/bdTlDlIAALFv9Gj++4kuYaI5w5RW+eKfhXKEhkUnniQ3XH7AjM ee8SicBDMd0iUX4fkrhegiAvEyWP9UOyQAttS3AwamfPAa/nvNYDkzkxY/kzprPTv7dBeD8HlR9j/yRmfW8qDZocjulfkrMt3ewfF/0leUJRMxOWA0kp7e39jxPFszbaOVzwA">
<Emisor rfc="ISP900909Q88" nombre="Industrias del Sur Poniente, S.A. de C.V.">
<DomicilioFiscal calle="Alvaro Obregón" noExterior="37" noInterior="3" colonia="Col. Roma Norte" localidad="México" municipio="Cuauhtémoc" estado="Distrito Federal" pais="México" codigoPostal="06700" />
<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Leon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="Mexico" />
</Emisor>
<Receptor rfc="CAUR390312S87" nombre="Rosa María Calderón Uriegas|Topochico">
<Domicilio calle="Topochico" noExterior="52" colonia="Jardines del Valle" estado="Monterrey" pais="México" codigoPostal="95465" />
</Receptor>
<Conceptos>
<Concepto cantidad="10" unidad="Caja" noIdentificacion="01" descripcion="Vasos decorados" valorUnitario="20" importe="200" />
<Concepto cantidad="1" unidad="pieza" noIdentificacion="02" descripcion="Charola metálica" valorUnitario="150" importe="150" />
</Conceptos>
<Impuestos>
<Traslados>
<Traslado importe="56" impuesto="IVA" tasa="16" />
</Traslados>
</Impuestos>
</Comprobante>
Saludos!
  #186 (permalink)  
Antiguo 21/09/2010, 18:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

hegaes

te doy las gracias por indicar cual era el camino que debiamos tomar para la implementacion de la facturacion 100 en .net.

ahora me surgio una duda de que forma agrego el certificado al archivo xml.

no estoy seguro pero se obtiene con GetRawCertData y se pasa a base 64?

Última edición por aksuesipn; 21/09/2010 a las 18:07
  #187 (permalink)  
Antiguo 21/09/2010, 18:10
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por aksuesipn Ver Mensaje
hegaes

te doy las gracias por indicar cual era el camino que debiamos tomar para la implementacion de la facturacion 100 en .net.

ahora me surgio una duda de que forma agrego el certificado al archivo xml.
Para obtener el certificado es muy sencillo, aqui te dejo las instrucciones que ocupo para hacerlo.

Instanciar el objeto X509Certificate2

Dim objCert As New X509Certificate2()

y pasarle el nombre y ruta del Cerfificado
para obtener la información en bytes

Dim bRawData As Byte() = readFile(archivo_xml)

'Importamos la información
objCert.Import(bRawData)

'Retornamos la información del certificado en Base64
dim cadena as string = Convert.ToBase64String(bRawData)


la variable cadena tiene la informacion del certificado en Base64 y es la que hay que poner en el atributo certificado del nodo Complemento.
  #188 (permalink)  
Antiguo 21/09/2010, 18:17
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
Hola nuevamente scorpiosdd, aqui te dejo el codigo del archivo .xml que pusiste y que genere la firma con el certificado antes mencionado, espero te sirva y tal ves puedas comparar si hay alguna diferiencia con el que tu generas. A ver si asi encontramos que es.



Saludos!
hola hegaes, mira estaba revisando y en note q en mi cadena original la fecha la dejaba intacta (una fecha con año de 2005), y en el xml le mandaba un datetime.now, ya modifique mi cadena original para que tenga el valor del Now() como en el xml, a parte el sello digital ya empezo a variar por lo mismo del cambio de fecha y hora, acabo de validar con estos cambios y sigue mandando invalido, lo hice con el cer 1 y cert 5, la validacion sigue siendo erronea. y eso que hoy descargue de nuevo el Cer_Sellos no se que mas me pueda faltar.

saludos
  #189 (permalink)  
Antiguo 22/09/2010, 07:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

hola mikecoy, mira, La verdad no he encontrado mucho para vb6, apenas estoy trabajando en eso, te paso la parte de convertir la cadena original a utf8, hay que hacer referencia a Microsoft ActiveX Data Objects 2.5 Library, haces una forma con un boton command y dos rich tex box.
codigo para el command:
Private Sub Command1_Click()
Dim strT As String, strFile As String
strCadena = "||2.0|A|1|2010-09-02T16:30:00|122956|2010|ingreso|Pago en una sola exhibicion|350|0|406|SAT970701NN3|Servicio de Administración Tributaria|AV. HIDALGO|77|CUAUHTÉMOC|DISTRITO FEDERAL|MÉXICO|06300|CAUR390312S87|Rosa María Calderón Uriegas|PRIV. CEIBA|114|BOSQUE|JOJUTLA|JOJUTLA|MORELOS|México|62 900|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|16.00|56.00||"
Me.RichTextBox1.Text = strCadena
Me.RichTextBox2.Text = UTF8_Encode(strCadena)
MsgBox "termino", vbInformation, Me.Caption
End Sub

ahora el codigo de la funcion

Private Function UTF8_Encode(ByVal sStr As String)
For l& = 1 To Len(sStr)
lChar& = AscW(Mid(sStr, l&, 1))
If lChar& < 128 Then
sUTF8$ = sUTF8$ + Mid(sStr, l&, 1)
ElseIf ((lChar& > 127) And (lChar& < 2048)) Then
sUTF8$ = sUTF8$ + Chr(((lChar& \ 64) Or 192))
sUTF8$ = sUTF8$ + Chr(((lChar& And 63) Or 128))
Else
sUTF8$ = sUTF8$ + Chr(((lChar& \ 144) Or 234))
sUTF8$ = sUTF8$ + Chr((((lChar& \ 64) And 63) Or 128))
sUTF8$ = sUTF8$ + Chr(((lChar& And 63) Or 128))
End If
Next l&
UTF8_Encode = sUTF8$
End Function

espero te sirva
saludos
  #190 (permalink)  
Antiguo 22/09/2010, 07:41
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
hola hegaes, mira estaba revisando y en note q en mi cadena original la fecha la dejaba intacta (una fecha con año de 2005), y en el xml le mandaba un datetime.now, ya modifique mi cadena original para que tenga el valor del Now() como en el xml, a parte el sello digital ya empezo a variar por lo mismo del cambio de fecha y hora, acabo de validar con estos cambios y sigue mandando invalido, lo hice con el cer 1 y cert 5, la validacion sigue siendo erronea. y eso que hoy descargue de nuevo el Cer_Sellos no se que mas me pueda faltar.

saludos
Saludos nuevamente.

Por lo que comentas scorpionsdd me imagino que no estas generando la cadena original atraves del archivo .xlst que te proporciona el SAT para este propocito. Te recomiendo que lo hagas de esa forma ya que dicho archivo te retorna la cadena original basandose en la información de tu archivo .xml por lo es que es dificil que despues haya diferiencias o en tu cadena original y tu archivo .xml
  #191 (permalink)  
Antiguo 22/09/2010, 09:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
saludos nuevamente.

Por lo que comentas scorpionsdd me imagino que no estas generando la cadena original atraves del archivo .xlst que te proporciona el sat para este propocito. Te recomiendo que lo hagas de esa forma ya que dicho archivo te retorna la cadena original basandose en la información de tu archivo .xml por lo es que es dificil que despues haya diferiencias o en tu cadena original y tu archivo .xml
hola hegaes, tienes razon... No sabia esa parte del xlst, no se si me puedas explicar como hago esta parte o en donde encuentro este archivo u informacion al respecto.

Gracias y saludos.
  #192 (permalink)  
Antiguo 22/09/2010, 09:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
Para obtener el certificado es muy sencillo, aqui te dejo las instrucciones que ocupo para hacerlo.

Instanciar el objeto X509Certificate2

Dim objCert As New X509Certificate2()

y pasarle el nombre y ruta del Cerfificado
para obtener la información en bytes

Dim bRawData As Byte() = readFile(archivo_xml)

'Importamos la información
objCert.Import(bRawData)

'Retornamos la información del certificado en Base64
dim cadena as string = Convert.ToBase64String(bRawData)


la variable cadena tiene la informacion del certificado en Base64 y es la que hay que poner en el atributo certificado del nodo Complemento.
gracias por el aporte y como otra forma de obtenerlo es tambien con la propiedad getrawCertData de la clase X509Certificate2 es igualito a lo que posteaste la unica diferencia es que con el arreglo de bytes que se obtiene de la lectura directa del certificado es un bit mas grande que al obtenerlo por la propiedad, pero no hay problema de las dos formas realice las pruebas y el validador lo acepta.
  #193 (permalink)  
Antiguo 22/09/2010, 09:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
hola hegaes, tienes razon... No sabia esa parte del xlst, no se si me puedas explicar como hago esta parte o en donde encuentro este archivo u informacion al respecto.

Gracias y saludos.
Disculpa que me intrometa pero creo que puedo ayudarte.

el archivo lo obtienes de la pagina del SAT [URL="http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15565.html"]http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15565.html[/URL]
de aqui tienes que bajar los dos archivos uno cadenaoriginal_2_0.xslt y utilerias.xslt

una vez que tienes estos archivos los agregas a tu solucion.

y despues ocupas la clase XslCompiledTransform para la obtencion de la cadena original, pero recureda que la cadena original tiene que estar expresada en UTF8

Dim transformer As XslCompiledTransform
Dim utf8 As Encoding = Encoding.UTF8
Dim encodedBytes As Byte()

Dim strwriter As System.IO.StringWriter = New System.IO.StringWriter()

'creamos la clase transfomer
transformer = New XslCompiledTransform()

'cargamos el xslt (archivo de transformacion) a la clase
transformer.Load(New XPathDocument(" DIRECCION DE TU ARCHIVO XSLT"))

'procedemos a realizar la transfomración del archivo xml en base al xslt y lo almacenamos en un string que regresaremos

transformer.Transform(New XPathDocument("ARCHIVO XML DEL CUAL QUIERES OBTENER LA CADENA"), Nothing, strwriter)

'convertimos la cadena a utf8 y ya esta lista para ser utilizada en el hash
encodedBytes = utf8.GetBytes(strwriter.ToString)


como complemento existen dos maneras de realizar este proceso, me refiero a en linea y desconectado.

en linea no necesitas nada mas que tener el archivo cadenaoriginal_2_0.XSLT y dentro de este mismo se estan inlcuyendo las referencias a los demas archivos que se ocupan.
y desconectado aqui tendrias que obtener todos los archivos que el SAT ocupa para la obtencion de la cadena original y reemplazar las direcciones del archivo cadenaoriginal_2_0 por la locacion original de los archivos.

Última edición por aksuesipn; 22/09/2010 a las 09:50 Razón: complemento
  #194 (permalink)  
Antiguo 22/09/2010, 13:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por aksuesipn Ver Mensaje
Disculpa que me intrometa pero creo que puedo ayudarte.

el archivo lo obtienes de la pagina del SAT [URL="http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15565.html"]http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15565.html[/URL]
de aqui tienes que bajar los dos archivos uno cadenaoriginal_2_0.xslt y utilerias.xslt

una vez que tienes estos archivos los agregas a tu solucion.

y despues ocupas la clase XslCompiledTransform para la obtencion de la cadena original, pero recureda que la cadena original tiene que estar expresada en UTF8

Dim transformer As XslCompiledTransform
Dim utf8 As Encoding = Encoding.UTF8
Dim encodedBytes As Byte()

Dim strwriter As System.IO.StringWriter = New System.IO.StringWriter()

'creamos la clase transfomer
transformer = New XslCompiledTransform()

'cargamos el xslt (archivo de transformacion) a la clase
transformer.Load(New XPathDocument(" DIRECCION DE TU ARCHIVO XSLT"))

'procedemos a realizar la transfomración del archivo xml en base al xslt y lo almacenamos en un string que regresaremos

transformer.Transform(New XPathDocument("ARCHIVO XML DEL CUAL QUIERES OBTENER LA CADENA"), Nothing, strwriter)

'convertimos la cadena a utf8 y ya esta lista para ser utilizada en el hash
encodedBytes = utf8.GetBytes(strwriter.ToString)


como complemento existen dos maneras de realizar este proceso, me refiero a en linea y desconectado.

en linea no necesitas nada mas que tener el archivo cadenaoriginal_2_0.XSLT y dentro de este mismo se estan inlcuyendo las referencias a los demas archivos que se ocupan.
y desconectado aqui tendrias que obtener todos los archivos que el SAT ocupa para la obtencion de la cadena original y reemplazar las direcciones del archivo cadenaoriginal_2_0 por la locacion original de los archivos.
hola gracias por tu ayuda, estoy viendo tu codigo y deja ver si estoy en lo correcto, en la siguientes lineas deberia de quedar algo asi:

transformer.Load(New XPathDocument("C:\Documents and Settings\Administrador\Mis documentos\VS.NET\FacturacionElectronica.Net\Docs\ XLST\cadenaoriginal_2_0.XLST"))

y

transformer.Transform(New XPathDocument(("C:\Documents and Settings\Administrador\Mis documentos\VS.NET\FacturacionElectronica.Net\Docs\ facturas\factura.Xml"), Nothing, strwriter)

y luego a esta variable: encodedBytes, es la q debo de tomar como selllo digital?

saludos
  #195 (permalink)  
Antiguo 22/09/2010, 15:04
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
hola gracias por tu ayuda, estoy viendo tu codigo y deja ver si estoy en lo correcto, en la siguientes lineas deberia de quedar algo asi:

transformer.Load(New XPathDocument("C:\Documents and Settings\Administrador\Mis documentos\VS.NET\FacturacionElectronica.Net\Docs\ XLST\cadenaoriginal_2_0.XLST"))

y

transformer.Transform(New XPathDocument(("C:\Documents and Settings\Administrador\Mis documentos\VS.NET\FacturacionElectronica.Net\Docs\ facturas\factura.Xml"), Nothing, strwriter)

y luego a esta variable: encodedBytes, es la q debo de tomar como selllo digital?

saludos

scopionssdd, con respecto a lo que comentas, no te confundas, lo que estas haciendo con las instrucciones es obtener la cadena original basandote en la información de tu factura en xml, sin embargo esa cadena un no esta sellada, como te comenta aksuesipn esa cadena resultante te servirá para procesarla con el hash.

Saludos!
  #196 (permalink)  
Antiguo 22/09/2010, 17:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
scopionssdd, con respecto a lo que comentas, no te confundas, lo que estas haciendo con las instrucciones es obtener la cadena original basandote en la información de tu factura en xml, sin embargo esa cadena un no esta sellada, como te comenta aksuesipn esa cadena resultante te servirá para procesarla con el hash.

Saludos!
HOLA hegaes, GRACIAS POR LA AYUDA, PERO CREO YA ME CONFUNDI MAS, LO QUE PASA ES QUE EL PROCESO QUE REALIZO ES EL SIGUIENTE:

string Path = @"C:\Documents and Settings\Administrador\Mis documentos\HIT SERVICES\VS.NET\FacturacionElectronica.Net\Docs\";
string strCadenaOriginal;
string ArchivoCertificado =Path+ @"CERTIFICADOS\aaa010101aaa_CSD_01.cer";
string key = Path + @"CERTIFICADOS\aaa010101aaa_CSD_01.key";
string lPassword = @"a0123456789";
string Digestion = "";
DateTime Fecha = DateTime.Now ;
string Fechas = "";
//GENERO MI CADENA ORIGINAL LEYENDO LOS DATOS DE EMISOR, RECEPTOR Y DETALLE DE FACTURA
Fechas = Fecha.Date.ToString("yyyy-MM-dd") + "T" + Fecha.ToString("HH:mm:ss");
strCadenaOriginal = "||A|1|" + Fechas + "|1|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 León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||";
//APLICO DIGESTION
Digestion = clsSeguridad.CodificarMD5(strCadenaOriginal);
//USO EL PASSWORD.TXT
SecureString lSecStr = new SecureString();
lSecStr.Clear();
foreach (char c in lPassword.ToCharArray())
lSecStr.AppendChar(c);
//PASO A BYTE .KEY
Byte[] pLlavePrivadaenBytes = System.IO.File.ReadAllBytes(key);
//OBTENGO SELLO DIGITAL CON AYUDA DEL .KEY Y PASSWORD
RSACryptoServiceProvider lrsa = clsSeguridad.DecodeEncryptedPrivateKeyInfo(pLlaveP rivadaenBytes, lSecStr);
MD5CryptoServiceProvider hasher = new MD5CryptoServiceProvider();
Byte[] bytesFirmados = lrsa.SignData(System.Text.Encoding.UTF8.GetBytes(s trCadenaOriginal), hasher);
string sellodigital = Convert.ToBase64String(bytesFirmados);
//LEER .CER PARA OBTENER EL NO. CERTIFICADO
X509Certificate2 certificado = new X509Certificate2(ArchivoCertificado);
String NoCertificado =clsSeguridad.HexToString(certificado.SerialNumber );
//DESPUES DE OBTENER EL SELLO DIGITAL EN NO. CERTIFICADO GENERO EL XML PARA REALIZAR VALIDACION
GeneraXML(sellodigital, NoCertificado, Fecha,Path);

SI TE DAS CUENTA LA DIGESTION LA REALIZO Y OBTENGO UN STRING, PERO NO LO OCUPO EN OTRA PARTE, ESPERO ME PUEDAS AYUDAR A ACLARAR QUE ESTOY HACIENDO MAL.

SALUDOS Y GRACIAS POR TU ATENCION
  #197 (permalink)  
Antiguo 22/09/2010, 17:40
 
Fecha de Ingreso: octubre-2005
Mensajes: 47
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Que tal amigo, estoy haciendo lo de la factura electrónica pero migre el código a vb.net.

Al correr la rutina me marca el siguiente error, en la linea que marque en negritas:
System.NullReferenceException was unhandled
Message=Object reference not set to an instance of an object.

Mi código es el siguiente.

Dim pLlavePrivadaenBytes As Byte() = System.IO.File.ReadAllBytes(key)
Dim lrsa As RSACryptoServiceProvider = clsSeguridad.DecodeEncryptedPrivateKeyInfo(pLlaveP rivadaenBytes, IsecStr)


Dim hasher As MD5CryptoServiceProvider = New MD5CryptoServiceProvider()
Dim bytesFirmados As Byte() = lrsa.SignData(System.Text.Encoding.UTF8.GetBytes(S trcadenaoriginal), hasher)
Dim sellodigital As String = Convert.ToBase64String(bytesFirmados)
Dim certificado As X509Certificate2 = New X509Certificate2(ArchivoCertificado)
Dim NoCertificado = HexToString(certificado.SerialNumber)

Si tienen una idea a que se deberá, se los agradecere.

Saludos
  #198 (permalink)  
Antiguo 22/09/2010, 17:49
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Hola nuevamente scopionssdd, por lo que veo en tu código, tú creas la cadena original.

Cita:
DateTime Fecha = DateTime.Now ;
string Fechas = "";
//GENERO MI CADENA ORIGINAL LEYENDO LOS DATOS DE EMISOR, RECEPTOR Y DETALLE DE FACTURA
Fechas = Fecha.Date.ToString("yyyy-MM-dd") + "T" + Fecha.ToString("HH:mm:ss");
strCadenaOriginal = "||A|1|" + Fechas + "|1|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 León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||";
Pues bien, con codigo que te proporciono aksuesipn ya no es necesario que tu escribas la cadena original ya que el archivo .xslt te da como resultado la cadena original, la cual se crea en base a tu factura, es decir se lee tu factura y se extraen los datos necesarios de la factura para crear la cadena original.

Cita:
Dim transformer As XslCompiledTransform
Dim utf8 As Encoding = Encoding.UTF8
Dim encodedBytes As Byte()

Dim strwriter As System.IO.StringWriter = New System.IO.StringWriter()

'creamos la clase transfomer
transformer = New XslCompiledTransform()

'cargamos el xslt (archivo de transformacion) a la clase
transformer.Load(New XPathDocument(" DIRECCION DE TU ARCHIVO XSLT"))

'procedemos a realizar la transfomración del archivo xml en base al xslt y lo almacenamos en un string que regresaremos

transformer.Transform(New XPathDocument("ARCHIVO XML DEL CUAL QUIERES OBTENER LA CADENA"), Nothing, strwriter)

'convertimos la cadena a utf8 y ya esta lista para ser utilizada en el hash
encodedBytes = utf8.GetBytes(strwriter.ToString)
y la variable encodeBytes es la que debes codificar.

Espero haber aclarado tu duda.

Saludos!!
  #199 (permalink)  
Antiguo 22/09/2010, 18:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
Hola nuevamente scopionssdd, por lo que veo en tu código, tú creas la cadena original.



Pues bien, con codigo que te proporciono aksuesipn ya no es necesario que tu escribas la cadena original ya que el archivo .xslt te da como resultado la cadena original, la cual se crea en base a tu factura, es decir se lee tu factura y se extraen los datos necesarios de la factura para crear la cadena original.



y la variable encodeBytes es la que debes codificar.

Espero haber aclarado tu duda.

Saludos!!
hola de nuevo hegaes, disculpa la molestia pero es que no comprendo, lo que entiendo es que debo de generar mi xml?? despues este xml lo uso con cadenaoriginal_2_0.xlst?? aqui genero el sellado y despues este lo anexo al xml que genere previamente??

gracias por el aporte y disculpa la molestias. saludos.
  #200 (permalink)  
Antiguo 22/09/2010, 18:06
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
hola de nuevo hegaes, disculpa la molestia pero es que no comprendo, lo que entiendo es que debo de generar mi xml?? despues este xml lo uso con cadenaoriginal_2_0.xlst?? aqui genero el sellado y despues este lo anexo al xml que genere previamente??

gracias por el aporte y disculpa la molestias. saludos.

No es molestia, estamos para ayudar en medida de lo que sea posible.

Y estas en lo correcto, al usar el archivo cadenaoriginal_2_0.xlst partimos de la idea que tu factura ya esta generada , pues la cadena original se crea extrayendo la informacion de tu factura.

Posteriormente, tendrias que actualizar tu factura con el sello que hayas obtenido.
  #201 (permalink)  
Antiguo 22/09/2010, 18:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
No es molestia, estamos para ayudar en medida de lo que sea posible.

Y estas en lo correcto, al usar el archivo cadenaoriginal_2_0.xlst partimos de la idea que tu factura ya esta generada , pues la cadena original se crea extrayendo la informacion de tu factura.

Posteriormente, tendrias que actualizar tu factura con el sello que hayas obtenido.
gracias, entonces solo debo de actualizar mi sello digital, mm entonces deja lo intento y te aviso.

gracias y saludos.
  #202 (permalink)  
Antiguo 22/09/2010, 23:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Publicado hoy Jueves 23 de Septiembre

Aqui esta el link

http://www.dof.gob.mx/nota_detalle.p...cha=23/09/2010


DOF: 23/09/2010
ANEXO 20 de la Primera Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2010, publicada el 14 de septiembre de 2010.
Al margen un sello con el Escudo Nacional, que dice: Estados Unidos Mexicanos.- Secretaría de Hacienda y Crédito Público.


Contenido

Medios electrónicos

I. Del Comprobante Fiscal Digital:
A. Características técnicas del archivo que contenga el informe mensual de comprobantes fiscales digitales emitidos
B. Estándar de comprobante fiscal digital
C. Generación de sellos digitales para comprobantes fiscales digitales
II. Del Comprobante Fiscal Digital por Internet:
A. Estándar de comprobante fiscal digital por internet
B. Generación de sellos digitales para comprobantes fiscales digitales por internet
C. Estándar y uso del complemento obligatorio: Timbre Fiscal Digital del SAT
D. Estándar del servicio de cancelación
E. Especificación técnica del código de barras bidimensional
III. De los distintos medios de comprobación digital:
A. Estándares y especificaciones técnicas que deberán cumplir las aplicaciones informáticas para la generación de claves de criptografía asimétrica a utilizar para Firma Electrónica Avanzada
B. Uso de la facilidad de nodos opcionales <Complemento> y <ComplementoConcepto>
C. Uso de la facilidad de ensobretado <Addenda>
  #203 (permalink)  
Antiguo 23/09/2010, 08:45
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por winexim Ver Mensaje
Publicado hoy Jueves 23 de Septiembre

Aqui esta el link

[url]http://www.dof.gob.mx/nota_detalle.php?codigo=5160215&fecha=23/09/2010[/url]


DOF: 23/09/2010
ANEXO 20 de la Primera Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2010, publicada el 14 de septiembre de 2010.
Al margen un sello con el Escudo Nacional, que dice: Estados Unidos Mexicanos.- Secretaría de Hacienda y Crédito Público.


Contenido

Medios electrónicos

I. Del Comprobante Fiscal Digital:
A. Características técnicas del archivo que contenga el informe mensual de comprobantes fiscales digitales emitidos
B. Estándar de comprobante fiscal digital
C. Generación de sellos digitales para comprobantes fiscales digitales
II. Del Comprobante Fiscal Digital por Internet:
A. Estándar de comprobante fiscal digital por internet
B. Generación de sellos digitales para comprobantes fiscales digitales por internet
C. Estándar y uso del complemento obligatorio: Timbre Fiscal Digital del SAT
D. Estándar del servicio de cancelación
E. Especificación técnica del código de barras bidimensional
III. De los distintos medios de comprobación digital:
A. Estándares y especificaciones técnicas que deberán cumplir las aplicaciones informáticas para la generación de claves de criptografía asimétrica a utilizar para Firma Electrónica Avanzada
B. Uso de la facilidad de nodos opcionales <Complemento> y <ComplementoConcepto>
C. Uso de la facilidad de ensobretado <Addenda>
Gracias por la información winexim, el único cambio que note para los que generamos CFD es que ya es oficial que se usará SHA1 en lugar de MD5.
  #204 (permalink)  
Antiguo 23/09/2010, 08:48
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

hola a todos, encontre esta direccion de taringa donde esta el codigo en vb6 para generar la factura electronica
http://www.taringa.net/posts/downloads/6218009/Generar-sello-para-la-factura-electronica-de-Mexico.html
esta muy bien el tutorial.
Meritos para su creador, yo solo pongo el link
  #205 (permalink)  
Antiguo 23/09/2010, 10:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Que tal a todos los del foro, alguien sabe como obtener el numero de folios solicitados o donde se almacena esta informacion para llevar el control de los que ya fueron emitidos???
  #206 (permalink)  
Antiguo 23/09/2010, 16:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

hola techsjll

primero que nada te agradesco por el codigo de codificación a utf-8 funciona de maravilla lo complemente con otra clase que obtiene la digestion a md5 y ya obtengo lo que todos obtienen en este foro ahora estoy lidiando con el sellado ya que si lo realizo con opensll no me genera ninguno de los sellos que aqui ponen como ejemplo.

de ante mano gracias y si puedo apoyarte en algo cuenta conmigo saludos

Última edición por mikecoy; 23/09/2010 a las 16:51
  #207 (permalink)  
Antiguo 23/09/2010, 17:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por hegaes Ver Mensaje
No es molestia, estamos para ayudar en medida de lo que sea posible.

Y estas en lo correcto, al usar el archivo cadenaoriginal_2_0.xlst partimos de la idea que tu factura ya esta generada , pues la cadena original se crea extrayendo la informacion de tu factura.

Posteriormente, tendrias que actualizar tu factura con el sello que hayas obtenido.
HOLA HEGAES, QUE CREES YA HICE LA PRUEBA CON EL XLST DEL SAT, GENERO LA CADENA ORIGINAL CON EL XLST Y ACTUALIZO MI SELLO. EL RESULTADO DEL XML ES:

<?xml version="1.0" encoding="utf-8" ?>
- <Comprobante serie="ABCD" version="2.0" folio="1" fecha="2010-09-23T17:49:34" sello="fHwyLjB8QUJDRHwxfDIwMTAtMDktMjNUMTc6NDk6MzR 8NDl8MjAwOHxpbmdyZXNvfFVOQSBFWEhJQklDSU9OfDM1MHwwf DB8SVNQOTAwOTA5UTg4fEluZHVzdHJpYXMgZGVsIFN1ciBQb25 pZW50ZSwgUy5BLiBkZSBDLlYufEFsdmFybyBPYnJlZ8OzbnwzN 3wzfENvbC4gUm9tYSBOb3J0ZXxNw6l4aWNvfEN1YXVodMOpbW9 jfERpc3RyaXRvIEZlZGVyYWx8TcOpeGljb3wwNjcwMHxQaW5vI FN1YXJlenwyM3xDZW50cm98TW9udGVycmV5fE1vbnRlcnJleXx OdWV2byBMZW9ufE1leGljb3w5NTQ2MHxDQVVSMzkwMzEyUzg3f FJvc2EgTWFyw61hIENhbGRlcsOzbiBVcmllZ2FzfFRvcG9jaGl jb3xUb3BvY2hpY298NTJ8SmFyZGluZXMgZGVsIFZhbGxlfE1vb nRlcnJleXxNw6l4aWNvfDk1NDY1fDEwfENhamF8MDF8VmFzb3M gZGVjb3JhZG9zfDIwfDIwMHwxfHBpZXphfDAyfENoYXJvbGEgb WV0w6FsaWNhfDE1MHwxNTB8SVZBfDE1fDUyLjV8fA==" noCertificado="30001000000100000800" subTotal="350" total="0" noAprobacion="49" anoAprobacion="2008" formaDePago="UNA EXHIBICION" descuento="0" metodoDePago="EFECTIVO" tipoDeComprobante="ingreso" 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">
- <Emisor rfc="ISP900909Q88" nombre="Industrias del Sur Poniente, S.A. de C.V.">
<DomicilioFiscal calle="Alvaro Obregón" noExterior="37" noInterior="3" colonia="Col. Roma Norte" localidad="México" municipio="Cuauhtémoc" estado="Distrito Federal" pais="México" codigoPostal="06700" />
<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Leon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="Mexico" />
</Emisor>
- <Receptor rfc="CAUR390312S87" nombre="Rosa María Calderón Uriegas|Topochico">
<Domicilio calle="Topochico" noExterior="52" colonia="Jardines del Valle" estado="Monterrey" pais="México" codigoPostal="95465" />
</Receptor>
- <Conceptos>
<Concepto cantidad="10" unidad="Caja" noIdentificacion="01" descripcion="Vasos decorados" valorUnitario="20" importe="200" />
<Concepto cantidad="1" unidad="pieza" noIdentificacion="02" descripcion="Charola metálica" valorUnitario="150" importe="150" />
</Conceptos>
- <Impuestos>
- <Traslados>
<Traslado importe="52.5" impuesto="IVA" tasa="15" />
</Traslados>
</Impuestos>
</Comprobante>

LO VALIDE Y ME DIO ESTO:

El sello del comprobante presenta problemas:
Comprobante C:\Prueba.xml leido exitosamente

Validando encodingComprobante expresado en UTF-8

Realizando validación del sello con un certificado externo
Certificado usado : 30001000000100000800
Certificado reportado : 30001000000100000800

El sello no pudo ser verificado

ALGUNA IDEA QUE MAS ESTE HACIENDO MAL JEJEJE.

GRACIAS POR TU AYUDA.
  #208 (permalink)  
Antiguo 24/09/2010, 07:58
Avatar de hegaes  
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por scorpionsdd Ver Mensaje
HOLA HEGAES, QUE CREES YA HICE LA PRUEBA CON EL XLST DEL SAT, GENERO LA CADENA ORIGINAL CON EL XLST Y ACTUALIZO MI SELLO. EL RESULTADO DEL XML ES:

<?xml version="1.0" encoding="utf-8" ?>
- <Comprobante serie="ABCD" version="2.0" folio="1" fecha="2010-09-23T17:49:34" sello="fHwyLjB8QUJDRHwxfDIwMTAtMDktMjNUMTc6NDk6MzR 8NDl8MjAwOHxpbmdyZXNvfFVOQSBFWEhJQklDSU9OfDM1MHwwf DB8SVNQOTAwOTA5UTg4fEluZHVzdHJpYXMgZGVsIFN1ciBQb25 pZW50ZSwgUy5BLiBkZSBDLlYufEFsdmFybyBPYnJlZ8OzbnwzN 3wzfENvbC4gUm9tYSBOb3J0ZXxNw6l4aWNvfEN1YXVodMOpbW9 jfERpc3RyaXRvIEZlZGVyYWx8TcOpeGljb3wwNjcwMHxQaW5vI FN1YXJlenwyM3xDZW50cm98TW9udGVycmV5fE1vbnRlcnJleXx OdWV2byBMZW9ufE1leGljb3w5NTQ2MHxDQVVSMzkwMzEyUzg3f FJvc2EgTWFyw61hIENhbGRlcsOzbiBVcmllZ2FzfFRvcG9jaGl jb3xUb3BvY2hpY298NTJ8SmFyZGluZXMgZGVsIFZhbGxlfE1vb nRlcnJleXxNw6l4aWNvfDk1NDY1fDEwfENhamF8MDF8VmFzb3M gZGVjb3JhZG9zfDIwfDIwMHwxfHBpZXphfDAyfENoYXJvbGEgb WV0w6FsaWNhfDE1MHwxNTB8SVZBfDE1fDUyLjV8fA==" noCertificado="30001000000100000800" subTotal="350" total="0" noAprobacion="49" anoAprobacion="2008" formaDePago="UNA EXHIBICION" descuento="0" metodoDePago="EFECTIVO" tipoDeComprobante="ingreso" 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">
- <Emisor rfc="ISP900909Q88" nombre="Industrias del Sur Poniente, S.A. de C.V.">
<DomicilioFiscal calle="Alvaro Obregón" noExterior="37" noInterior="3" colonia="Col. Roma Norte" localidad="México" municipio="Cuauhtémoc" estado="Distrito Federal" pais="México" codigoPostal="06700" />
<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Leon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="Mexico" />
</Emisor>
- <Receptor rfc="CAUR390312S87" nombre="Rosa María Calderón Uriegas|Topochico">
<Domicilio calle="Topochico" noExterior="52" colonia="Jardines del Valle" estado="Monterrey" pais="México" codigoPostal="95465" />
</Receptor>
- <Conceptos>
<Concepto cantidad="10" unidad="Caja" noIdentificacion="01" descripcion="Vasos decorados" valorUnitario="20" importe="200" />
<Concepto cantidad="1" unidad="pieza" noIdentificacion="02" descripcion="Charola metálica" valorUnitario="150" importe="150" />
</Conceptos>
- <Impuestos>
- <Traslados>
<Traslado importe="52.5" impuesto="IVA" tasa="15" />
</Traslados>
</Impuestos>
</Comprobante>

LO VALIDE Y ME DIO ESTO:

El sello del comprobante presenta problemas:
Comprobante C:\Prueba.xml leido exitosamente

Validando encodingComprobante expresado en UTF-8

Realizando validación del sello con un certificado externo
Certificado usado : 30001000000100000800
Certificado reportado : 30001000000100000800

El sello no pudo ser verificado

ALGUNA IDEA QUE MAS ESTE HACIENDO MAL JEJEJE.

GRACIAS POR TU AYUDA.
Te comento escorpionsdd que si el validador del SAT te marca que el sello no pudo ser verificado se debe a que no es correcta la firma
  #209 (permalink)  
Antiguo 25/09/2010, 09:21
 
Fecha de Ingreso: septiembre-2010
Ubicación: Chetumal
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Factura electroncia sat mexico

Hola a todos!!

Hace unos dias empeze con el desarrollo de un sistema que permite la firma de comprobantes fiscales,en UNIX/PROGRESS, estuve leyendo sus comentarios, cuando estaba buscando información al respecto. Bueno sin más nada mas comentarles que el proceso que han estado siguiendo esta erroneo en un paso, que ha pasado ser despercibido, y es algo por lo que veo han batallado

Bueno explico donde fue el mal paso , es cuando hacen el primer MD5, si leyeron bien primer md5, por que? simple el openssl por default tiene el algoritmo MD5 para su utilización, por lo tanto cuando hacen:

openssl> dgst -md5 -out md5.txt cadenaoriginal.txt
openssl> dgst -sign key.pem -out sello.txt md5.txt

Lo que sucede es que hacen nuevamente un MD5 al archivo MD5.txt, por lo tanto el sello generado es invalido en el SAT. Por default el comando dgst tiene como parametro -md5 como predeterminado entonces al firmarlo, no firma el md5.txt si no al nuevo md5 generado.

Por lo tanto para solucionar este problema deben hacer lo siguiente:

openssl>dgst -md5 -sign key.pem -out firma.txt cadenaoriginal.txt
openssl>enc -base64 -A -in firma.txt -out sello.txt

Con esto obtienen el sello valido

Espero que les ayude a los que no lo han conseguido

Saludos y felices códigos

Atte:

Manuel Esquivel (pero en el bajo mundo me dicen ikari84 :-p)

PD: Todo lo programe desde UNIX SCO OpenServer Release 5/PROGRESS 8.2 A/openssl 0.9.7i
  #210 (permalink)  
Antiguo 27/09/2010, 14:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Muchas gracias por todas sus aportaciones !!!

Estaba funcionando bien mi programa en VB.NET mientras no utilizara acentos !!!

Incorporé el código en una clase de C++.NET de lo sugerido por MarkX (Muchas gracias MarkX, tu código fué de mucha utilidad) y ahora todo está funcionando con acentos en VB.NET

AL FIN !!!!!

Etiquetas: factura, mexico, sat
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 39 personas




La zona horaria es GMT -6. Ahora son las 10:54.