Foros del Web » Programando para Internet » PHP »

Facturacion electronica en México

Estas en el tema de Facturacion electronica en México en el foro de PHP en Foros del Web. veo que aun hay dudas.... saben por que?, por que nadie es tan amable de decir mira asi lo hice y funciona.... asi que dejemonos ...

  #31 (permalink)  
Antiguo 23/06/2009, 13:13
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Facturacion electronica en México

veo que aun hay dudas.... saben por que?, por que nadie es tan amable de decir mira asi lo hice y funciona.... asi que dejemonos de posteadores que dicen que el SAT, que esto que el otro. si no van a poner algun HECHO que ayude mejor no pongan.

hay va mi respuesta a Destruktor... saludos... ayudanos a avanzar....

esto lo meti en un archito bat, para ejecutarlo junto.

@echo off
color 30

C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.key -passin pass:xxxxxxxxxxx -out C:\WEB_SAT\EPISA\aaa010101aaa.key.pem

echo la llave privada ha sido creada.....

C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.cer -pubkey -out C:\WEB_SAT\EPISA\aaa010101aaa.cer.pem

echo la llave publica ha sido creada.....

cls
exit.

y para probar uno por uno...

$ openssl x509 -in AAA010101AAA.cer.pem -issuer -noout

$ openssl x509 -in AAA010101AAA.cer.pem -startdate -enddate -noout

$ openssl x509 -in AAA010101AAA.cer.pem -subject -noout

$ openssl x509 -in AAA010101AAA.cer.pem -serial -noout


EL HECHO, a mi si me funcionan...solo les agregue la ruta.
  #32 (permalink)  
Antiguo 04/09/2009, 01:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Antes que nada agradecerle a todos los que han aportado sus conocimientos en este foro, y solicitar ayuda debido a que Ya tengo la llave privada y llave publica con forme explico Nanox con un archivo bat
@echo off
color 30

C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.key -passin pass:xxxxxxxxxxx -out C:\WEB_SAT\EPISA\aaa010101aaa.key.pem


C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM –in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.cer -pubkey -out C:\WEB_SAT\EPISA\aaa010101aaa.cer.pem

echo la llave publica ha sido creada.....

Pero no se como obtener el certificado es decir en el archivo xml con versión 2.0 existe un registro llamado certificado
Ejemplo:
version="2.0"
serie="BA"
folio="170"
fecha="2009-09-01T03:36:59" sello="G6KKmnhBQh06I5h0JQSD9ItM7H4msd4D45Yg4ti81XA SvM9+Zf38g/Q9ANMl6FJaPpqMHnyj4UZWsQgKz7Z+qfMM/gTYqlTQIcily0VT0BCazEnpmn1xGPR6So6ffhnJbYLTfTjqEbS 5Td3t/pvdGsg7CCr/bG+N01WM9py1uc0="
noCertificado="10001200000000022517" certificado="MIIDhDCCAmygAwIBAgIUMTAwMDEyMDAwMDAwM DAwMjI1MTcwDQYJKoZIhvcNAQEFBQAwgcMxGTAXBgNVBAcTEEN pdWRhZCBkZSBNZXhpY28xFTATBgNVBAgTDE1leGljbywgRC5GL jELMAkGA1UEBhMCTVgxGjAYBgNVBAMTEUFDIGRlIFBydWViYXM gU0FUMTYwNAYDVQQLFC1BZG1pbmlzdHJhY2nzbiBkZSBTZWd1c mlkYWQgZGUgbGEgSW5mb3JtYWNp824xLjAsBgNVBAoUJVNlcnZ pY2lvIGRlIEFkbWluaXN0cmFjafNuIFRyaWJ1dGFyaWEwHhcNM DgwODIxMTUyMjA4WhcNMTAwODIxMTUyMjA4WjCBmDElMCMGA1U ELRMcQUFBMDEwMTAxQUFBIC8gQUFBQTAxMDEwMUFBQTEeMBwGA 1UEBRMVIC8gQUFBQTAxMDEwMUhERlJYWDAxMRIwEAYDVQQKEwl NYXRyaXogU0ExEzARBgNVBAsTClVuaWRhZCAxMCAxEjAQBgNVB AMTCU1hdHJpeiBTQTESMBAGA1UEKRMJTWF0cml6IFNBMIGfMA0 GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpmiW1q9gyzCFtMcbaF DJexk2IpLoTdNXg4ToGRZ/f+hIjmj3N6ODWX1ARNFGYocEHf113GpW5Oe/mj6UqhBpiH4JRTNR4Udb8myJTArIlODynVHuIUuyhKo7gbMbDd XjilTAYY2XWQuQ7aDtWwntUmNg4vAC/F3OtRz3+y9wM5QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1 UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAafyD4gMsOvq7 E3raPntmQlJTxpWwNySqskE7fe23HVL9UKFCUlWWx/W8gluxIX9S19y17iWnGbtmbNddHxG5PznPsy/a8PlwNHjDW0FOpia2LsvDrNcdPiJhzL/1OVagkenffFf8bLEetF3ktxZ7ifcH1yxVxpZ7PS/pe8YIOpWRuMmTV4ypGdsw9TW3HVP5IJ/canuQGPTb3LQ8ojihW2dHnC6ojaWW4GHFSZAPhQJ/DaH/UgFjaQke/RBtoAketfROdG+1qYeA1q/is04O4AXNmMByGp7ZnvGNrO9LDBvs3eKN4ZYcQyjxFEbr1X/xUqHCRF1VEkkC5jJQ1ktC4g=="

desde php estoy mandando esta instrucción
<?

Exec("C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem");

Exec("C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in aaa010101aaa_CSD_01.cer -pubkey -out aaa010101aaa_CSD_01.cer.pem");

$cadenaoriginal="||2.0|A|5|2009-09-03T23:02:15|12345678|2009|ingreso|Pago en una sola exhibicion|Efectivo|20000.00|23000.00|HEOE510629UB 2|MARIA ESTHER HERMOSO ORTUNO|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|MOR657810UB3|MORAN Y CIS, A.C.|HIMALAYA|580|LOMAS TERCERA SECCION|AGUASCALIENTES|AGUASCALIENTES|AGUASCALIENT ES|MEXICO|78000|1|PZA|ADMIN|SRNADMIN|10000.00|1000 0.00|1|PZA|ADMIN|SRNADMIN|10000.00|10000.00|IVA|15 .00|1500.00|IVA|15.00|1500.00|3000.00||" ;

$cadena = utf8_encode($cadenaoriginal) ;

$cadena=md5($cadena);

$fp = fopen ("md5.txt", "w+");
fwrite($fp, $cadena);
fclose($fp);

exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.key.pem md5.txt | openssl enc -base64 -A > sello.txt");

exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.cer.pem md5.txt | openssl enc -base64 -A > certificado.txt");

$file = readfile("sello.txt");

?>

y en efecto me crea los siguientes archivos

cmd5.txt Cadena en MD5
sello.txt Sello generado
certificado.txt

pero el archivo certificado.txt esta vacio

es decir yo estoy realizando esto para obtener el famoso registro certificado que va en el xml, pero no se si estoy realizando la instrucción correcta ó porque ell archivo certificado.txt no me muestra nada.
  #33 (permalink)  
Antiguo 25/09/2009, 14:48
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 16 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Amigo... como ves el foro esta conjelado, a sido mejor como contacto particular. tu problema lo has solucionado... y me da gusto. aqui una luz mas para quienes de verdad quieren compartir sus codigos y sus experiencias, ya somos dos, que asi como muchos han preguntado como se hace... aqui a los que han ayudado... saludoss...
  #34 (permalink)  
Antiguo 07/10/2009, 15:59
Avatar de lordcold  
Fecha de Ingreso: noviembre-2007
Ubicación: lordcold.blogspot.com
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Respuesta: Facturacion electronica en México

Saludos a todos.

Tengo el mismo problema que softrednet, no me genera mi archivo certificado.txt, alguién sabe como le tengo que hacer??

Muchas gracias.
  #35 (permalink)  
Antiguo 29/10/2009, 13:48
 
Fecha de Ingreso: octubre-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Facturacion electronica en México

Hola a todos, saben si exite algun open source para usar como base para nosotros mexicanos?

Yo encontré uno de Chile les dejo el link por si lo quieren ver

dobeu dobleu dobleu . open-track.cl/index.php/productos/openfacture.html
  #36 (permalink)  
Antiguo 09/11/2009, 17:05
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Facturacion electronica en México

soy nuevo en el foro, y apenas empiezo a navegar por las aguas turbulentas de la factura digital. tengos varias dudas, me gustaria me ayudaran . 1ro. donde consigo informacion de openssl, para poder enteder lo que estoy haciendo. 2da. que se necesita para poder crear una factura digital, no me queda claro lo que pide hacienda..
por sus atenciones mil gracias

pd. tengan por seguro que todo lo que logre lo compartire con uds....si alguien alguna vez necesito imprimir en una impresora termica desde DOS,,yo tengo la solucion .....
  #37 (permalink)  
Antiguo 27/11/2009, 12:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Hola kolegas aki respondiendo algo de las facturas electronicas


yo estube metido un mes en esto de las facturas electronicas, solo k lo hice en c#, si les sirve les paso la referencias para generar el sello.

Usando bouncy castle

saludos
  #38 (permalink)  
Antiguo 02/12/2009, 09:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

OK, colega
Tienes que descargar uan dll que esta en la pagina de bouncycastle.org

usando estas referencias.





Leer la clave privada y el certificado en formato PEM
PemReader rd = new PemReader(tr);

Y con esta otra encryptas
ISigner sig = SignerUtilities.GetSigner("MD5WithRSAEncryption");

Esas son las dos referncias para generar tu sello.


saludos, espero que les sirva
  #39 (permalink)  
Antiguo 03/12/2009, 15:55
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

Gracias por tu respuesta.....

Aun no he podido terminar una prueba
Estoy utilizando este codigo
que estare haciendo mal?

Dim readFile As System.IO.TextReader = New StreamReader("C:\Factura Electronica\FIEL RENOVADA 05-05-2009\ult870701b55_0906050905.key")
Dim Ocert As New PemReader(readFile)
Dim o As AsymmetricCipherKeyPair = TryCast(Ocert.ReadObject(), AsymmetricCipherKeyPair)
Dim sig As ISigner = SignerUtilities.GetSigner("MD5WithRSAEncryption")
sig.Init(True, o.[Private])
Dim signature As Byte() = sig.GenerateSignature()
Dim signatureHeader = Convert.ToBase64String(signature)

readFile.Close()
readFile = Nothing
  #40 (permalink)  
Antiguo 07/12/2009, 10:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por dumysoft Ver Mensaje
Gracias por tu respuesta.....

Aun no he podido terminar una prueba
Estoy utilizando este codigo
que estare haciendo mal?

Dim readFile As System.IO.TextReader = New StreamReader("C:\Factura Electronica\FIEL RENOVADA 05-05-2009\ult870701b55_0906050905.key")
Dim Ocert As New PemReader(readFile)
Dim o As AsymmetricCipherKeyPair = TryCast(Ocert.ReadObject(), AsymmetricCipherKeyPair)
Dim sig As ISigner = SignerUtilities.GetSigner("MD5WithRSAEncryption")
sig.Init(True, o.[Private])
Dim signature As Byte() = sig.GenerateSignature()
Dim signatureHeader = Convert.ToBase64String(signature)

readFile.Close()
readFile = Nothing



Lo que veo es que la clave debe ser .pem, para que lo puedas leer con el pemreader

utiliza esto de openssl para pasar de .key a pem

@echo off
color 30

C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out C:\OpenSSL\Keys\aaa010101aaa.key.pem

echo la llave privada ha sido creada.....

C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.cer -pubkey -out C:\OpenSSL\Keys\aaa010101aaa.cer.pem

echo la llave publica ha sido creada.....


Esto lo tengo en un bat, checalo


saludos
  #41 (permalink)  
Antiguo 09/12/2009, 09:43
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
que tal alguien tendra los archivos del sat es que no los puedo conseguir , los de prueba para empezar a hacer las pruebas que aqui pusieron soy de mexico y esto de la factura electronica tiene a mis jefes con los pelos de punta asi que si alguien tiene los archivos para poder mostrarles a mis jefes como es la implementacion se los agradezco gracias

y para el que dice que solicitemos asesoria ahora si que cuanto es lo que cobras por asesorarme, tengo el sistema en php y mysql, xml no lo se manejar entonces cuanto es lo que cobras por ayudarme a desarrollar la implementacion. ayudaaa mis jefes estan desesperados

Última edición por GatorV; 26/12/2009 a las 13:49
  #42 (permalink)  
Antiguo 09/12/2009, 10:49
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por cortesr Ver Mensaje
que tal alguien tendra los archivos del sat es que no los puedo conseguir , los de prueba para empezar a hacer las pruebas que aqui pusieron soy de mexico y esto de la factura electronica tiene a mis jefes con los pelos de punta asi que si alguien tiene los archivos para poder mostrarles a mis jefes como es la implementacion se los agradezco gracias


Aqui estan:
sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15564.html
  #43 (permalink)  
Antiguo 10/12/2009, 11:42
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

que tal softrednet me puse a trabajar tu codigo ya que pude conseguir los certificados yde paso agradecer a Edg_LB analizando un poco tu codigo a mi me genero los tres archivos en el cual solamente el md5 tenia un contenido, los demas salen vacios si a alguien le sirve yo compre el libro de factura electronica de mario Perez Villeda para si a alguien le sirve bueno me despido agradeciendo a todos sus dudas porque con esas dudas que tienen voy aprendiendo

Última edición por cortesr; 11/12/2009 a las 09:39
  #44 (permalink)  
Antiguo 15/12/2009, 12:15
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por Edg_LB Ver Mensaje
Lo que veo es que la clave debe ser .pem, para que lo puedas leer con el pemreader

utiliza esto de openssl para pasar de .key a pem

@echo off
color 30

C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out C:\OpenSSL\Keys\aaa010101aaa.key.pem

echo la llave privada ha sido creada.....

C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.cer -pubkey -out C:\OpenSSL\Keys\aaa010101aaa.cer.pem

echo la llave publica ha sido creada.....


Esto lo tengo en un bat, checalo


saludos

Listo, Por fin pude terminar el procedimiento para firma el CFD.
Gracias Edg_LB por tu ayuda.....

Para leer el Certificado o llave publica ¿ Con cuales refencias lo puedo hacer ?
lo he hecho con openssl, pero tambien quiero practicar un poco con .net

Saludos.
  #45 (permalink)  
Antiguo 15/12/2009, 12:38
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

Que tal, ante todo me presento y un gusto pertenecer a esta foro, la razón por la que escribo es la siguiente: he seguido con detenimiento sus valiosas aportaciones para la implementación de la facturación electronica según el anexo 20 del SAT, me han servido de mucho he estado probando utilizando los comandos directos del openssl y desde el inicio me he topado con un problema :

La cadena que proporciona el SAT (la cual entiendo que debe ser convertida a UTF-8) la grabó en un archivo txt con dicho formato en el bloq de notas.

||A|1|2005-09-02T16:30:00|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||

Sin embargo al utilizar esta cadena para realizar la digestión con el metodo MD5 utilizando los comandos de openssl de la manera siguiente:

openssl dgst -md5 Cadena_original.txt

El resultado siempre es este:
011bd54ffdcb0b3e97e4b9bbc69c5dd9

Cuando debería ser este:
8aa2b617944427353697e694a2e35a07

Alguien podría tener una idea del porque me esta dando este resultado, he investigado arduamente y al parecer se deba a que el bloq este grabando el formato erroneamente, sin embargo me hice a la tarea de bajar aplicadores(Iconv, FileEncodingConverter,etc.) para convertir el fichero ANSI o ISO8859-1 a UTF-8 y el resultado siempre es el mismo. Por lo que he podido ver ustedes no tuvieron ese problema dado que convierten la cadena a utf8 mediante una sentencia de php. ¿Alguien tiene una idea de como podría hacerlo de otra manera ya que mi aplicación no esta en php? lo único que necesito es convertir este fichero o cadena en UTF-8 correcto. Se los agradecería bastante ya que lo demás me queda perfectamente claro y me he atorado en esta parte.

Saludos y de antemano gracias
  #46 (permalink)  
Antiguo 15/12/2009, 15:08
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por Interruptor Ver Mensaje
Que tal, ante todo me presento y un gusto pertenecer a esta foro, la razón por la que escribo es la siguiente: he seguido con detenimiento sus valiosas aportaciones para la implementación de la facturación electronica según el anexo 20 del SAT, me han servido de mucho he estado probando utilizando los comandos directos del openssl y desde el inicio me he topado con un problema :

La cadena que proporciona el SAT (la cual entiendo que debe ser convertida a UTF-8) la grabó en un archivo txt con dicho formato en el bloq de notas.

||A|1|2005-09-02T16:30:00|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||

Sin embargo al utilizar esta cadena para realizar la digestión con el metodo MD5 utilizando los comandos de openssl de la manera siguiente:

openssl dgst -md5 Cadena_original.txt

El resultado siempre es este:
011bd54ffdcb0b3e97e4b9bbc69c5dd9

Cuando debería ser este:
8aa2b617944427353697e694a2e35a07

Alguien podría tener una idea del porque me esta dando este resultado, he investigado arduamente y al parecer se deba a que el bloq este grabando el formato erroneamente, sin embargo me hice a la tarea de bajar aplicadores(Iconv, FileEncodingConverter,etc.) para convertir el fichero ANSI o ISO8859-1 a UTF-8 y el resultado siempre es el mismo. Por lo que he podido ver ustedes no tuvieron ese problema dado que convierten la cadena a utf8 mediante una sentencia de php. ¿Alguien tiene una idea de como podría hacerlo de otra manera ya que mi aplicación no esta en php? lo único que necesito es convertir este fichero o cadena en UTF-8 correcto. Se los agradecería bastante ya que lo demás me queda perfectamente claro y me he atorado en esta parte.

Saludos y de antemano gracias

Amigo, yo utilizo esta forma y no he tenido ningun problema.

openssl dgst -md5 -sign pkey.key.pem -out md5.txt utf8.txt
  #47 (permalink)  
Antiguo 16/12/2009, 10:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por dumysoft Ver Mensaje
Listo, Por fin pude terminar el procedimiento para firma el CFD.
Gracias Edg_LB por tu ayuda.....

Para leer el Certificado o llave publica ¿ Con cuales refencias lo puedo hacer ?
lo he hecho con openssl, pero tambien quiero practicar un poco con .net

Saludos.


Ok, me da gusto, k lo hayas echo, te paso mi codigo de como lo tengo

//Read Public Key
TextReader trCer = new StreamReader(@PublicKey);
PemReader rdCer = new PemReader(trCer);
X509Certificate Cert = (X509Certificate)rdCer.ReadObject();

AsymmetricKeyParameter pk = Cert.GetPublicKey();
byte[] nSerie = Cert.SerialNumber.ToByteArray();
string nCertificado = Encoding.ASCII.GetString(nSerie);


Saludos y suerte, estamos en contacto, por aki andamos echandole un ojo a esto
  #48 (permalink)  
Antiguo 16/12/2009, 11:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por Edg_LB Ver Mensaje
Ok, me da gusto, k lo hayas echo, te paso mi codigo de como lo tengo

//Read Public Key
TextReader trCer = new StreamReader(@PublicKey);
PemReader rdCer = new PemReader(trCer);
X509Certificate Cert = (X509Certificate)rdCer.ReadObject();

AsymmetricKeyParameter pk = Cert.GetPublicKey();
byte[] nSerie = Cert.SerialNumber.ToByteArray();
string nCertificado = Encoding.ASCII.GetString(nSerie);


Saludos y suerte, estamos en contacto, por aki andamos echandole un ojo a esto
Gracias por tu amabilidad.
Te comento que probando el codigo me marca un error aqui AsymmetricKeyParameter pk = Cert.GetPublicKey();

Referencia a objeto no establecida

a que namespace pertenece esa funcion?

o que puede ser?
  #49 (permalink)  
Antiguo 16/12/2009, 12:46
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por dumysoft Ver Mensaje
Amigo, yo utilizo esta forma y no he tenido ningun problema.

openssl dgst -md5 -sign pkey.key.pem -out md5.txt utf8.txt
Gracias amigo, por lo que entiendo en la misma setencia estas firmando y haciendo el digest pero lo que no entiendo es que representa el archivo utf8.txt ¿acaso es el archivo donde esta formateado a utf8 o algo asi? porque mi problema principal es que yo parto desde la cadena original en el archivo pero no logro que me de la cadena despues de la simple digestión con md5. No se si me estoy explicando bien.
  #50 (permalink)  
Antiguo 16/12/2009, 13:53
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por Interruptor Ver Mensaje
Gracias amigo, por lo que entiendo en la misma setencia estas firmando y haciendo el digest pero lo que no entiendo es que representa el archivo utf8.txt ¿acaso es el archivo donde esta formateado a utf8 o algo asi? porque mi problema principal es que yo parto desde la cadena original en el archivo pero no logro que me de la cadena despues de la simple digestión con md5. No se si me estoy explicando bien.

utf8.txt es la cadena original.

Saludos
  #51 (permalink)  
Antiguo 16/12/2009, 16:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por dumysoft Ver Mensaje
Gracias por tu amabilidad.
Te comento que probando el codigo me marca un error aqui AsymmetricKeyParameter pk = Cert.GetPublicKey();

Referencia a objeto no establecida

a que namespace pertenece esa funcion?

o que puede ser?

Es esta la referencia:
Org.BouncyCastle.Crypto.AsymmetricKeyParameter pk = Cert.GetPublicKey();

Con eso obtiene la clave publica del certificado, y con esa desencriptas, y ahi mismo obtienes el numero de certificado que te piden en al xml, incluso cuando lees la clave privada, ahi mismo puedes obtner la clave publica, y es la misma que si la lees del certificado, solo que tienes que leer el certificado por que obtienes el numero de serie, con el codigo que e pase antes ya te trael la el numeor de certificado, pk no se en k formato te lo dan y si lo checas en el validador es el mismo el k lees del certificado y el que te da el validador.

Cuando enciptas ahi mismo puedes verificar si tu sello es correcto, tiene una opcion para validar tu sello con la clave publica.

surte, espero no haberte enrredado con mi choro...
  #52 (permalink)  
Antiguo 16/12/2009, 16:15
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por Interruptor Ver Mensaje
Gracias amigo, por lo que entiendo en la misma setencia estas firmando y haciendo el digest pero lo que no entiendo es que representa el archivo utf8.txt ¿acaso es el archivo donde esta formateado a utf8 o algo asi? porque mi problema principal es que yo parto desde la cadena original en el archivo pero no logro que me de la cadena despues de la simple digestión con md5. No se si me estoy explicando bien.
Ola amigo, el probelma yo tambien lo tuve, almacenaba mi cadenorignal en un txt encoding utf8 y nucna lo pude hacer con openssl, y si leia el archivo desde java o c# y le aplicaba el md5 me daba el md5 que te ponen de ejemplo o el que te da el validador, el proble que vi al leer el archivo esque tiene incio y fin de linea, y ese inicio y ese hace a k te de un diges distinto,esta es mi humilde opinion.
  #53 (permalink)  
Antiguo 16/12/2009, 16:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por Edg_LB Ver Mensaje
Es esta la referencia:
Org.BouncyCastle.Crypto.AsymmetricKeyParameter pk = Cert.GetPublicKey();

Con eso obtiene la clave publica del certificado, y con esa desencriptas, y ahi mismo obtienes el numero de certificado que te piden en al xml, incluso cuando lees la clave privada, ahi mismo puedes obtner la clave publica, y es la misma que si la lees del certificado, solo que tienes que leer el certificado por que obtienes el numero de serie, con el codigo que e pase antes ya te trael la el numeor de certificado, pk no se en k formato te lo dan y si lo checas en el validador es el mismo el k lees del certificado y el que te da el validador.

Cuando enciptas ahi mismo puedes verificar si tu sello es correcto, tiene una opcion para validar tu sello con la clave publica.

surte, espero no haberte enrredado con mi choro...
Gracias, si te entiendo.
y cual seria la referencia de esta funcion GetPublicKey() pque. parece ser que es la que no me esta funcionando.

Estuve buscando en el examinador de objetos para ver a cual pertenece pero son muchos namespaces que lo contienen.


en espera de sus comentarios. Saludos.
  #54 (permalink)  
Antiguo 17/12/2009, 11:07
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

Muchisimas gracias a los camaradas dumysoft y Edg_LB por su aclaración a mis dudas, a través del tiempo en esto del desarrollo me he dado cuenta que esto es como el karma cuando uno se detiene unos minutos en apoyar las dudas que otros compañeros tienen y por las cuales ya hemos pasado, esta acción siempre es revertida. Asi que muchas gracias.

En efecto como bien lo dices Edg_LB el grabar la cadena desde el archivo de texto como UTF-8 lo graba con ciertas marcas que contaminan el resumen en MD5. Sucede que estoy haciendo una aplicación de facturación electronica en visual Fox 9 de forma que intentaba el enconding del archivo por fuera, pero al darme cuenta de que no me daba por la razón explicada, busque una función en el mismo fox para convertir al formato correcto además de que buscando por ahi encontré una clase que realiza el digest desde fox sin necesidad de utilizar el openssl (por cierto esta clase quedá a disposición para quien se encuentre en la misma situación que yo y desee hacerlo de VFox). Aunque finalmente debo recurrir a openssl mediante un comando externo para realizar el sellado y lo demás, estoy ahora en esto y veremos como nos va.

Un saludo a toda la comunidad y gracias de nuevo camaradas.
  #55 (permalink)  
Antiguo 17/12/2009, 13:10
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por dumysoft Ver Mensaje
Gracias, si te entiendo.
y cual seria la referencia de esta funcion GetPublicKey() pque. parece ser que es la que no me esta funcionando.

Estuve buscando en el examinador de objetos para ver a cual pertenece pero son muchos namespaces que lo contienen.


en espera de sus comentarios. Saludos.
T pongo el codigo de como lo tengo.

using System;
using System.Collections.Generic;
using System.Text;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Utilities.Encoders;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.Crypto.Generators;
using Org.BouncyCastle.Security;
using System.IO;
using Org.BouncyCastle.X509;
using Org.BouncyCastle.OpenSsl;
using Org.BouncyCastle.Utilities.Collections;
using Org.BouncyCastle.Crypto.Parameters;
using System.Security.Cryptography;






//Read Public Key
TextReader trCer = new StreamReader(@PublicKey);
PemReader rdCer = new PemReader(trCer);
X509Certificate Cert = (X509Certificate)rdCer.ReadObject();

Org.BouncyCastle.Crypto.AsymmetricKeyParameter pk = Cert.GetPublicKey();
byte[] nSerie = Cert.SerialNumber.ToByteArray();
string nCertificado = Encoding.ASCII.GetString(nSerie);


saludos...
  #56 (permalink)  
Antiguo 26/12/2009, 12:30
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Hola, a todos pues yo soy nuevo en este ambito de la facturacion electronica al igual que en este foro, hasta ahorita he hecho la generacion de la cadena asi como su digestion md5, ahora viene lo bonito que es firmar la digestion con la llave privada y la cual he convertido a formato PEM, pero esto lo estoy haciendo en asp.net con c# alguien que me pueda ayudar a firmar la cadena por favor?? al igual yo puedo ayudar con lo que llevo hasta ahorita, muchas gracias de antemano

Pues ahora he encontrado un [URL="http://www.jensign.com/opensslkey/index.html"]programa[/URL] que me genera un xml de mi llave privada, y me da la opcion de generarme un .p12 el cual ese ya me sirve para firmar mi cadena ya que esto lo hace con las librerias normales de c#, espero me puedan ayudar, o si pueden decirme como firmar con las librerias de BouncyCastle estaria genial, gracias por su ayuda

Pues les agradezco a todos la ayuda, ya lo resolvi en c#

Saludos

Edicion: Ya es valido el sello que genera mi programa, si alguien necesita ayuda estoy dispuesto a ayudar...

Saludos

Última edición por jjasso_barba; 04/01/2010 a las 14:28
  #57 (permalink)  
Antiguo 08/01/2010, 10:23
Avatar de netovs  
Fecha de Ingreso: enero-2010
Ubicación: Mexico DF
Mensajes: 150
Antigüedad: 14 años, 11 meses
Puntos: 9
Hola, sin duda es un excelente compendio de informacion pero yo me atore en donde tengo que convertir de .key a .key.pem me regresa el error:

Error decrypting key
6661:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461:
6661:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:97:
6661:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:123:

Según se el password que tengo es el correcto pero sigo teniendo el mismo error.



Cita:
Iniciado por netovs Ver Mensaje
Hola, sin duda es un excelente compendio de informacion pero yo me atore en donde tengo que convertir de .key a .key.pem me regresa el error:

Error decrypting key
6661:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461:
6661:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:97:
6661:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:123:

Según se el password que tengo es el correcto pero sigo teniendo el mismo error.

Saludos y gracias a todos los que leyeron este mensaje, como experiencia personal les podre decir que nunca confien en el contador que solicito al SAT los archivos, seguramente puso mal el password el error mencionado es por COLOCAR MAL LA CONTRASEÑA.

Última edición por GatorV; 08/01/2010 a las 12:00
  #58 (permalink)  
Antiguo 11/01/2010, 17:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Hoola colegas, buena tarde, y Feliz Año.

Aqui nuevamente, quisera saber si alguien sabe como se le hace para que mis facturas, se las envie al SAT y me las valide, me comentaron de una certificacion, pero no se que onda con eso, espero sus respuestas. Gracias
  #59 (permalink)  
Antiguo 12/01/2010, 14:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por Edg_LB Ver Mensaje
Hoola colegas, buena tarde, y Feliz Año.

Aqui nuevamente, quisera saber si alguien sabe como se le hace para que mis facturas, se las envie al SAT y me las valide, me comentaron de una certificacion, pero no se que onda con eso, espero sus respuestas. Gracias
Hola que tal, fijate que eso es lo que yo he andado investigando y supongo que el asunto va por [URL="http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_8769.html"]Aqui[/URL], aprovechando quisiera saber tu como manejaste tu archivo .key yo lo convierto a .pem pero mediante ssl, hay manera de convertirlo directo en c# con asp???

Saludos
  #60 (permalink)  
Antiguo 13/01/2010, 10:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por jjasso_barba Ver Mensaje
Hola que tal, fijate que eso es lo que yo he andado investigando y supongo que el asunto va por [URL="http://www.sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_8769.html"]Aqui[/URL], aprovechando quisiera saber tu como manejaste tu archivo .key yo lo convierto a .pem pero mediante ssl, hay manera de convertirlo directo en c# con asp???

Saludos


Ola k tal,

Si hay forma de hacerlo con la libreria de BouncyCastle, no se cuales sean las referencias, lo hare y si lo tengo lo publico, por ahi puse codigo de como generar el sello utilizando BouncyCastle.

Saludos
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 6 personas




La zona horaria es GMT -6. Ahora son las 15:58.