我正在尝试使用正确的库在perl中进行以下两个调用:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
这些是最佳选择吗? CPAN_Crypt_OpenSSL_X509 CPAN_Crypt_OpenSSL_RSA
还是可以在:Net :: SSLeay中完成?
指向示例的指针肯定会有所帮助。
答案 0 :(得分:0)
您只需比较模数的十六进制字符串即可获得相同的结果,而无需进行摘要。 Crypt::OpenSSL::X509
和Crypt::OpenSSL::RSA
具有执行此操作的必要方法:
my $x509_cert = Crypt::OpenSSL::X509->new_from_string('...');
my $pkey = Crypt::OpenSSL::RSA->new_private_key('...');
my ($key_modulus) = $pkey->get_key_parameters;
if ($x509_cert->modulus eq $key_modulus->to_hex) {
# same modulus
}
else {
# different
}