在perl中将签名添加到PDF中

时间:2012-10-17 14:07:26

标签: perl pdf digital-signature

如何在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数组给出。

是否有任何模块用于此目的?或者你可以给我任何建议怎么做?感谢

2 个答案:

答案 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);