首页 文章

在perl中将签名添加到PDF中

提问于
浏览
5

如何在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

    你可能会发现这个脚本很有趣...... http://mschuette.name/files/pdfsign.pl它使用PDF :: API2和Crypt :: OpenSSL来实现它的神奇......它可以作为创建你自己的东西的基础 .

  • 2
    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);
    

相关问题