サーバー上の暗号化された PDF の証明書 (現時点では自己署名) を生成したいと思います。私にとって興味深いのは、TCPDF でそれを行う方法に関するワークフローです。
私がしたこと:
1) キーを生成します。
openssl req -x509 -nodes -days 365000 -newkey rsa:1024
openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
.crt
2) 次に、 - ファイルを使用して PDF を生成します。
3) 次に、acrobat リーダーを起動し、証明書をインストールしました ( tcpdf.p12
)。ドキュメント - >セキュリティ設定 - >デジタルIDを使用しました
4) セキュリティ設定をインポートできましたが、それでも PDF を開くことができません。私がそれを正しく行っているかどうかわかりませんか?acrobat Reader 9.5.4 で、パスワードを入力するとダイアログが開くとどうなりますか。パスワードを入力するとエラーが表示されます -> 不明なエラー -> CRecipientList-218
5) 使用したコード (基本的に同じ)
$certificate = 'file://../tcpdf.crt';
$info = array(
'Name' => 'TCPDF',
'Location' => 'Office',
'Reason' => 'Testing TCPDF',
'ContactInfo' => 'http://www.tcpdf.org',
);
$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info);
$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', owner_pass=null, $mode=1, $pubkeys=array(array('c' => 'file://../tcpdf.crt', 'p' => array('print'))));
次の例を組み合わせました。
http://www.tcpdf.org/examples/example_052.phps
http://www.tcpdf.org/examples/example_016.phps
PS: 非常に実用的な例だと思います。私が行っている手順を理解しやすいと思いました。
質問:
暗号化を使用して PDF の証明書にアプローチする方法 (!) について、ワークフローは一般的に正しいですか?
ファイルを生成するときは、
.p12
後で証明書を acrobat にインポートしたときに使用したそのファイルのパスワードを入力する必要があります。「生成時に」パスワードを提供する可能性もあるからです。ワークフローが正しい場合...どうすれば問題を解決できますか?