From: Fabian Grünbichler Date: Wed, 6 Nov 2019 12:36:02 +0000 (+0100) Subject: cert: add fingerprint helper X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=4e91db0ae8897f6bc0f4750760bd2be36e455147 cert: add fingerprint helper for usage in pve-cluster's certificate cache. Signed-off-by: Fabian Grünbichler --- diff --git a/src/PVE/Certificate.pm b/src/PVE/Certificate.pm index 5ab920f..2421f3f 100644 --- a/src/PVE/Certificate.pm +++ b/src/PVE/Certificate.pm @@ -216,6 +216,20 @@ sub convert_asn1_to_epoch { return Date::Parse::str2time($iso_time); } +sub get_certificate_fingerprint { + my ($cert_path) = @_; + + my $cert = $read_certificate->($cert_path); + + my $fp = Net::SSLeay::X509_get_fingerprint($cert, 'sha256'); + Net::SSLeay::X509_free($cert); + + die "unable to get fingerprint for '$cert_path' - got empty value\n" + if !defined($fp) || $fp eq ''; + + return $fp; +} + sub get_certificate_info { my ($cert_path) = @_;