2017-01-03 12 views
1

私は、ユーザーがPDFにデジタル署名できるアプリケーションを構築しています。私はplugPDF SDKを使用しています。バイト範囲のダイジェストを生成するためのサポートは組み込まれていないので、私はそれを自分で行う必要があります。私はPKCS#7オブジェクトを生成し、このハッシュからバイト範囲ダイジェストを計算する

openssl dgst -hex -sha256 -sign privateKey.pem -out encrypted.out invoice.content 

:PlugPDF私はターミナルで署名されたハッシュを生成し、そこからPDFコンテンツ生成

openssl cms -in encrypted.out -sign -signer signer.pem -outform der -out cert.p7b 

をそれからplugPDF SDKを使用してPDFに注入します。 Adobe Acrobatで開くと、PDFに署名が付いていますが、署名は無効です。 「署名が適用されてからドキュメントが変更または破損しています。」

問題はハッシュ値が間違っていると思われますが、それ以外にどのように生成するのかわかりません。

ここ例チュートリアルだ:https://plugpdf.com/how-to-sign-pdf-document-with-pki-certificate-on-ios/

答えて

0

バイトは、ダイジェスト値が前と署名を追加した後、同じでなければならないように、典型的には、署名が注入されるPDFの領域を除外したPDFダイジェストの範囲です。それらが同じでない場合、ファイルは署名されてから何らかの形で変更されているという前提があります。

opensslのdgstコマンドでは、不連続なバイト範囲を指定することはできません。

+0

PlugPDF SDKはinvoice.contentファイルを生成します。彼らはそれがダイジェストを計算するための源だと言います。私が使用している署名プロセスが正しいと仮定し、問題はinvoice.contentが正しく生成されないということですか? –

関連する問題