
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Creación de CFDI 3.2
-
- Mensajes: 1
- Registrado: Vie Feb 24, 2012 12:02 pm
Re: Creación de CFDI 3.2
Disculpa tengo problemas al pasar el parametro de la contraseña en el cosigo me dice que son muchos parametros.
Me puedes decir que estoy haciendo equivocado.
Public Shared Function ObtenerSelloDigital(ByVal cadenaOriginal As String, ByVal rutaLlavePrivada As String, ByVal password As String) As String
Dim passwordSeguro As New SecureString()
passwordSeguro.Clear()
For Each c As Char In password.ToCharArray()
passwordSeguro.AppendChar(c)
Next
Dim llavePrivadaBytes As Byte() = System.IO.File.ReadAllBytes(rutaLlavePrivada)
Dim rsa As RSACryptoServiceProvider = JavaScience.opensslkey.DecodeEncryptedPrivateKeyInfo(llavePrivadaBytes, passwordSeguro) aqui es donde me dice que son muchos parametros
Dim hasher As New SHA1CryptoServiceProvider()
Dim bytesFirmados As Byte() = rsa.SignData(System.Text.Encoding.UTF8.GetBytes(cadenaOriginal), hasher)
Dim selloDigital As String = Convert.ToBase64String(bytesFirmados)
Return selloDigital
End Function
Me puedes decir que estoy haciendo equivocado.
Public Shared Function ObtenerSelloDigital(ByVal cadenaOriginal As String, ByVal rutaLlavePrivada As String, ByVal password As String) As String
Dim passwordSeguro As New SecureString()
passwordSeguro.Clear()
For Each c As Char In password.ToCharArray()
passwordSeguro.AppendChar(c)
Next
Dim llavePrivadaBytes As Byte() = System.IO.File.ReadAllBytes(rutaLlavePrivada)
Dim rsa As RSACryptoServiceProvider = JavaScience.opensslkey.DecodeEncryptedPrivateKeyInfo(llavePrivadaBytes, passwordSeguro) aqui es donde me dice que son muchos parametros
Dim hasher As New SHA1CryptoServiceProvider()
Dim bytesFirmados As Byte() = rsa.SignData(System.Text.Encoding.UTF8.GetBytes(cadenaOriginal), hasher)
Dim selloDigital As String = Convert.ToBase64String(bytesFirmados)
Return selloDigital
End Function
-
- Mensajes: 158
- Registrado: Mié Ene 11, 2012 2:08 pm
- Contactar:
Re: Creación de CFDI 3.2
Que estas usando?, un .pem?? x que ese programa yo lo uso y le envio el .key directamente y NO DEBE PASAR por esa funcion.
RSACryptoServiceProvider rsa = DecodeEncryptedPrivateKeyInfo(pkcs8encprivatekey, passwordArchivoKeyTmp ); // Esta rutina no se usa
Debe pasar por aqui (con .key):
// PASO 5.- RUTINA VALIDA PARA ARCHIVOS DER (PKCS8, .key y .cer)
// nos devolvera un objeto tipo RSACryptoServiceProvider
//----------------
// Accede a la rutina donde SOLICITARA EL PASSWORD del .KEY
Debug.Print("------------ PASO X 5 de DecodeDERKey");
// OK esta es la parte que SI SE USA
rsa = DecodeEncryptedPrivateKeyInfo(keyblob,passwordArchivoKeyTmp ); //PKCS #8 encrypted
saludos
Juan Arturo
RSACryptoServiceProvider rsa = DecodeEncryptedPrivateKeyInfo(pkcs8encprivatekey, passwordArchivoKeyTmp ); // Esta rutina no se usa
Debe pasar por aqui (con .key):
// PASO 5.- RUTINA VALIDA PARA ARCHIVOS DER (PKCS8, .key y .cer)
// nos devolvera un objeto tipo RSACryptoServiceProvider
//----------------
// Accede a la rutina donde SOLICITARA EL PASSWORD del .KEY
Debug.Print("------------ PASO X 5 de DecodeDERKey");
// OK esta es la parte que SI SE USA
rsa = DecodeEncryptedPrivateKeyInfo(keyblob,passwordArchivoKeyTmp ); //PKCS #8 encrypted
saludos
Juan Arturo
-
- Mensajes: 15
- Registrado: Mar Jul 31, 2012 12:07 pm
Re: Creación de CFDI 3.2
Hola AlgusDark
Solo para preguntar en donde puedo conseguir la DLL de OpenSSLKey.cs y la foma para implementarlo en mi proyecto, lo estoy haciendo con Visual Basic 6 y aun no puedo sellar el XML.
De antemano garcias.
Solo para preguntar en donde puedo conseguir la DLL de OpenSSLKey.cs y la foma para implementarlo en mi proyecto, lo estoy haciendo con Visual Basic 6 y aun no puedo sellar el XML.
De antemano garcias.
-
- Mensajes: 158
- Registrado: Mié Ene 11, 2012 2:08 pm
- Contactar:
Re: Creación de CFDI 3.2
Nativa, buscalo como tal "OpenSSLKey.cs" en San Google, no es dll, es CODIGO FUENTE nativo en C# que puedes integrar en tu proyecto .net.
Si requieres algo mas completo con codigo fuente o como implementarlo (en .net, VB, VFP), busca mi post en el foro "Soluciones Propias y de Terceros", alli estan mis datos de contacto.
http://www.validacfd.com/phpbb3/viewtop ... com#p12727
Saludos
Juan Arturo Gomez
Si requieres algo mas completo con codigo fuente o como implementarlo (en .net, VB, VFP), busca mi post en el foro "Soluciones Propias y de Terceros", alli estan mis datos de contacto.
http://www.validacfd.com/phpbb3/viewtop ... com#p12727
Saludos
Juan Arturo Gomez
-
- Mensajes: 5
- Registrado: Mar Oct 16, 2012 3:25 pm
Re: Creación de CFDI 3.2
La clase opensslkey.cs la agregas a tu proyecto...
Y así la usas:
http://www.validacfd.com/phpbb3/viewtop ... 847#p17847
Y así la usas:
http://www.validacfd.com/phpbb3/viewtop ... 847#p17847
-
- Mensajes: 7
- Registrado: Vie Nov 30, 2012 9:29 am
Re: Creación de CFDI 3.2
Muchas felicidades AlgusDark, por tu aporte, por cierto como se genera la secuencia del codigo:
1.- Generar el codigo que usas para el boton (hasta ahi no hay problema).
Pero ya de ahi me pierdo como usuar lo siguiente:
Public Shared Function GetCadenaOriginal(ByVal xmlDoc As String, ByVal fileXSLT As String) As String
Public Shared Function ObtenerSelloDigital(cadenaOriginal As String, rutaLlavePrivada As String, password As String) As String
Public Sub AplicarSelloDigital(selloDigitalOriginal As String)
como los mandas llamar y como le pasas los parametros, muchas gracias.
1.- Generar el codigo que usas para el boton (hasta ahi no hay problema).
Pero ya de ahi me pierdo como usuar lo siguiente:
Public Shared Function GetCadenaOriginal(ByVal xmlDoc As String, ByVal fileXSLT As String) As String
Public Shared Function ObtenerSelloDigital(cadenaOriginal As String, rutaLlavePrivada As String, password As String) As String
Public Sub AplicarSelloDigital(selloDigitalOriginal As String)
como los mandas llamar y como le pasas los parametros, muchas gracias.
-
- Mensajes: 1
- Registrado: Vie Nov 30, 2012 12:41 pm
Re: Creación de CFDI 3.2
Hola, tengo un problema con la generacion de sello 3.2.
Desarrolle el sistema de facturacion en VB6 y facturamos desde el 2010 con la versión 2.2 sin problema, se genera la cadena original y sello sin errores.
Pero estoy empezando a cambiar a versión 3.2, y cuando entro al sitio del SAT para validar el archivo XML me indica que la estructura es correcta pero el sello no valido.
Solo cambie valores en la cadena original y utilize el mismo metodo para generar el sello, que utilizo para version 2.2.
Mi pregunta es: hay algun nuevo parametro a cambiar en la generaion del sello para 3.2?
Aqui envio el resultado que me genera el validador del SAT:
Versión del estándar: 3.2
Codificación
Comprobante expresado en UTF-8
Validación de estructura: Válido
Cadena original del CFDI:
||3.2|2012-11-30T12:32:53|ingreso|PAGO EN UNA SOLA EXHIBICION|60 DIAS FECHA FACT.|57994.20|67273.27|CHEQUE 9444|DISTRITO FEDERAL|DTC810429TA6|DISTRIBUIDORA TEXTIL DEL CENTRO,S. A. DE C. V.|VENUSTIANO CARRANZA|131|PISO 3 3A|CENTRO|MEXICO|CUAUHTEMOC|DISTRITO FEDERAL|MEXICO|06060|GENERAL DE LEY PERSONA MORAL|CDA030519B56|CONFECCIONES DAVANE, S. A. DE C. V.|SAN SALVADOR EL VERDE|22|CENTRO|MEXICO|CUAUHTEMOC|DISTRITO FEDERAL|MEXICO|06080|999.90|MT|CATHERINE ETRO EST. DOM.|58.00|57994.20|IVA|16.00|9279.07|9279.07||
Digestión SHA-1 de cadena original expresada en hexadecimal
96de21d77d4a0aa31c1f9c9ad612de828a484e07
Certificado usado : 00001000000102442892
Certificado reportado : 00001000000102442892
El sello del CFDI no es válido
Desarrolle el sistema de facturacion en VB6 y facturamos desde el 2010 con la versión 2.2 sin problema, se genera la cadena original y sello sin errores.
Pero estoy empezando a cambiar a versión 3.2, y cuando entro al sitio del SAT para validar el archivo XML me indica que la estructura es correcta pero el sello no valido.
Solo cambie valores en la cadena original y utilize el mismo metodo para generar el sello, que utilizo para version 2.2.
Mi pregunta es: hay algun nuevo parametro a cambiar en la generaion del sello para 3.2?
Aqui envio el resultado que me genera el validador del SAT:
Versión del estándar: 3.2
Codificación
Comprobante expresado en UTF-8
Validación de estructura: Válido
Cadena original del CFDI:
||3.2|2012-11-30T12:32:53|ingreso|PAGO EN UNA SOLA EXHIBICION|60 DIAS FECHA FACT.|57994.20|67273.27|CHEQUE 9444|DISTRITO FEDERAL|DTC810429TA6|DISTRIBUIDORA TEXTIL DEL CENTRO,S. A. DE C. V.|VENUSTIANO CARRANZA|131|PISO 3 3A|CENTRO|MEXICO|CUAUHTEMOC|DISTRITO FEDERAL|MEXICO|06060|GENERAL DE LEY PERSONA MORAL|CDA030519B56|CONFECCIONES DAVANE, S. A. DE C. V.|SAN SALVADOR EL VERDE|22|CENTRO|MEXICO|CUAUHTEMOC|DISTRITO FEDERAL|MEXICO|06080|999.90|MT|CATHERINE ETRO EST. DOM.|58.00|57994.20|IVA|16.00|9279.07|9279.07||
Digestión SHA-1 de cadena original expresada en hexadecimal
96de21d77d4a0aa31c1f9c9ad612de828a484e07
Certificado usado : 00001000000102442892
Certificado reportado : 00001000000102442892
El sello del CFDI no es válido
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Creación de CFDI 3.2
Compara el SHA1 que tu calculas vs. los SHA1 que te muestran los validadores, si son iguales entonces el problema no esta en la cadena, si no son iguales entonces las cadenas no son iguales y tienes que corregirla
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 158
- Registrado: Mié Ene 11, 2012 2:08 pm
- Contactar:
Re: Creación de CFDI 3.2
El XML de CFD y el CFDI no son exactamente iguales, comparalos, deben tener el prefijo "cfdi" en cada nodo.
Por otra parte, si ya estas facturando o tus clientes que facturen en CFD 2.2 no tienen ninguna ventaja en que se migren a CFDI (aunque te lo quieran vender)
Por otra parte, si ya estas facturando o tus clientes que facturen en CFD 2.2 no tienen ninguna ventaja en que se migren a CFDI (aunque te lo quieran vender)
-
- Mensajes: 46
- Registrado: Mié Nov 10, 2010 11:06 am
Re: Creación de CFDI 3.2
Hola a todos compañeros
nada mas para comentar 2 cosas acerca de esta libreria, a ver si me pueden ayudar.
1.- en la linea 294 hay un comentario en el metodo DecodeEncryptedPrivateKeyInfo que dice asi "// probably a bad pswd entered"
el cual no indica que hay algo raro o que no se implemento correctamente, me ha pasado alrededor de 5 veces aprox que la momento de ejecutar dicho metodo llega hasta esa linea y regresa nada, tal como si se hubieran equivocado en introducir la clave pero no es asi por que ya he corroborado en el validacfd de Dado y el .key y el password estan correctos, alguien a tenido este problema? lo pudo solucionar?
2.-usando esta misma librearia tiene un comportamiento raro en ambiente web (asp.net) me ha pasado que DecodeEncryptedPrivateKey regresa nada pero moviendo ala configuracion de iis se corrije. tambien me ha pasado que que con ciertos .keys tambien regresa nada pero solo pasa en el ambiente web por que en desktop no tengo ese problema con dicho .key.
si alguien ha tenido estos detalles por favor comente.
Saludos.
Saludos.
nada mas para comentar 2 cosas acerca de esta libreria, a ver si me pueden ayudar.
1.- en la linea 294 hay un comentario en el metodo DecodeEncryptedPrivateKeyInfo que dice asi "// probably a bad pswd entered"

2.-usando esta misma librearia tiene un comportamiento raro en ambiente web (asp.net) me ha pasado que DecodeEncryptedPrivateKey regresa nada pero moviendo ala configuracion de iis se corrije. tambien me ha pasado que que con ciertos .keys tambien regresa nada pero solo pasa en el ambiente web por que en desktop no tengo ese problema con dicho .key.
si alguien ha tenido estos detalles por favor comente.
Saludos.
Saludos.