我参与了这个涉及发送签名数据的项目。
我已经获得了一个 .pem 文件和一个服务器证书,我应该将其导入到另一台服务器,我应该使用这些文件对数据进行签名,然后将签名的数据发送到另一台服务器进行验证和处理。
我的问题是:
- 如何将这两个文件导入到我的服务器中?
- 如何使用 perl 使用文件对数据进行签名?
需要注意的是,我是导入到linux(Suse)中的。
这就是我到目前为止所做的
我已将 .pem 文件添加到 /etc/ssl
我使用下面的代码从 .pem 文件中读取,然后对数据进行签名
my $rsa = new Crypt::RSA;
my $file = 'path to file';
my $key = new Crypt::RSA::Key::Private( Filename => $file , Password => "*****");
my $signature = $rsa->sign(Message => $data, Key => $key, Armour => 0);
当我尝试运行如下脚本时出现错误
裸字找到了操作员预期的 (eval 30) 第 4 行,靠近“/S2YUeaABL1sO3rk4HhjyDSMIJoc91n.....”
我注意到 .pem 文件的内容在文件内有斜杠,这导致了这些问题。
见样本
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCMdoWd+LEk22TMaEihLqwl8tJtuFzndJ8dTGrLw6twjfAeV0sg
PsDQbVu5/S2YUeaABL1sO3rk4HhjyDSMIJoc91nfE3kYueRxEA9eL5JlxPDg2Z3s
Read 通过复制和粘贴导入证书和私钥 http://www.cisco.com/en/US/products/hw/modules/ps2706/products_configuration_example09186a008037d1c8.shtml
-
Perl 中的 RSA 签名 (未经测试的代码):
use Crypt::OpenSSL::RSA;
use File::Slurp;
my $keystring = read_file('private_key.pem');
my $private_key = Crypt::OpenSSL::RSA->new_private_key($keystring);
$private_key->use_md5_hash(); # use_sha1_hash is the default
my $signature = $private_key->sign($plaintext);
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)