Hallo,
ich habe das Problem wie ich TLSv1.2 bei LWP überprüfen kann.
Kennt jemand dazu eine Möglichkeit?
EDIT: Aktueller Cipher wird in den Header für LWP geschrieben.
Code um nur TLSv1.2 mit LWP zu erlauben:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(
ssl_opts => {
SSL_version => 'TLSv12:!SSLv2:!SSLv3:!TLSv1:!TLSv11',
verify_hostname => 0,
SSL_verify_mode => SSL_VERIFY_NONE
}
);
$ua->timeout(10);
my $response = $ua->get('https://www.perl-community.de/');
if($response->is_success){
print $response->decoded_content;
}else{
die $response->status_line;
}
Ich fande keine Möglichkeit entweder die SSL_version oder die Cipher abzufragen. Siehe auch
http://www.openssl.org/docs/apps/ciphers.html#CIPH...
Beispiel mit
IO::Socket::SSL um den Cipher zu erfahren:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use IO::Socket::SSL;
my $client = IO::Socket::SSL->new(
PeerAddr => 'www.perl-community.de',
PeerPort => '443',
Proto => 'tcp',
SSL_verify_mode => 0,
SSL_version => 'TLSv12:!SSLv2:!SSLv3:!TLSv1:!TLSv11'
);
if(defined $client){
print $client "GET / HTTP/1.0\r\n\r\n";
print <$client>;
close $client;
}else{
warn "I encountered a problem: ",IO::Socket::SSL::errstr();
}
exit;
Möchte es möglichst mit LWP realisieren um nicht auf andere Module (low level) bzw. Libs wie Curl ausweichen zu müssen.
Zertifikate prüfe ich normal auch aber für den Test nicht sinnvoll. Habe meine Browser sowieso schon auf nur TLSv1.2 und höher eingestellt.
Hinweis: Die Beispiele funktionieren einwandfrei. Einfach perl-community.de gegen google.de als Beispiel tauschen.
Das zweite Problem ist das perl-community.de nur TLSv1 kann. Mag einer mal den Apache/mod_ssl aktualisieren? TLSv1.2 wird in aktuellen Versionen von Apache, nginx und Lighttpd unterstützt. Viele nutzen noch TLSv1 only. Bei Banken finde ich es allerdings bedenklich. Siehe
http://www.kuketz-blog.de/nsa-abhoersichere-ssl-ve...
Ich fühle mich sonst nicht mehr sicher in diesem Forum!
Last edited: 2013-10-20 15:41:25 +0200 (CEST)