
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
.
SHA1 con OpenSSL (SOLUCIONADO)
-
- Mensajes: 10
- Registrado: Mié Feb 16, 2011 11:14 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
Saludos
He leido con mucho interés sus soluciones. Desgraciadamente soy una ignorante en el tema OPENSSL... tengo un desarrollo en VFP y me funcionaba de maravillas, el problema fue en el cambio mde SHA1... conseguí una aplicación pero la cadena me la arroja en los 40 caracteres , supongo que debo de hacer algo con la llave pero ahí ya me atoré...
En resumen...
Si el sistema corre en Windows, y bajo OpenSSl e ingreso los comandos en el VFOX (desde Vfox se corren aplicaciones instaladas en windows) y continuo es posible? o estoy diciendo una barbaridad?
SI tengo la cadena original y OpenSSl no es instalable en windows, puedo hacer a manera de "parche" una aplicación en la web para "traducir" los sellos mientras logro hacerlo en Vfox? (Urgen 3 facturas)
Disculpando si lo que escribo es tonto
Se agradecen ayudas
He leido con mucho interés sus soluciones. Desgraciadamente soy una ignorante en el tema OPENSSL... tengo un desarrollo en VFP y me funcionaba de maravillas, el problema fue en el cambio mde SHA1... conseguí una aplicación pero la cadena me la arroja en los 40 caracteres , supongo que debo de hacer algo con la llave pero ahí ya me atoré...
En resumen...
Si el sistema corre en Windows, y bajo OpenSSl e ingreso los comandos en el VFOX (desde Vfox se corren aplicaciones instaladas en windows) y continuo es posible? o estoy diciendo una barbaridad?
SI tengo la cadena original y OpenSSl no es instalable en windows, puedo hacer a manera de "parche" una aplicación en la web para "traducir" los sellos mientras logro hacerlo en Vfox? (Urgen 3 facturas)
Disculpando si lo que escribo es tonto
Se agradecen ayudas
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
Partiendo de que comentas "....tengo un desarrollo en VFP...." la pregunta es, tienes el codigo fuente? porque si es asi cambiar de MD5 a SHA1 es tan simple como cambiar tres letras, sin importar la libreria que uses, todas he visto que es muy simple el cambio.mtymty escribió:Saludos
He leido con mucho interés sus soluciones. Desgraciadamente soy una ignorante en el tema OPENSSL... tengo un desarrollo en VFP y me funcionaba de maravillas, el problema fue en el cambio mde SHA1... conseguí una aplicación pero la cadena me la arroja en los 40 caracteres , supongo que debo de hacer algo con la llave pero ahí ya me atoré...
En resumen...
Si el sistema corre en Windows, y bajo OpenSSl e ingreso los comandos en el VFOX (desde Vfox se corren aplicaciones instaladas en windows) y continuo es posible? o estoy diciendo una barbaridad?
SI tengo la cadena original y OpenSSl no es instalable en windows, puedo hacer a manera de "parche" una aplicación en la web para "traducir" los sellos mientras logro hacerlo en Vfox? (Urgen 3 facturas)
Disculpando si lo que escribo es tonto
Se agradecen ayudas
Puedes publicar aqui las 5 o 10 lineas de tu codigo fuente donde calculas el sello, de esa forma podemos ver en donde tienes que cambiarle.....
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 10
- Registrado: Mié Feb 16, 2011 11:14 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
Sí, tego el código fuente. Lo tomé de Internet de Halcón Divino por cierto, y funcionaba de maravillas...el problema es que en la parte que señalo roja ahí no sé cómo usar el sha1... bajé un app de portalfox pero me genera sólo los 40 caracteres, de ahí a hacer el sello con el key y el cer estoy perdida
mMil gracias por tu interés
Procedure SelloDigital
* Se genera el Sello Digital y ademas te da el numero de serie del certificado y el certificado
* Para obtener el sello digital tienes que instalar el componente ActiveX ChilKat
* Objetos
loPkey = CreateObject('Chilkat.PrivateKey')
If swError
MessageBox("No se puede crear el objeto Chilkat.PrivateKey",16+0,"Error")
return
endif
loRsa = CreateObject('Chilkat.Rsa')
If swError
MessageBox("No se puede crear el objeto Chilkat.Rsa",16+0,"Error")
return
endif
loCert = CreateObject('Chilkat.Cert')
If swError
MessageBox("No se puede crear el objeto Chilkat.Cert",16+0,"Error")
return
endif
* Load the Certificado
loCert.LoadFromFile(ArchivoCertificado)
If swError
MessageBox("No se encontro el archivo de certificado " + ArchivoCertificado ,16+0,"Error")
return
endif
* Load the private key from an RSA PEM file: * loPkey.LoadPemFile("myKey.pem")
loPkey.LoadPkcs8EncryptedFile(ArchivoKey, PasswordKey)
If swError
MessageBox("No se encontro el archivo de Llave (*.key) " + ArchivoKey ,16+0,"Error")
return
endif
* Get the private key in XML format:
lcPkeyXml = loPkey.GetXml()
If swError
MessageBox("No se obtener la llave privada " ,16+0,"Error")
return
endif
* Error
IF (lnSuccess <> 1) THEN
MessageBox("No se pudo desbloquer el componente ChilKat" ,16+0,"Error")
return
ENDIF
* Import the private key into the RSA component:
lnSuccess = loRsa.ImportPrivateKey(lcPkeyXml)
If swError
MessageBox("No se pudo importar la llave dentro del componente RSA " ,16+0,"Error")
Return
ENDIF
* OpenSSL uses BigEndian byte ordering:
loRsa.LittleEndian = 0
lorsa.Charset = "utf-8"
loRsa.EncodingMode = "base64"
strSello = loRsa.SignStringENC(strOriginal,"md5")
If swError
MessageBox("No se pudo obtenre el sello digital " ,16+0,"Error")
Return
ENDIF
N = loCert.SerialNumber
noCertificado = SubStr(N,02,1)+SubStr(N,04,1)+SubStr(N,06,1)+SubStr(N,08,1)+SubStr(N,10,1)+;
SubStr(N,12,1)+SubStr(N,14,1)+SubStr(N,16,1)+SubStr(N,18,1)+SubStr(N,20,1)+;
SubStr(N,22,1)+SubStr(N,24,1)+SubStr(N,26,1)+SubStr(N,28,1)+SubStr(N,30,1)+;
SubStr(N,32,1)+SubStr(N,34,1)+SubStr(N,36,1)+SubStr(N,38,1)+SubStr(N,40,1)+;
SubStr(N,42,1)+SubStr(N,44,1)+SubStr(N,46,1)+SubStr(N,48,1)+SubStr(N,50,1)
Certificado = SubStr(loCert.GetEncoded(), 1, Len(loCert.GetEncoded()) - 2)
Return
mMil gracias por tu interés
Procedure SelloDigital
* Se genera el Sello Digital y ademas te da el numero de serie del certificado y el certificado
* Para obtener el sello digital tienes que instalar el componente ActiveX ChilKat
* Objetos
loPkey = CreateObject('Chilkat.PrivateKey')
If swError
MessageBox("No se puede crear el objeto Chilkat.PrivateKey",16+0,"Error")
return
endif
loRsa = CreateObject('Chilkat.Rsa')
If swError
MessageBox("No se puede crear el objeto Chilkat.Rsa",16+0,"Error")
return
endif
loCert = CreateObject('Chilkat.Cert')
If swError
MessageBox("No se puede crear el objeto Chilkat.Cert",16+0,"Error")
return
endif
* Load the Certificado
loCert.LoadFromFile(ArchivoCertificado)
If swError
MessageBox("No se encontro el archivo de certificado " + ArchivoCertificado ,16+0,"Error")
return
endif
* Load the private key from an RSA PEM file: * loPkey.LoadPemFile("myKey.pem")
loPkey.LoadPkcs8EncryptedFile(ArchivoKey, PasswordKey)
If swError
MessageBox("No se encontro el archivo de Llave (*.key) " + ArchivoKey ,16+0,"Error")
return
endif
* Get the private key in XML format:
lcPkeyXml = loPkey.GetXml()
If swError
MessageBox("No se obtener la llave privada " ,16+0,"Error")
return
endif
* Error
IF (lnSuccess <> 1) THEN
MessageBox("No se pudo desbloquer el componente ChilKat" ,16+0,"Error")
return
ENDIF
* Import the private key into the RSA component:
lnSuccess = loRsa.ImportPrivateKey(lcPkeyXml)
If swError
MessageBox("No se pudo importar la llave dentro del componente RSA " ,16+0,"Error")
Return
ENDIF
* OpenSSL uses BigEndian byte ordering:
loRsa.LittleEndian = 0
lorsa.Charset = "utf-8"
loRsa.EncodingMode = "base64"
strSello = loRsa.SignStringENC(strOriginal,"md5")
If swError
MessageBox("No se pudo obtenre el sello digital " ,16+0,"Error")
Return
ENDIF
N = loCert.SerialNumber
noCertificado = SubStr(N,02,1)+SubStr(N,04,1)+SubStr(N,06,1)+SubStr(N,08,1)+SubStr(N,10,1)+;
SubStr(N,12,1)+SubStr(N,14,1)+SubStr(N,16,1)+SubStr(N,18,1)+SubStr(N,20,1)+;
SubStr(N,22,1)+SubStr(N,24,1)+SubStr(N,26,1)+SubStr(N,28,1)+SubStr(N,30,1)+;
SubStr(N,32,1)+SubStr(N,34,1)+SubStr(N,36,1)+SubStr(N,38,1)+SubStr(N,40,1)+;
SubStr(N,42,1)+SubStr(N,44,1)+SubStr(N,46,1)+SubStr(N,48,1)+SubStr(N,50,1)
Certificado = SubStr(loCert.GetEncoded(), 1, Len(loCert.GetEncoded()) - 2)
Return
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
Quero suponer que ya intentaste :mtymty escribió:strSello = loRsa.SignStringENC(strOriginal,"md5")
Return
strSello = loRsa.SignStringENC(strOriginal,"sha1")
o talvez con un guion
strSello = loRsa.SignStringENC(strOriginal,"sha-1")
Es simple sintaxis......
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 10
- Registrado: Mié Feb 16, 2011 11:14 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
joooooo
No me digas que no dormí en tres días por eso
Deja verifico que me lo valide el Sat...por lo pronto skmacccccccccckkkkkk
No me digas que no dormí en tres días por eso





Deja verifico que me lo valide el Sat...por lo pronto skmacccccccccckkkkkk
-
- Mensajes: 10
- Registrado: Mié Feb 16, 2011 11:14 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
YUJUJUUUUUUUUUUUUUUUUUUUUUUUUUUUUuu
Si alguna vez vienes a Monterrey permíteme invitarte una ida al cabrito
Thanks!
Si alguna vez vienes a Monterrey permíteme invitarte una ida al cabrito
Thanks!
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
Seria de lujo.......es bien bonito recibir muestras de apoyo, no es por presumir pero tengo invitaciones para Oaxaca, Michoacan, Veracruz, Guadalajara y ahora Monterrey, que padre! pudiera recorrer media Republica y visitar a los amigos........mtymty escribió:YUJUJUUUUUUUUUUUUUUUUUUUUUUUUUUUUuu
Si alguna vez vienes a Monterrey permíteme invitarte una ida al cabrito
Thanks!

ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 10
- Registrado: Mié Feb 16, 2011 11:14 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
Y mira que para que te invite una coda de Monterrey!!!!!! Así que sí....tu presume presume jajajjajajaj Gracias y no es de dientes pajuera XD
-
- Mensajes: 17
- Registrado: Dom Ene 30, 2011 4:08 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
que tal, estoy usando el mismo codigo de hector el divino para firmar, y lo hace perfecto sin errores. pero al momento de validar en validacfd me muestra entre otros errores este: Esta usando la FIEL y eso no es correcto. DEBE USAR el Certificado de Sello Digital (CSD).
estoy usando los archivos que me da el sat.
xxx821214xxx.cer
xxx821214xxx_1101261111.key
y el password
* Load the Certificado
loCert.LoadFromFile('xxx821214xxx.cer')
* Load the private key from an RSA PEM file: * loPkey.LoadPemFile("myKey.pem")
loPkey.LoadPkcs8EncryptedFile('xxx821214xxx_1101261111.key', PasswordKey)
no se a que se refiera el error, al momento de timbrado me regresa el mismo error. como lo puedo solucionar.
estoy usando los archivos que me da el sat.
xxx821214xxx.cer
xxx821214xxx_1101261111.key
y el password
* Load the Certificado
loCert.LoadFromFile('xxx821214xxx.cer')
* Load the private key from an RSA PEM file: * loPkey.LoadPemFile("myKey.pem")
loPkey.LoadPkcs8EncryptedFile('xxx821214xxx_1101261111.key', PasswordKey)
no se a que se refiera el error, al momento de timbrado me regresa el mismo error. como lo puedo solucionar.
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
Debes solicitar OTRO certificado llamado CSD (Certificado de Sello digital) en apariencia es igual que la FIEL, son dos archivos uno CER y otro KEY pero se tramita por separado usando un programa llamado SOLCEDIaalanisg escribió:que tal, estoy usando el mismo codigo de hector el divino para firmar, y lo hace perfecto sin errores. pero al momento de validar en validacfd me muestra entre otros errores este: Esta usando la FIEL y eso no es correcto. DEBE USAR el Certificado de Sello Digital (CSD).
estoy usando los archivos que me da el sat.
xxx821214xxx.cer
xxx821214xxx_1101261111.key
y el password
* Load the Certificado
loCert.LoadFromFile('xxx821214xxx.cer')
* Load the private key from an RSA PEM file: * loPkey.LoadPemFile("myKey.pem")
loPkey.LoadPkcs8EncryptedFile('xxx821214xxx_1101261111.key', PasswordKey)
no se a que se refiera el error, al momento de timbrado me regresa el mismo error. como lo puedo solucionar.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!