XML de la llave privada en base64

1,295 views
Skip to first unread message

Arturo Ramos

unread,
Nov 7, 2011, 1:50:23 PM11/7/11
to vfp-factura-ele...@googlegroups.com
Hola foro,

Estoy haciendo las pruebas para la cancelación con el WS de FacturadorElectronico.com; las instrucciones dicen que debo obtener el XML de la llave privada en base64, las instrucciones dicen:

La llave privada es el XML contenido dentro del archivo .key.
Este XML es el que se pasa a base64 y se pone en el valor del elemento llaveCertificado.

Cómo se obtiene este valor ?, alguna idea ?

Utilizo OpenSSL.

Saludos.

Arturo Ramos
www.ircsasoftware.com.mx
Cancún, México.

Baltazar Moreno

unread,
Nov 7, 2011, 2:14:11 PM11/7/11
to vfp-factura-ele...@googlegroups.com
¿XML de la llave privada? Yo creo que está mal redactado.

Los PAC para poder hacer una cancelación te piden tanto el cer, el pass y la contrasela del CSD, por lo que yo creo que te piden los archivos en B64, no tanto un xml en b64.

Sería bueno que lo confirmaras con ellos.

Saludos!
--
Baltazar Moreno
VFP9SP2 - Win7
Guadalajara, Jalisco, México

Arturo Ramos

unread,
Nov 7, 2011, 3:17:23 PM11/7/11
to vfp-factura-ele...@googlegroups.com

Mira estas son las instrucciones completas

http://foro.facturadorelectronico.com/index.php?topic=3.msg5#msg5

Cómo lo entiendes?

Saludos.

Arturo Ramos
www.ircsasoftware.com.mx
Cancún, México

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/vfp-factura-electronica-mexico/-/UYy4VTao-2MJ.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.

Baltazar Moreno

unread,
Nov 7, 2011, 4:52:07 PM11/7/11
to vfp-factura-ele...@googlegroups.com
Ah mira.. no conocía ese formato.

Este te convierte el cer en b64 a xml:



Parece que con ésta utilería desde el cmd puedes lograrlo.


Habría que seguir buscando..

Suerte mi estimado.

Arturo Ramos

unread,
Nov 7, 2011, 6:18:05 PM11/7/11
to vfp-factura-ele...@googlegroups.com
Mira, Dado me dijo que con este comnado de openssl (http://www.validacfd.com/phpbb3/viewtopic.php?f=5&t=1284#p11397)

openssl pkcs8 -inform DER -in miarchivo.key -passin pass:micontrasena -out archivosalida.pem

Luego abrir el archivo .pem, quitarle las cabeceras y los saltos de linea y ya.

Pero el resultado que me da es diferente al que se muestra en la pag. de instrucciones del PAC, aun así le meti en la llamada y no funciona.

Voy a leer lo que me mandas pero debe ser algo más símple, creo.

Gracias.

Saludos

abolom

unread,
Nov 9, 2011, 3:53:48 AM11/9/11
to vfp-factura-electronica-mexico
espero te sirva de algo esto: el pac donde estoy timbrando
(sefactura), para cancelar:ellos me proporcionaron un kit en Java y
nada mas le paso los siguiente parametros (7): (datos de conexion),
folio fiscal, el archivo *.key, *.cer y la contraseña de la llave
privada del emisor. que son los mismos que utilizo para crear el xml
y me cancele los cfdi.

On 7 nov, 12:50, Arturo Ramos <ircs...@gmail.com> wrote:
> Hola foro,
>
> Estoy haciendo las pruebas para la cancelación con el WS de
> FacturadorElectronico.com; las instrucciones dicen que debo obtener el XML
> de la llave privada en base64, las instrucciones dicen:
>
> *La llave privada es el XML contenido dentro del archivo .key.
>
> > Este XML es el que se pasa a base64 y se pone en el valor del elemento
> > llaveCertificado.
> > *

Arturo Ramos

unread,
Nov 9, 2011, 9:05:10 AM11/9/11
to vfp-factura-ele...@googlegroups.com

Pero obtienes alguna salida de esto o te manda a cancelar directamente por que yo necesito armar una solicitud entre los datos de la solicitud esta este dato.

Estas utilerias son publias o son desarrollo del pac.

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.

Arturo Ramos

unread,
Nov 10, 2011, 11:06:11 AM11/10/11
to vfp-factura-ele...@googlegroups.com
Continuo con este problema, voy poniendo lo que tengo por si a alguien le sirve.

Ya se que lo que necesito es el: RSAKeyValue XML format

Encontré esta utilería que me muestra en pantalla el dato que estoy buscando:
http://www.jensign.com/opensslkey/index.html

genera:
...
Created an RSACryptoServiceProvider instance

XML RSA private key: 1024 bits
<RSAKeyValue><Modulus>zEYOvSjhN+o4bmBJAZ4d5L1NcEDpMXDQqOtey5/4LCbLIBDaW8pHSqL/C
9fZ2lpEUYBd+Os+OBBOyMzsdZVKfQB/oH3JJ0SEw0ZcYzhlhF3btUrNw+fugoHGk0xZnA8aCCYb1oTI
aFeG8U40sp8IKpyxU0kAYgg/oME5xf2Jk=</Modulus><Exponent>AQAB</Exponent><P>/Q2MSqg
hpfxWwtiewHXACF2j9fan5JwR4nMAsFWn2IalceHAB8EyJD+q7ON05jKoMvtG/IejudNLJxwM8G4wQ=
</P><Q>zqcUPjlKXNPkhT8KXPe3W7UZAScvBhVe3KpWbgg9yZCAaJi7ShcKW/Ncq8vSld5R1YJ1WfEv
olV1vhTjvR92Q==</Q><DP>2mASrWql15zP3+3XMqfHzokSM9fnBsXstw+nSsll421Z29+wFN6v1hWq
Komvm+gjVruZ6tty4y4AMOP4FpRAQ==</DP><DQ>gMPS9UK1d0oA5pX1WyBvfBFH11QXFO9UAKOS31T
SxFjMcmZSf05Uzo80D9cpE23KBb2EGkcUBNbDWwGhNkLYQ==</DQ><InverseQ>l5JahF7oUbYbEFko
7tqWw2+6AOkFlsEhKqP4fqgtKhw5r5krrDRCx05xqJlsQo7COXreImDrRIFkEPaMHoGgg==</Invers
Q><D>CYzc84sNvId+y+pEf4bc7uzKygy+2kjj+IHIlMyN1cKajI09KD10x9CHC/0ZgMQ03VHgj7JdS+
wJ0umBxJ2OMJpm5MhqKllVEbcBuROVM3xD38ocZcauCi2jFAJqpAcqzKGXdT4CQZ09t87ZjsXGULaoz
PowCTuHjNazZJ8AE=</D></RSAKeyValue>
...


El problema es que no hay forma de mandar la salida a un archivo o de alguna forma 'capturarla' para 'automatizar' la obtención del dato.

Utilizando esta otra utilería, el compañero Baltazar me ayudó a obtener una parte del XML ahora si en un archivo, el problema es que no se por que esta no funciona en mi equipo:
http://www.aleksey.com/xmlsec/

Con estos comandos, partiendo del PEM del .key:
Código:
openssl pkcs8 -inform DER -in archivo_llave.key -passin pass:12345678 -out archivo_llave.pem
xmlsec.exe --keys --pkcs8-pem archivo_llave.pem rsakeyxml.txt


obtengo:
<?xml version="1.0"?>
<Keys xmlns="http://www.aleksey.com/xmlsec/2002">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyValue>
<RSAKeyValue>
<Modulus>
1KHjZtqkEv1ECTgubPkBz6KrF2oVycKyjtDCHGOsr0iSc8pSRVU8L0BFIxMX5X3b
c00C6BxrZDo/f/CIjusnmSX7dO7SXM0EC6VBeBh4PcHz9cVTQ9tLJMnuxH60xkyQ
XQCmoYPUxWNtLX5N8NWmwRUGlfo9SFL8VgsP3X8bnZk=
</Modulus>
<Exponent>
AQAB
</Exponent>
<PrivateExponent xmlns="http://www.aleksey.com/xmlsec/2002">
PEg5RCuwYIHVDBgVcWeXD9q6TsUQsEa2gK7GmW3Yw0j73D/72xQzH+JEt5DuMW3h
DWtD67JC8ANjhU4YKQyaCNi1bTJ4FRbGR/h8RYJIWz/ig9NyCvd1ucnXWD2dv2v1
VsPP47/szPeFNY4JEJQ0mqMttjl2WVXm0mIrRXJQABE=
</PrivateExponent>
</RSAKeyValue>
</KeyValue>
</KeyInfo>
</Keys>


Es una parte pero es un avance, bueno, si hago que la librería funcione en mi computadora =(

Algunas referencias adicionales:
Me dicen que con cryptosys se puede, no le he verificado, intentare no tener que cambiar, http://www.cryptosys.net/pki/hexkeyimport.html
Esta es la salida completa de la primera utilería, igual y hay datos de utilidad para otras funciones, http://www.jensign.com/opensslkey/sampleout.txt

Bueno, en cuanto este resuelto les informo; si alguien tiene una idea de cómo hacerlo mejor.

Saludos.

faraon

unread,
Nov 10, 2011, 1:23:37 PM11/10/11
to vfp-factura-ele...@googlegroups.com
Aver si no meto la pata, porque no he leido todo tu hilo, pero por qué no utilizas chilkat?

Arturo Ramos

unread,
Nov 10, 2011, 1:29:18 PM11/10/11
to vfp-factura-ele...@googlegroups.com
Por que utilizo openssl y chilkat cuesta, si, si... ya se... estoy tratando de evitar el gasto, si se puede =) ... si no se puede pues, ya que.

Dime una cosa, cómo lo hago con chilkat, sabes ?

Saludos.

Arturo Ramos
www.ircsasoftwre.com.mx
Cancún, México.

faraon

unread,
Nov 10, 2011, 4:41:52 PM11/10/11
to vfp-factura-ele...@googlegroups.com

Arturo Ramos

unread,
Nov 10, 2011, 6:27:27 PM11/10/11
to vfp-factura-ele...@googlegroups.com
Gracias,

En las instrucciones del PAC esta la opción de hacerlo con chilkat, gracias por la referencia exacta por lo que veo no me va a quedar de otra =(

Baltazar Moreno

unread,
Nov 11, 2011, 10:39:50 AM11/11/11
to vfp-factura-ele...@googlegroups.com
Arturo, según me comentaste el PAC te daba todo el código en .net, porqué no haces un componente (exe) que le pases dos parametros, 1 - el key 2 - el xml que debe generar y lo automatizas desde VFP ? (Si es c# puedo ayudarte).

Digo con eso no tendrías que pagar por chilkat y tendrías el sartén por el mango, lo malo que tendrías que instalar .net framework con tus clientes.

Por cierto, te envié un correo con la respuesta del creador de xmlsec.

Saludos!
Reply all
Reply to author
Forward
0 new messages