*SSL_fingerprint*
-: Fingerprint of the server certificate (or its public key) in the
- form `[ALGO$]DIGEST_HEX`, where `ALGO` is the used algorithm
- (by default `sha256`).
+: Fingerprint of the server certificate's Subject Public Key Info, in
+ the form `[ALGO$]DIGEST_HEX` where `ALGO` is the used algorithm (by
+ default `sha256`).
Attempting to connect to a server with a non-matching certificate
- fingerprint causes `interimap` to abort the connection during the
- SSL/TLS handshake.
+ SPKI fingerprint causes `interimap` to abort the connection during
+ the SSL/TLS handshake.
+
+ You can use the following command to compute the SHA-256 digest of
+ certificate's Subject Public Key Info.
+
+ openssl x509 -in /path/to/server/certificate.pem -pubkey \
+ | openssl pkey -pubin -outform DER \
+ | openssl dgst -sha256
*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;
}
*SSL_fingerprint*
-: Fingerprint of the server certificate (or its public key) in the
- form `[ALGO$]DIGEST_HEX`, where `ALGO` is the used algorithm
- (by default `sha256`).
+: Fingerprint of the server certificate's Subject Public Key Info, in
+ the form `[ALGO$]DIGEST_HEX` where `ALGO` is the used algorithm (by
+ default `sha256`).
Attempting to connect to a server with a non-matching certificate
- fingerprint causes `pullimap` to abort the connection during the
- SSL/TLS handshake.
+ SPKI fingerprint causes `pullimap` to abort the connection during
+ the SSL/TLS handshake.
+
+ You can use the following command to compute the SHA-256 digest of
+ certificate's Subject Public Key Info.
+
+ openssl x509 -in /path/to/server/certificate.pem -pubkey \
+ | openssl pkey -pubin -outform DER \
+ | openssl dgst -sha256
*SSL_verify*