aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2016-12-01 14:26:37 +0100
committerGuilhem Moulin <guilhem@fripost.org>2016-12-01 14:26:37 +0100
commitb399fbee737ebe99491bf1370002bbff00a784e0 (patch)
treeab00dc6b6e97ad8f8cabedbac71a4c5361a81833 /lib
parent986edff592c159cb9057e960f380057ff06da939 (diff)
"fingerprint" now only pins the cert's SPKI, not the cert itself.
Diffstat (limited to 'lib')
-rw-r--r--lib/Net/IMAP/InterIMAP.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm
index a899831..7a1ba34 100644
--- a/lib/Net/IMAP/InterIMAP.pm
+++ b/lib/Net/IMAP/InterIMAP.pm
@@ -1539,8 +1539,8 @@ sub _ssl_verify($$$) {
my $type = Net::SSLeay::EVP_get_digestbyname($algo)
or $self->_ssl_error("Can't find MD value for name '$algo'");
- if (Net::SSLeay::X509_digest($cert, $type) ne $digest and
- Net::SSLeay::X509_pubkey_digest($cert, $type) ne $digest) {
+ my $pkey = Net::SSLeay::X509_get_X509_PUBKEY($cert);
+ unless (defined $pkey and Net::SSLeay::EVP_Digest($pkey, $type) eq $digest) {
$self->warn("Fingerprint doesn't match! MiTM in action?");
$ok = 0;
}