如何在perl中使用数字签名签署pdf文件?我能够提取pdf的内容并通过
生成签名字符串#$ content - > pdf要签名的内容
my $ private_key Crypt :: OpenSSL :: RSA-> new_private_key($ key_string);
$ private_key-> use_md5_hash();
my $ signature = $ private_key-> sign($ content);
因此,$签名可以转换为十六进制格式,但我不知道如何将其添加到PDF文件中。我知道十六进制形式的签名应放在/ Contents字段中,签名文本的范围由/ ByteRange数组给出。
是否有任何模块用于此目的?或者你可以给我任何建议怎么做?感谢
答案 0 :(得分:2)
你可能会觉得这个剧本很有意思...... http://mschuette.name/files/pdfsign.pl它使用PDF :: API2和Crypt :: OpenSSL来表达它的神奇......它可以作为创建你自己的东西的基础。
答案 1 :(得分:0)
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();
my $signature = $private_key->sign($plaintext);