Cuando se desarrolla un sistema de emisión de DTEs en Java, uno de las primeras tareas es "procesar" el archivo XML de autorización de Folios que se descarga desde el SII, con la intención de recuperar la llave privada y llave pública del CAF. La llave privada se utiliza para firmar el timbre de todos los DTEs que utilizarán este rango de folios.
Para usar la llave privada que entrega el SII en Java, se debe hacer una transformacion sobre ella, dicha transformación se puede hacer con la herramienta OpenSSL:
Para usar la llave privada que entrega el SII en Java, se debe hacer una transformacion sobre ella, dicha transformación se puede hacer con la herramienta OpenSSL:
http://gnuwin32.sourceforge
http://www.openssl.org (linux)
Se sugiere descargar e instalar la herramienta y utilizarla con el comando "pkcs8", que de acuerdo a la documentación:
http://www.openssl.org/docs
Permite transformar una llave privada de formato tradicional a un formato pkcs8 que puede ser leido y manipulado con Java. A la ejecución del comando se debe dar como entrada la llave privada que entrega el SII (sólo la llave, la que se encuentra dentro de los tags
openssl pkcs8 -in llaveSII.pem -topk8 -nocrypt -out llaveOK.pem
en donde llaveSII.pem es la llave que entrega el SII (lo que viene entre las lineas "-----BEGIN RSA PRIVATE KEY-----" y "-----END RSA PRIVATE KEY-----", incluidas estas lineas) y llaveOK.pem es el nombre del archivo que tendrá la llave transformada, y es la que debe usar con Java para crear el PrivateKey.
1 comentario:
buenas, una consulta.
que significa esto :
ERROR, durante la ejecucion ocurrio un problema: cl.sii.dte.TimbreException: EL CAF no corresponde a este timbre con stacktrace: [Ljava.lang.StackTraceElement;@1e893df
si existe alguna idea o comentario, por favor enviar un correo a:
Néstor Alvarado
nalvarado@autopro2000.cl
gracias
Publicar un comentario