openssl x509&;perl-Net::SSLeay中的rsa?

openssl x509&;perl-Net::SSLeay中的rsa?,perl,encryption,openssl,rsa,x509certificate,Perl,Encryption,Openssl,Rsa,X509certificate,我尝试使用正确的库在perl中进行以下两个调用: openssl x509-noout-module-in server.crt | openssl md5 openssl rsa-noout-module-in server.key | openssl md5 以下是最佳选择: CPAN_Crypt_OpenSSL_X509 CPAN_Crypt_OpenSSL_RSA 或者可以在:Net::SSLeay中完成 一个例子的指针肯定会有所帮助 只需比较模的十六进制字符串即可获得相同的结果,无需进

我尝试使用正确的库在perl中进行以下两个调用:

openssl x509-noout-module-in server.crt | openssl md5

openssl rsa-noout-module-in server.key | openssl md5

以下是最佳选择: CPAN_Crypt_OpenSSL_X509 CPAN_Crypt_OpenSSL_RSA

或者可以在:Net::SSLeay中完成


一个例子的指针肯定会有所帮助

只需比较模的十六进制字符串即可获得相同的结果,无需进行摘要
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
}

这些命令对我来说没有多大意义。使用这些命令您试图得到什么?如果您的目标是检查证书中的私钥是否与公钥匹配,那么您可以简单地将它们结合使用来构建测试服务器。除此之外,Crypt::OpenSSL::X509还有一个模块函数和Crypt::OpenSSL::RSA一个get_key_参数,这可能会对您有所帮助。在没有实际启动服务器的情况下,我想验证这些,这就是我问的原因。