CALCULO DE TIMBRE ELECTRÓNICO OPENSSL
Ejemplo del SII
El SII en su documento Manual de Certificación
Titulo : TIMBRE ELECTRONICO DE EJEMPLO
pagina: 25
Descargar Manual Certificación SII
Del XML indicado se arma el string que será firmado (Mensaje)
Mensaje=
<DD><RE>97975000-5</RE><TD>33</TD><F>27</F><FE>2003-09-08</FE>
<RR>8414240-9</RR><RSR>JORGE GONZALEZ LTDA</RSR><MNT>502946</M
NT><IT1>Cajon AFECTO</IT1><CAF version="1.0"><DA><RE>97975000-
5</RE><RS>RUT DE PRUEBA</RS><TD>33</TD><RNG><D>1</D><H>200</H>
</RNG><FA>2003-09-04</FA><RSAPK><M>0a4O6Kbx8Qj3K4iWSP4w7KneZYe
J+g/prihYtIEolKt3cykSxl1zO8vSXu397QhTmsX7SBEudTUx++2zDXBhZw==<
/M><E>Aw==</E></RSAPK><IDK>100</IDK></DA><FRMA algoritmo="SHA1
withRSA">g1AQX0sy8NJugX52k2hTJEZAE9Cuul6pqYBdFxj1N17umW7zG/hAa
vCALKByHzdYAfZ3LhGTXCai5zNxOo4lDQ==</FRMA></CAF><TSTED>2003-09
-08T12:28:31</TSTED></DD>
Archivo: mensaje.txtDesde el Código de Autorización de Folios (CAF) el SII entrega la llave privada enformato PEM con la cual se firmará el Mensaje.
-----BEGIN RSA PRIVATE KEY-----MIIBOwIBAAJBANGuDuim8fEI9yuIlkj+MOyp3mWHifoP6a4oWLSBKJSrd3MpEsZdczvL0l7t/e0IU5rF+0gRLnU1Mfvtsw1wYWcCAQMCQQCLyV9FxKFLW09yWw7bVCCdxpRDr7FRX/EexZB4VhsNxm/vtJfDZyYle0Lfy42LlcsXxPm1w6Q6NnjuW+AeBy67AiEA7iMi5q5xjswqq+49RP55o//jqdZL/pC9rdnUKxsNRMMCIQDhaHdIctErN2hCIP9knS3+9zra4R+5jSXOvI+3xVhWjQIhAJ7CF0R0S7SIHHKe04NUURf/7RvkMqm108k74sdnXi3XAiEAlkWk2vc2HM+a1sCqQxNz/098ketqe7NuidMKeoOQObMCIQCkFAMS9IcPcMjk7zI2r/4EEW63PSXyN7MFAX7TYe25mw==-----END RSA PRIVATE KEY-----
El resultado obtenido de la firma RSA-SHA1, utilizado la llave privada sobre el
mensaje es:
pqjXHHQLJmyFPMRvxScN7tYHvIsty0pqL2LLYaG43jMmnfiZfllLA0wb32lP+HBJ/tf8nziSeorvjlx410ZImw==
CALCULO DE TIMBRE ELECTRÓNICO OPENSSL
Pasos:
1. Quitar el retorno de carro y saltos de linea del archivo mensaje.txt con la siguiente secuencia de
comandos
tr -d "\n\r" < mensaje.txt > mensaje2.txt
2. Con el archivo de texto mensaje2.txt y la clave privada, contenida en el archivo clave.pem
calcular la firma RSA-SHA1 con openssl, mediante la siguiente secuencia.
openssl dgst -sha1 -sign clave.pem -out sha1.sign mensaje2.txt
3. El resultado de la firma RSA-SHA1 se guardará en el archivo sha1.sign, generado en el paso 2,
el cual deberá ser convertido a base 64 de la siguiente forma:
base64 sha1.sign > resultado.txt
4. Con el comando cat se visualizará la respuesta.
cat resultado.txt
pqjXHHQLJmyFPMRvxScN7tYHvIsty0pqL2LLYaG43jMmnfiZfllLA0wb32lP+HBJ/
tf8nziSeorvjlx410ZImw==
Comentarios
Publicar un comentario