X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FCertificate.pm;h=65c5c8f6f2f5c2a1e73d7236b9229dc76b56bd1f;hp=691e70b621b9a66017fb4a5dc5974c4750353e87;hb=afa3f36910db2937248f085be393289fc28330c6;hpb=cca9c8642def0a31b4a434692e44bac1354c8648 diff --git a/src/PVE/Certificate.pm b/src/PVE/Certificate.pm index 691e70b..65c5c8f 100644 --- a/src/PVE/Certificate.pm +++ b/src/PVE/Certificate.pm @@ -260,6 +260,14 @@ sub get_certificate_info { $info->{san} = $parse_san->(Net::SSLeay::X509_get_subjectAltNames($cert)); $info->{pem} = Net::SSLeay::PEM_get_string_X509($cert); + my $pub_key = eval { Net::SSLeay::X509_get_pubkey($cert) }; + warn $@ if $@; + if ($pub_key) { + $info->{'public-key-type'} = Net::SSLeay::OBJ_nid2sn(Net::SSLeay::EVP_PKEY_id($pub_key)); + $info->{'public-key-bits'} = Net::SSLeay::EVP_PKEY_bits($pub_key); + Net::SSLeay::EVP_PKEY_free($pub_key); + } + Net::SSLeay::X509_free($cert); $cert_path =~ s!^.*/!!g;