在perl中将签名添加到PDF中

在perl中将签名添加到PDF中,perl,pdf,digital-signature,Perl,Pdf,Digital Signature,如何在perl中使用数字签名对pdf文件进行签名?我能够提取pdf的内容,并通过 #$content->要签名的pdf内容 我的$private\u key Crypt::OpenSSL::RSA->new\u private\u key($key\u string) $private_key->use_md5_hash() my$signature=$private_key->sign($content) 因此,$签名可以转换为十六进制格式,但我不知道如何将其添加到PDF文件中。我知道十六进制

如何在perl中使用数字签名对pdf文件进行签名?我能够提取pdf的内容,并通过

#$content->要签名的pdf内容

我的$private\u key Crypt::OpenSSL::RSA->new\u private\u key($key\u string)
$private_key->use_md5_hash()
my$signature=$private_key->sign($content)

因此,$签名可以转换为十六进制格式,但我不知道如何将其添加到PDF文件中。我知道十六进制形式的签名应该放在/Contents字段中,签名文本的范围由/ByteRange数组给出


是否有用于此目的的模块?或者你能给我一些建议吗?谢谢

您可能会发现这个脚本很有趣。。。它使用PDF::API2和Crypt::OpenSSL来实现它的神奇。。。它可能会成为你自己创作东西的基础。

谢谢。这是创建签名的原则。但PDF格式的独特之处在于它支持将签名嵌入文档本身。因此,问题不是“如何创建签名?”,而是“如何将签名嵌入PDF?”。如果没有一个Perl模块支持它(类似于Java的iText),我希望有一些链接来描述和解释这个过程。在Java中,这可以通过iText库完成。但是我需要用perl来做。所以如果没有
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);