Zertifikat für TCPDF
Ich würde gerne erzeugen ein Zertifikat(self-signed im moment) für eine verschlüsselte PDF-Datei auf dem server. Was für mich interessant ist der workflow auf, wie das mit TCPDF.
, Was ich getan habe:
1) Erzeugen der Schlüssel:
openssl req -x509 -nodes -days 365000 -newkey rsa:1024
openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
2) generieren Sie die PDF-Datei mit den .crt
- Datei
3) Dann begann ich, den acrobat reader und das Zertifikat installiert (tcpdf.p12
). Ich benutzte Dokument->Sicherheitseinstellungen -> digitale id
4) konnte ich importieren der Sicherheitseinstellungen aber immer noch nicht öffnen Sie die PDF-Datei. Weiß nicht, ob ich es richtig machen? Was passiert, ist, dass acrobat reader 9.5.4 öffnet sich ein dialog mit der Eingabe eines Passworts. Ich gebe das Passwort ein, und ein Fehler wird angezeigt -> unbekannter Fehler -> CRecipientList-218
5) - Code, den ich verwendet (im Grunde das gleiche)
$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'))));
Kombinierte ich die folgenden Beispiele:
http://www.tcpdf.org/examples/example_052.phps
http://www.tcpdf.org/examples/example_016.phps
P. S.: ich weiß, das ist ein sehr praktisches Beispiel. Dachte nur, es ist einfacher zu verstehen, die Schritte, die ich mache.
Fragen:
-
Ist der workflow im Allgemeinen Recht, wie(!) Ansatz Zertifikate für PDF-Dokumente mit der Verschlüsselung?
-
Wenn ich generieren die
.p12
- Datei habe ich auf geben Sie ein Passwort für die Datei, die ich später beim importieren des Zertifikats in acrobat. Ich Frage deshalb, weil ich auch die Möglichkeit, "on-generation" auf, geben das Passwort ein. -
Wenn der workflow ist Recht...wie behebe ich das problem?
- Haben Sie versucht, Sie zu Kontaktieren tcpdf Jungs stattdessen?
- Ich Tat, aber es ist keine Antwort bisher auf sourceforge.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Ansatz ist grundsätzlich richtig - aber Sie vergessen haben, einige Details, die in es.
Habe ich mit dem Zertifikat in
*.crt
format ohne die passphrase (einschließlich privater und öffentlicher Schlüssel) und es funktioniert gut.Beachten Sie auch, dass Sie installiert haben müssen OpenSSL extension in der PHP.
Sehen Sie die Anmerkungen zur Methode
TCPDF::setSignature()
by Nicola Asuni:Brauchen Sie nicht zu installieren Sie ein Zertifikat in Acrobat Reader - erzeugt PDF-Dokumente signiert mit selbst-signierte Zertifikate einfach als nicht vertrauenswürdig, aber Sie können in der Regel öffnen.
Ich hoffe, Sie nahm auch einen Blick in die Kommentare 😉
es ist ein mini, wie das einrichten der pdf-Datei mit der angegebenen Datei
besonders:
allerdings müssen Sie setProtection mit vorhandenen Schlüssel:
den Pfad, dem Sie gegeben ist nur zeigen, wo Sie brauchen, um geben Sie den Pfad, aber der Pfad selbst geändert werden müssen
Zusammenfassung: bitte Lesen Sie einmal die Kommentare in der Beispiel-016-Datei, helfen Sie, um es so zu arbeiten, wie Sie müssen