• Publicidad

Autentificar con certificado digital

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Autentificar con certificado digital

Notapor audax » 2017-09-21 10:51 @493

Buenas, gente. Tengo un tema que no puedo resolver, a ver si alguien lo ha visto.

Resulta que tengo que autenticarme en una página y para ello necesito tener un certificado digital personal (.pfx).
Esto es lo que hago.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use warnings;
  2. use Data::Dumper;
  3. use IO::File;
  4. use strict;
  5. use WWW::Mechanize;
  6. use IO::Socket::SSL qw(debug4);
  7.  
  8. my $sslPassword = 'PASSCERTIFICADO';
  9. my $mech = WWW::Mechanize->new(autocheck => 0);
  10. $mech->ssl_opts(  SSL_use_cert => 1,
  11.                   verify_hostname => 1,
  12.                   SSL_cert_file => "certificado.pfx",
  13.                   SSL_passwd_cb => sub { $sslPassword }
  14.                );
  15.  
  16. my $url = "https://zeusr.sii.cl/AUT2000/InicioAutenticacion/IngresoCertificado.html?https://palena.sii.cl/cgi_dte/consultaDTE/wsDTEConsRecContHtml.cgi";
  17. $mech->agent_alias('Windows Mozilla');  
  18. $mech->get($url);
  19. $mech->submit();
  20. my $content = $mech->content;
  21. print $content;
  22. my $fh2 = new IO::File(">data.html");
  23. print $fh2 $content;
  24. print $content;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El sitio me responde con un código interno el cual significa "Se recomienda cerrar el browser (página de navegación) e intentarlo de nuevo".

De antemano, muchas gracias.
Salu2
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594

Publicidad

Re: Autentificar con certificado digital

Notapor explorer » 2017-09-21 11:22 @515

Yo creo que no puedes usar el formato pfx de forma directa, sino que debes usar la herramienta openssl para extraer los certificados que vas a usar en formato PEM:

openssl pkcs12 -in certificado.pfx -out micertificados.crt -nokeys -clcerts

Si en vez de formato PEM lo necesitas en formato DEM, hay que ejecutar además esta línea para obtenerlos:

openssl x509 -inform pem -in micertificados.crt -outform der -out mycertificados.cer

Aquí tienes otros métodos para extraer los certificados.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Autentificar con certificado digital

Notapor audax » 2017-09-21 12:11 @549

Gracias, explorer siempre tan amable.

Pues lo que tu dices ya lo había probado:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $mech->ssl_opts(  SSL_use_cert => 1,
  2.         verify_hostname => 0,
  3.         SSL_cert_file => 'my.pem',
  4.         SSL_key_file => 'mykey.pem',
  5.         SSL_passwd_cb => sub { $sslPassword }
  6.         );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y me da exactamente el mismo problema. Ya confirmé que el certificado está vigente, porque lo tengo instalado en mi equipo y puedo acceder al sitio vía web, por Firefox, Chrome o Internet Explorer.

Salu2
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594

Re: Autentificar con certificado digital

Notapor audax » 2017-09-21 15:57 @706

Me autorespondo. ¡¡¡Lo pude resolver!!!

Resulta que sí estaba bien configurado el certificado .pfx, lo que pasaba era que el enlace de la página no era exactamente donde se aceptaba el certificado. Además le faltaba un parámetro en el mismo enlace el cual redireccionaba la navegación a una página dentro del sitio ya autenticado.

Hay que tener mucho ojo con qué página uno se autentica con un certificado digital, ya que yo estaba probando con una directamente anterior a la que necesitaba.

Saludos y gracias, explorer, por tu ayuda.
audax
Perlero nuevo
Perlero nuevo
 
Mensajes: 56
Registrado: 2013-06-03 13:16 @594


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado