martes, enero 29, 2008

WGET: Uso de certificados.

A veces es necesario usar una herramienta off-line para la verificación de sitios https de forma remota o para bajarse ficheros de sitios protegidos con certificados.

Para este tipo de tareas la herramienta perfecta es, sin duda, wget. Existen versiones para Unix, VMS, Windows y MS-DOS con packet drivers.

El procedimiento para usarlo con certificados sería algo así (no esta totalmente verificado):

1. Escribimos la URL a la que queremos acceder la copiamos en el fichero testurl.txt


2. Suponiendo que estemos usando Unix y que tengamos el certificado en un fichero cert.pfx:

Primero debemos convertir el fichero cert.pfx en un fichero cert.pem:

openssl pkcs12 -in cert.pfx -out cert.pem -nodes

Del fichero cert.pem copiamos el certificado al fichero "cert":

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Y la clave al fichero "key":

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

3. A continuación ejecutamos la consulta con el wget:

$ wget -i testurl.txt --certificate=cert --private-key=key --no-check-certificate

--11:42:59-- https://sitio.com/miurl/objetivo.html
=> `objetivo.html'
Resolving sitio.com... 123.456.789.1
Connecting to sitio.com|123.456.789.1|:443... connected.
WARNING: Certificate verification error for sitio.com: self signed certificate in certificate chain
HTTP request sent, awaiting response... 200 OK
Length: 214 [text/html]

100%[===================================================>] 214 --.--K/s

11:42:59 (21.45 MB/s) - `objetivo.html' saved [214/214]


FINISHED --11:42:59-- Publicar entrada
Downloaded: 214 bytes in 1 files

Listo, si miramos en el fichero "objetivo.html" veremos la respuesta.

No hay comentarios: