2012-10-17 50 views
5

どのようにしてperlでデジタル署名を使用してpdfファイルに署名できますか?perlのPDFに署名を追加

私の$ PRIVATE_KEY墓所:: OpenSSLの:: RSA-> new_private_key($ key_stringを締結する> PDFコンテンツ - 私は

の#$コンテンツを経由してPDFファイルの内容を抽出し、署名文字列を生成することができますよ);
$ private_key-> use_md5_hash();
my $ signature = $ private_key-> sign($ content);

したがって、$署名は16進形式に変換できますが、PDFファイルに追加する方法はわかりません。私は、16進形式の署名は/ Contentsフィールドに置かれ、署名されたテキストの範囲は/ ByteRange配列によって与えられることを知っています。

この目的のためのモジュールはありますか?それともどうすればいいのかアドバイスをいただけますか?おかげ

答えて

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); 
+1

ありがとうございました。これがシグネチャ作成の原則です。しかし、PDFフォーマットは、文書そのものに埋め込まれる署名のサポートを含むという点で独特です。ですから、「署名を作成する方法」ではなく、「署名をPDFに埋め込む方法」が問題です。 それを可能にするPerlモジュールがない場合(iText for Javaのようなもの)、このプロセスの説明と説明へのリンクがあります。 Javaでは、これはiTextライブラリ経由で行うことができます。しかし、私はperlでそれを行う必要があります。したがって、もし存在しなければ – user1753233

1

あなたが面白いこのスクリプトを見つけることが... http://mschuette.name/files/pdfsign.plそれはそれはおそらくあなた自身の何かを作成するための基礎となる可能性が...その魔法のTODO PDF :: API2と墓所:: OpenSSLを使用しています。

関連する問題