Über den Encryption-Dienst
Mit dem Encryption-Dienst können Sie Dokumente verschlüsseln und entschlüsseln. Wird ein Dokument verschlüsselt, ist sein Inhalt nicht mehr lesbar. Ein autorisierter Benutzer kann das Dokument entschlüsseln, um Zugriff auf den Inhalt zu erhalten. Wenn ein PDF-Dokument mit einem Kennwort verschlüsselt wird, muss der Benutzer das Kennwort zum Öffnen angeben, damit das Dokument in Adobe Reader oder Adobe angezeigt werden kann. Ähnlich muss der Benutzer, wenn ein PDF-Dokument mit einem Zertifikat verschlüsselt ist, das PDF-Dokument mithilfe des öffentlichen Schlüssels entschlüsseln, der dem Zertifikat (privater Schlüssel) entspricht, das zum Verschlüsseln des PDF-Dokuments verwendet wurde.
Sie können diese Aufgaben mithilfe des Encryption-Dienstes ausführen:
Verschlüsseln Sie ein PDF-Dokument mit einem Kennwort. (Siehe Verschlüsseln von PDF-Dokumenten mit einem Kennwort.
Verschlüsseln Sie ein PDF-Dokument mit einem Zertifikat. (Siehe Verschlüsseln von PDF-Dokumenten mit Zertifikaten.
Entfernen Sie die kennwortbasierte Verschlüsselung von einem PDF-Dokument. (Siehe Entfernen der Kennwortverschlüsselung.
Entfernen Sie die zertifikatbasierte Verschlüsselung von einem PDF-Dokument. (Siehe Zertifikatbasierte Verschlüsselung entfernen.
Entsperren Sie das PDF-Dokument, damit andere Dienstvorgänge ausgeführt werden können. Nachdem beispielsweise ein kennwortverschlüsseltes PDF-Dokument entsperrt wurde, können Sie eine digitale Signatur darauf anwenden. (Siehe Entsperren verschlüsselter PDF-Dokumente.
Bestimmen Sie den Verschlüsselungstyp eines gesicherten PDF-Dokuments. (Siehe Bestimmen des Verschlüsselungstyps.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Nachdem ein PDF-Dokument mit einem Kennwort verschlüsselt wurde, muss ein Benutzer das Kennwort angeben, damit das Dokument in Adobe Reader oder Acrobat geöffnet werden kann. Außerdem muss ein kennwortverschlüsseltes PDF-Dokument entsperrt werden, bevor ein anderer AEM Forms-Vorgang wie das digitale Signieren des PDF-Dokuments für das Dokument ausgeführt werden kann.
Wenn Sie ein verschlüsseltes PDF-Dokument in das AEM Forms-Repository hochladen, kann es das PDF-Dokument nicht entschlüsseln und den XDP-Inhalt extrahieren. Es wird empfohlen, ein Dokument nicht vor dem Hochladen in das AEM Forms-Repository zu verschlüsseln. (Siehe Schreiben von Ressourcen.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Um ein PDF-Dokument mit einem Kennwort zu verschlüsseln, führen Sie die folgenden Schritte aus:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Client-API-Objekts
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen.
PDF-Dokument zum Verschlüsseln abrufen
Sie müssen ein unverschlüsseltes PDF-Dokument abrufen, um das Dokument mit einem Kennwort zu verschlüsseln. Wenn Sie versuchen, ein bereits verschlüsseltes PDF-Dokument zu schützen, wird eine Ausnahme verursacht.
Laufzeitoptionen für Verschlüsselung festlegen
Um ein PDF-Dokument mit einem Kennwort zu verschlüsseln, geben Sie vier Werte an, darunter zwei Kennwortwerte. Der erste Kennwortwert wird zum Verschlüsseln des PDF-Dokuments verwendet und muss beim Öffnen des PDF-Dokuments angegeben werden. Der zweite Kennwortwert mit dem Namen "Übergeordneter Kennwortwert"wird zum Entfernen der Verschlüsselung vom PDF-Dokument verwendet. Bei Kennwortwerten wird zwischen Groß- und Kleinschreibung unterschieden. Diese beiden Kennwortwerte dürfen nicht dieselben Werte sein.
Sie müssen die zu verschlüsselnden PDF-Dokumentressourcen angeben. Sie können das gesamte PDF-Dokument verschlüsseln, alles außer den Metadaten des Dokuments oder nur die Anlagen des Dokuments. Wenn Sie nur die Anlagen des Dokuments verschlüsseln, wird ein Benutzer beim Versuch, auf die Dateianlagen zuzugreifen, nach einem Kennwort aufgefordert.
Beim Verschlüsseln eines PDF-Dokuments können Sie Berechtigungen angeben, die mit dem gesicherten Dokument verknüpft sind. Durch Festlegen von Berechtigungen können Sie steuern, welche Aktionen ein Benutzer ausführen darf, der ein kennwortverschlüsseltes PDF-Dokument öffnet. Zum erfolgreichen Extrahieren von Formulardaten müssen Sie beispielsweise die folgenden Berechtigungen festlegen:
Berechtigungen werden als PasswordEncryptionPermission
Auflistungswerte.
Passwort hinzufügen
Nachdem Sie ein ungesichertes PDF-Dokument abgerufen und die Verschlüsselungs-Laufzeitwerte festgelegt haben, können Sie dem PDF-Dokument ein Kennwort hinzufügen.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei
Sie können das kennwortverschlüsselte PDF-Dokument als PDF-Datei speichern.
Siehe auch
Verschlüsseln eines PDF-Dokuments mit der Java-API
Verschlüsseln eines PDF-Dokuments mit der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Verschlüsseln von PDF-Dokumenten mit Zertifikaten
Verschlüsseln Sie ein PDF-Dokument mit einem Kennwort mithilfe der Verschlüsselungs-API (Java):
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-encryption-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie eine Verschlüsselungs-Client-API.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie ein PDF-Dokument zum Verschlüsseln ab.
java.io.FileInputStream
-Objekt, das das zu verschlüsselende PDF-Dokument mithilfe des Konstruktors darstellt und einen Zeichenfolgenwert übergibt, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Legen Sie die Laufzeitoptionen der Verschlüsselung fest.
PasswordEncryptionOptionSpec
-Objekt durch Aufrufen seines Konstruktors.PasswordEncryptionOptionSpec
-Objekt setEncryptOption
-Methode und Übergeben einer PasswordEncryptionOption
enumeration -Wert, der die zu verschlüsselnden Dokumentressourcen angibt. Um beispielsweise das gesamte PDF-Dokument einschließlich der Metadaten und Anlagen zu verschlüsseln, geben Sie PasswordEncryptionOption.ALL
.java.util.List
-Objekt, das die Verschlüsselungsberechtigungen mithilfe des ArrayList
-Konstruktor.java.util.List
object ‘s add
-Methode verwenden und einen Auflistungswert übergeben, der der festzulegenden Berechtigung entspricht. Um beispielsweise die Berechtigung festzulegen, mit der ein Benutzer Daten im PDF-Dokument kopieren kann, geben Sie PasswordEncryptionPermission.PASSWORD_EDIT_COPY
. (Wiederholen Sie diesen Schritt für jede festzulegende Berechtigung.)PasswordEncryptionOptionSpec
-Objekt setCompatability
-Methode und Übergabe eines Auflistungswerts, der die Acrobat-Kompatibilitätsstufe angibt. Sie können beispielsweise PasswordEncryptionCompatability.ACRO_7
.PasswordEncryptionOptionSpec
-Objekt setDocumentOpenPassword
-Methode verwenden und einen string -Wert übergeben, der das offene Kennwort darstellt.PasswordEncryptionOptionSpec
-Objekt setPermissionPassword
-Methode verwenden und einen string -Wert übergeben, der das Übergeordnete Kennwort darstellt.Fügen Sie das Kennwort hinzu.
Verschlüsseln Sie das PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt encryptPDFUsingPassword
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das PDF-Dokument enthält, das mit dem Kennwort verschlüsselt werden soll.PasswordEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingPassword
-Methode gibt eine com.adobe.idp.Document
-Objekt, das ein kennwortverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateierweiterung .pdf ist.com.adobe.idp.Document
-Objekt copyToFile
-Methode zum Kopieren des Inhalts der com.adobe.idp.Document
-Objekt in die Datei ein. Stellen Sie sicher, dass Sie das com.adobe.idp.Document
-Objekt verwenden, das von der encryptPDFUsingPassword
-Methode zurückgegeben wurde.Siehe auch
Schnellstart (SOAP-Modus): Verschlüsseln eines PDF-Dokuments mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Verschlüsseln Sie ein PDF-Dokument mit einem Kennwort mithilfe der Verschlüsselungs-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie ein Encryption Client-API-Objekt.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie ein PDF-Dokument zum Verschlüsseln ab.
BLOB
, indem Sie den Konstruktor verwenden. Die BLOB
-Objekt wird verwendet, um ein mit einem Kennwort verschlüsseltes PDF-Dokument zu speichern.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des zu verschlüsselnden PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.Legen Sie die Laufzeitoptionen der Verschlüsselung fest.
PasswordEncryptionOptionSpec
, indem Sie den Konstruktor verwenden.PasswordEncryptionOption
Auflistungswert zum PasswordEncryptionOptionSpec
-Objekt encryptOption
Datenelement. Um die gesamte PDF zu verschlüsseln, einschließlich Metadaten und Anlagen, weisen Sie PasswordEncryptionOption.ALL
zu diesem Datenelement hinzu.PasswordEncryptionCompatability
Auflistungswert zum PasswordEncryptionOptionSpec
-Objekt compatability
Datenelement. Weisen Sie beispielsweise PasswordEncryptionCompatability.ACRO_7
zu diesem Datenelement hinzu.PasswordEncryptionOptionSpec
-Objekt documentOpenPassword
Datenelement.PasswordEncryptionOptionSpec
-Objekt permissionPassword
Datenelement.Fügen Sie das Kennwort hinzu.
Verschlüsseln Sie das PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt encryptPDFUsingPassword
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das das PDF-Dokument enthält, das mit dem Kennwort verschlüsselt werden soll.PasswordEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingPassword
-Methode gibt eine BLOB
-Objekt, das ein kennwortverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
System.IO.FileStream
-Objekt durch Aufrufen des Konstruktors und Übergeben eines Zeichenfolgenwerts, der den Dateispeicherort des gesicherten PDF-Dokuments darstellt.BLOB
-Objekt, das von der encryptPDFUsingPassword
-Methode. Füllen Sie das Byte-Array, indem Sie den Wert der BLOB
-Objekt MTOM
Datenelement.System.IO.BinaryWriter
-Objekt durch Aufrufen des Konstruktors und Übergeben des System.IO.FileStream
-Objekt.System.IO.BinaryWriter
-Objekt Write
-Methode verwenden und das Byte-Array übergeben.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef
Zertifikatbasierte Verschlüsselung ermöglicht die Verschlüsselung eines Dokuments für bestimmte Empfänger mithilfe von Technologien mit öffentlichem Schlüssel. Verschiedene Empfänger können unterschiedliche Berechtigungen für das Dokument erhalten. Viele Aspekte der Verschlüsselung werden durch die Technologie öffentlicher Schlüssel möglich gemacht. Ein Algorithmus wird verwendet, um zwei große Zahlen zu generieren, die als keys, die die folgenden Eigenschaften aufweisen:
Einer der Schlüssel dient als privater Schlüssel des Benutzers. Wichtig ist, dass nur der Benutzer Zugriff auf diesen Schlüssel hat. Der andere Schlüssel ist der öffentliche Schlüssel des Benutzers, der für andere freigegeben werden kann.
Ein Zertifikat mit öffentlichem Schlüssel enthält den öffentlichen Schlüssel eines Benutzers und Identifizierungsinformationen. Das X.509-Format dient zum Speichern von Zertifikaten. Zertifikate werden meist von einer Zertifizierungsstelle ausgestellt und digital signiert, bei der es sich um eine anerkannte Instanz handelt, die ein Maß an Vertrauen in die Gültigkeit des Zertifikats ermöglicht. Zertifikate haben ein Ablaufdatum, nach dem sie nicht mehr gültig sind. Darüber hinaus liefern Zertifikatsperrlisten Informationen zu Zertifikaten, die vor ihrem Ablaufdatum gesperrt wurden. Zertifikatsperrlisten werden regelmäßig von Zertifizierungsstellen veröffentlicht. Der Sperrstatus eines Zertifikats kann auch mittels des Online-Zertifikatstatusprotokolls (Online Certificate Status Protocol, OCSP) über das Netzwerk abgerufen werden.
Wenn Sie ein verschlüsseltes PDF-Dokument in das AEM Forms-Repository hochladen, kann es das PDF-Dokument nicht entschlüsseln und den XDP-Inhalt extrahieren. Es wird empfohlen, ein Dokument nicht vor dem Hochladen in das AEM Forms-Repository zu verschlüsseln. (Siehe Schreiben von Ressourcen.
Bevor Sie ein PDF-Dokument mit einem Zertifikat verschlüsseln können, müssen Sie sicherstellen, dass Sie das Zertifikat zu AEM Forms hinzufügen. Ein Zertifikat wird über Administration Console oder programmgesteuert mithilfe der Trust Manager-API hinzugefügt. (Siehe Importieren von Anmeldeinformationen mithilfe der Trust Manager-API.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Um ein PDF-Dokument mit einem Zertifikat zu verschlüsseln, führen Sie die folgenden Schritte aus:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Client-API-Objekts
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service-API verwenden, erstellen Sie eine EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie eine EncryptionServiceService
-Objekt.
PDF-Dokument zum Verschlüsseln abrufen
Sie müssen zum Verschlüsseln ein unverschlüsseltes PDF-Dokument abrufen. Wenn Sie versuchen, ein bereits verschlüsseltes PDF-Dokument zu sichern, wird eine Ausnahme ausgelöst.
Referenzieren des Zertifikats
Um ein PDF-Dokument mit einem Zertifikat zu verschlüsseln, verweisen Sie auf ein Zertifikat, das zum Verschlüsseln eines PDF-Dokuments verwendet wird. Das Zertifikat ist eine .cer-Datei, eine .crt-Datei oder eine .pem-Datei. Eine PKCS#12-Datei wird verwendet, um private Schlüssel mit entsprechenden Zertifikaten zu speichern.
Geben Sie beim Verschlüsseln eines PDF-Dokuments mit einem Zertifikat die Berechtigungen an, die mit dem gesicherten Dokument verknüpft sind. Durch Festlegen von Berechtigungen können Sie steuern, welche Aktionen ein Benutzer ausführen kann, der ein zertifikatverschlüsseltes PDF-Dokument öffnet.
Laufzeitoptionen für Verschlüsselung festlegen
Geben Sie die zu verschlüsselnden PDF-Dokumentressourcen an. Sie können das gesamte PDF-Dokument verschlüsseln, alles außer den Metadaten des Dokuments oder nur die Anlagen des Dokuments.
Zertifikatverschlüsseltes PDF-Dokument erstellen
Nachdem Sie ein ungesichertes PDF-Dokument abgerufen, auf das Zertifikat verwiesen und Laufzeitoptionen festgelegt haben, können Sie ein zertifikatverschlüsseltes PDF-Dokument erstellen. Nachdem das PDF-Dokument verschlüsselt wurde, benötigen Sie den entsprechenden öffentlichen Schlüssel zum Entschlüsseln.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei
Sie können das verschlüsselte PDF-Dokument als PDF-Datei speichern.
Siehe auch
Verschlüsseln eines PDF-Dokuments mit einem Zertifikat mithilfe der Java-API
Verschlüsseln eines PDF-Dokuments mit einem Zertifikat mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Verschlüsseln von PDF-Dokumenten mit einem Kennwort
Verschlüsseln Sie ein PDF-Dokument mit einem Zertifikat mithilfe der Verschlüsselungs-API (Java):
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-encryption-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie ein Encryption Client-API-Objekt.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie ein PDF-Dokument zum Verschlüsseln ab.
java.io.FileInputStream
-Objekt, das das zu verschlüsselende PDF-Dokument mithilfe des Konstruktors darstellt und einen Zeichenfolgenwert übergibt, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Referenzieren Sie das Zertifikat.
java.util.List
-Objekt, das Berechtigungsinformationen mithilfe des zugehörigen Konstruktors speichert.java.util.List
-Objekt add
-Methode und Übergeben einer CertificateEncryptionPermissions
enumeration -Wert, der die Berechtigungen darstellt, die dem Benutzer gewährt werden, der das gesicherte PDF-Dokument öffnet. Um beispielsweise alle Berechtigungen anzugeben, übergeben Sie CertificateEncryptionPermissions.PKI_ALL_PERM
.Recipient
, indem Sie den Konstruktor verwenden.java.io.FileInputStream
-Objekt, das das Zertifikat darstellt, das zum Verschlüsseln des PDF-Dokuments verwendet wird, indem der zugehörige Konstruktor verwendet und ein string -Wert übergeben wird, der den Speicherort des Zertifikats angibt.com.adobe.idp.Document
-Objekt durch Verwendung seines Konstruktors und Übergabe des java.io.FileInputStream
-Objekt, das das Zertifikat darstellt.Recipient
-Objekt setX509Cert
-Methode und übergeben Sie die com.adobe.idp.Document
-Objekt, das das Zertifikat enthält. (Darüber hinaus wird die Recipient
-Objekt kann einen Truststore-Zertifikatalias oder eine LDAP-URL als Zertifikatquelle haben.)CertificateEncryptionIdentity
-Objekt, das Berechtigungen und Zertifikatinformationen mithilfe des zugehörigen Konstruktors speichert.CertificateEncryptionIdentity
-Objekt setPerms
-Methode und übergeben Sie die java.util.List
-Objekt, das Berechtigungsinformationen speichert.CertificateEncryptionIdentity
-Objekt setRecipient
-Methode und übergeben Sie die Recipient
-Objekt, das Zertifikatinformationen speichert.java.util.List
-Objekt, das Zertifikatinformationen mithilfe seines Konstruktors speichert.java.util.List
-Methode zum Hinzufügen des -Objekts verwenden und die CertificateEncryptionIdentity
-Objekt. (Diese java.util.List
-Objekt wird als Parameter an die encryptPDFUsingCertificates
-Methode.)Legen Sie die Laufzeitoptionen der Verschlüsselung fest.
CertificateEncryptionOptionSpec
-Objekt durch Aufrufen seines Konstruktors.CertificateEncryptionOptionSpec
-Objekt setOption
-Methode und Übergeben einer CertificateEncryptionOption
enumeration -Wert, der die zu verschlüsselnden Dokumentressourcen angibt. Um beispielsweise das gesamte PDF-Dokument einschließlich der Metadaten und Anlagen zu verschlüsseln, geben Sie CertificateEncryptionOption.ALL
.CertificateEncryptionOptionSpec
-Objekt setCompat
-Methode und Übergeben einer CertificateEncryptionCompatibility
Auflistungswert, der die Acrobat-Kompatibilitätsstufe angibt. Sie können beispielsweise CertificateEncryptionCompatibility.ACRO_7
.Erstellen Sie ein zertifikatverschlüsseltes PDF-Dokument.
Verschlüsseln Sie das PDF-Dokument mit einem Zertifikat, indem Sie die EncryptionServiceClient
-Objekt encryptPDFUsingCertificates
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das zu verschlüsselende PDF-Dokument enthält.java.util.List
-Objekt, das Zertifikatinformationen speichert.CertificateEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingCertificates
-Methode gibt eine com.adobe.idp.Document
-Objekt, das ein zertifikatverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
java.io.File
-Objekt ein und stellen Sie sicher, dass die Dateinamenerweiterung .pdf lautet.com.adobe.idp.Document
-Objekt copyToFile
-Methode zum Kopieren des Inhalts der com.adobe.idp.Document
-Objekt in die Datei ein. Stellen Sie sicher, dass Sie das com.adobe.idp.Document
-Objekt verwenden, das von der encryptPDFUsingCertificates
-Methode zurückgegeben wurde.Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Verschlüsseln Sie ein PDF-Dokument mit einem Zertifikat mithilfe der Verschlüsselungs-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie ein Encryption Client-API-Objekt.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie ein PDF-Dokument zum Verschlüsseln ab.
BLOB
, indem Sie den Konstruktor verwenden. Die BLOB
-Objekt wird zum Speichern eines mit einem PDF-Zertifikat verschlüsselten Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des zu verschlüsselnden PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
Objekt durch Zuweisen seiner MTOM
-Eigenschaft mit dem Inhalt des Byte-Arrays.Referenzieren Sie das Zertifikat.
Recipient
, indem Sie den Konstruktor verwenden. Dieses Objekt speichert Zertifikatinformationen.BLOB
, indem Sie den Konstruktor verwenden. Diese BLOB
-Objekt speichert das Zertifikat, das das PDF-Dokument verschlüsselt.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des Zertifikats und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.BLOB
-Objekt, das das Zertifikat im Recipient
-Objekt x509Cert
Datenelement.CertificateEncryptionIdentity
-Objekt, das Zertifikatinformationen mithilfe seines Konstruktors speichert.Recipient
-Objekt, das das Zertifikat im CertificateEncryptionIdentity
-Datenelement des -Objekts.Object
-Array und weisen Sie die CertificateEncryptionIdentity
-Objekt zum ersten Element des Object
Array. Diese Object
Array wird als Parameter an die encryptPDFUsingCertificates
-Methode.Legen Sie die Laufzeitoptionen der Verschlüsselung fest.
CertificateEncryptionOptionSpec
, indem Sie den Konstruktor verwenden.CertificateEncryptionOption
Auflistungswert zum CertificateEncryptionOptionSpec
-Objekt option
Datenelement. Um das gesamte PDF-Dokument einschließlich der Metadaten und Anlagen zu verschlüsseln, weisen Sie CertificateEncryptionOption.ALL
zu diesem Datenelement hinzu.CertificateEncryptionCompatibility
Auflistungswert zum CertificateEncryptionOptionSpec
-Objekt compat
Datenelement. Weisen Sie beispielsweise CertificateEncryptionCompatibility.ACRO_7
zu diesem Datenelement hinzu.Erstellen Sie ein zertifikatverschlüsseltes PDF-Dokument.
Verschlüsseln Sie das PDF-Dokument mit einem Zertifikat, indem Sie die EncryptionServiceService
-Objekt encryptPDFUsingCertificates
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das das zu verschlüsselende PDF-Dokument enthält.Object
-Array, das Zertifikatinformationen speichert.CertificateEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingCertificates
-Methode gibt eine BLOB
-Objekt, das ein zertifikatverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
System.IO.FileStream
-Objekt durch Aufrufen des Konstruktors und Übergeben eines Zeichenfolgenwerts, der den Dateispeicherort des gesicherten PDF-Dokuments darstellt.BLOB
-Objekt, das von der encryptPDFUsingCertificates
-Methode. Füllen Sie das Byte-Array, indem Sie den Wert der BLOB
-Objekt binaryData
Datenelement.System.IO.BinaryWriter
-Objekt durch Aufrufen des Konstruktors und Übergeben des System.IO.FileStream
-Objekt.System.IO.BinaryWriter
-Objekt Write
-Methode verwenden und das Byte-Array übergeben.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef
Zertifikatbasierte Verschlüsselung kann aus einem PDF-Dokument entfernt werden, damit Benutzer das PDF-Dokument in Adobe Reader oder Acrobat öffnen können. Um die Verschlüsselung von einem PDF-Dokument zu entfernen, das mit einem Zertifikat verschlüsselt ist, muss auf einen öffentlichen Schlüssel verwiesen werden. Nachdem die Verschlüsselung aus einem PDF-Dokument entfernt wurde, ist sie nicht mehr sicher.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Führen Sie die folgenden Schritte aus, um die zertifikatbasierte Verschlüsselung von einem PDF-Dokument zu entfernen:
Projektdateien einschließen
Fügen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Service-Clients
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service-API verwenden, erstellen Sie eine EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie eine EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein verschlüsseltes PDF-Dokument abrufen, um die zertifikatbasierte Verschlüsselung zu entfernen. Wenn Sie versuchen, die Verschlüsselung von einem nicht verschlüsselten PDF-Dokument zu entfernen, wird eine Ausnahme ausgelöst. Wenn Sie versuchen, die zertifikatbasierte Verschlüsselung aus einem kennwortverschlüsselten Dokument zu entfernen, wird eine Ausnahme ausgelöst.
Verschlüsselung entfernen
Zum Entfernen der zertifikatbasierten Verschlüsselung von einem verschlüsselten PDF-Dokument benötigen Sie sowohl ein verschlüsseltes PDF-Dokument als auch den privaten Schlüssel, der dem Schlüssel entspricht, der zum Verschlüsseln des PDF-Dokuments verwendet wurde. Der Aliaswert des privaten Schlüssels wird beim Entfernen der zertifikatbasierten Verschlüsselung von einem verschlüsselten PDF-Dokument angegeben. Informationen zum öffentlichen Schlüssel finden Sie unter Verschlüsseln von PDF-Dokumenten mit Zertifikaten.
Ein privater Schlüssel wird im AEM Forms Trust Store gespeichert. Wenn dort ein Zertifikat platziert wird, wird ein Alias-Wert angegeben.
PDF-Dokument speichern
Nachdem die zertifikatbasierte Verschlüsselung aus einem verschlüsselten PDF-Dokument entfernt wurde, können Sie das PDF-Dokument als PDF-Datei speichern. Benutzer können das PDF-Dokument in Adobe Reader oder Acrobat öffnen.
Siehe auch
Zertifikatbasierte Verschlüsselung mit der Java-API entfernen
Zertifikatbasierte Verschlüsselung mithilfe der Webdienst-API entfernen
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Entfernen Sie die zertifikatbasierte Verschlüsselung mithilfe der Verschlüsselungs-API (Java) aus einem PDF-Dokument:
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-encryption-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienst-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie das verschlüsselte PDF-Dokument ab.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem es seinen Konstruktor verwendet und einen Zeichenfolgenwert übergibt, der den Speicherort des verschlüsselten PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Entfernen Sie die Verschlüsselung.
Entfernen Sie die zertifikatbasierte Verschlüsselung vom PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt removePDFCertificateSecurity
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das verschlüsselte PDF-Dokument enthält.Die removePDFCertificateSecurity
-Methode gibt eine com.adobe.idp.Document
-Objekt, das ein nicht gesichertes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateierweiterung .pdf ist.com.adobe.idp.Document
-Objekt copyToFile
-Methode zum Kopieren des Inhalts der Document
-Objekt in die Datei ein. Stellen Sie sicher, dass Sie das com.adobe.idp.Document
-Objekt verwenden, das von der removePDFCredentialSecurity
-Methode zurückgegeben wurde.Siehe auch
Schnellstart (SOAP-Modus): Zertifikatbasierte Verschlüsselung mithilfe der Java-API entfernen
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Entfernen Sie die zertifikatbasierte Verschlüsselung mithilfe der Verschlüsselungs-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienst-Client.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie das verschlüsselte PDF-Dokument ab.
BLOB
, indem Sie den Konstruktor verwenden. Die BLOB
-Objekt wird zum Speichern des verschlüsselten PDF-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.Entfernen Sie die Verschlüsselung.
Rufen Sie die EncryptionServiceClient
-Objekt removePDFCertificateSecurity
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das Datei-Stream-Daten enthält, die ein verschlüsseltes PDF-Dokument darstellen.Die removePDFCredentialSecurity
-Methode gibt eine BLOB
-Objekt, das ein nicht gesichertes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
System.IO.FileStream
-Objekt durch Aufrufen des Konstruktors und Übergeben eines Zeichenfolgenwerts, der den Dateispeicherort des ungesicherten PDF-Dokuments darstellt.BLOB
-Objekt, das von der removePDFPasswordSecurity
-Methode. Füllen Sie das Byte-Array, indem Sie den Wert der BLOB
-Objekt MTOM
Datenelement.System.IO.BinaryWriter
-Objekt durch Aufrufen des Konstruktors und Übergeben des System.IO.FileStream
-Objekt.System.IO.BinaryWriter
-Objekt Write
-Methode verwenden und das Byte-Array übergeben.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef
Die kennwortbasierte Verschlüsselung kann aus einem PDF-Dokument entfernt werden, sodass Benutzer das PDF-Dokument in Adobe Reader oder Acrobat öffnen können, ohne ein Kennwort angeben zu müssen. Nachdem die kennwortbasierte Verschlüsselung aus einem PDF-Dokument entfernt wurde, ist das Dokument nicht mehr geschützt.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
So entfernen Sie die kennwortbasierte Verschlüsselung von einem PDF-Dokument:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Service-Clients
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service-API verwenden, erstellen Sie eine EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie eine EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein verschlüsseltes PDF-Dokument abrufen, um kennwortbasierte Verschlüsselung zu entfernen. Wenn Sie versuchen, die Verschlüsselung von einem nicht verschlüsselten PDF-Dokument zu entfernen, wird eine Ausnahme ausgelöst.
Kennwort entfernen
Zum Entfernen der kennwortbasierten Verschlüsselung von einem verschlüsselten PDF-Dokument benötigen Sie sowohl ein verschlüsseltes PDF-Dokument als auch einen Übergeordneten Kennwortwert, der zum Entfernen der Verschlüsselung vom PDF-Dokument verwendet wird. Das Kennwort zum Öffnen eines kennwortverschlüsselten PDF-Dokuments kann nicht zum Entfernen der Verschlüsselung verwendet werden. Ein Übergeordnetes Kennwort wird angegeben, wenn das PDF-Dokument mit einem Kennwort verschlüsselt wird. (Siehe Verschlüsseln von PDF-Dokumenten mit einem Kennwort.
PDF-Dokument speichern
Nachdem der Encryption-Dienst die kennwortbasierte Verschlüsselung von einem PDF-Dokument entfernt hat, können Sie das PDF-Dokument als PDF-Datei speichern. Benutzer können das PDF-Dokument in Adobe Reader oder Acrobat öffnen, ohne ein Kennwort anzugeben.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Verschlüsseln von PDF-Dokumenten mit einem Kennwort
Entfernen Sie mithilfe der Verschlüsselungs-API (Java) die kennwortbasierte Verschlüsselung von einem PDF-Dokument:
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie die Datei "adobe-encryption-client.jar"in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienst-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie das verschlüsselte PDF-Dokument ab.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem es seinen Konstruktor verwendet und einen Zeichenfolgenwert übergibt, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Entfernen Sie das Kennwort.
Entfernen Sie die kennwortbasierte Verschlüsselung vom PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt removePDFPasswordSecurity
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das verschlüsselte PDF-Dokument enthält.Die removePDFPasswordSecurity
-Methode gibt eine com.adobe.idp.Document
-Objekt, das ein nicht gesichertes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
java.io.File
-Objekt ein und stellen Sie sicher, dass die Dateinamenerweiterung .pdf lautet.com.adobe.idp.Document
-Objekt copyToFile
-Methode zum Kopieren des Inhalts der Document
-Objekt in die Datei ein. Stellen Sie sicher, dass Sie das Document
-Objekt verwenden, das von der removePDFPasswordSecurity
-Methode zurückgegeben wurde.Siehe auch
Schnellstart (SOAP-Modus): Kennwortbasierte Verschlüsselung mithilfe der Java-API entfernen
Entfernen Sie die kennwortbasierte Verschlüsselung mithilfe der Verschlüsselungs-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienst-Client.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie das verschlüsselte PDF-Dokument ab.
BLOB
, indem Sie den Konstruktor verwenden. Die BLOB
-Objekt wird zum Speichern eines kennwortverschlüsselten PDF-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.Entfernen Sie das Kennwort.
Rufen Sie die EncryptionServiceService
-Objekt removePDFPasswordSecurity
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das Datei-Stream-Daten enthält, die ein verschlüsseltes PDF-Dokument darstellen.Die removePDFPasswordSecurity
-Methode gibt eine BLOB
-Objekt, das ein nicht gesichertes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
System.IO.FileStream
-Objekt durch Aufrufen des Konstruktors und Übergeben eines Zeichenfolgenwerts, der den Dateispeicherort des ungesicherten PDF-Dokuments darstellt.BLOB
-Objekt, das von der removePDFPasswordSecurity
-Methode. Füllen Sie das Byte-Array, indem Sie den Wert der BLOB
-Objekt MTOM
Datenelement.System.IO.BinaryWriter
-Objekt durch Aufrufen des Konstruktors und Übergeben des System.IO.FileStream
-Objekt.System.IO.BinaryWriter
-Objekt Write
-Methode verwenden und das Byte-Array übergeben.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef
Ein kennwortverschlüsseltes oder zertifikatverschlüsseltes PDF-Dokument muss entsperrt werden, bevor ein anderer AEM Forms-Vorgang ausgeführt werden kann. Wenn Sie versuchen, einen Vorgang für ein verschlüsseltes PDF-Dokument auszuführen, generieren Sie eine Ausnahme. Nachdem Sie ein verschlüsseltes PDF-Dokument entsperrt haben, können Sie einen oder mehrere Vorgänge darauf ausführen. Diese Vorgänge können zu anderen Diensten gehören, z. B. zum Acrobat Reader DC Extensions-Dienst.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
So entsperren Sie ein verschlüsseltes PDF-Dokument:
Projektdateien einschließen
Fügen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Service-Clients
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service-API verwenden, erstellen Sie eine EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie eine EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein verschlüsseltes PDF-Dokument abrufen, um es zu entsperren. Wenn Sie versuchen, ein nicht verschlüsseltes PDF-Dokument zu entsperren, wird eine Ausnahme ausgelöst.
Entsperren des Dokuments
Zum Entsperren eines kennwortverschlüsselten PDF-Dokuments benötigen Sie sowohl ein verschlüsseltes PDF-Dokument als auch einen Kennwortwert, der zum Öffnen eines kennwortverschlüsselten PDF-Dokuments verwendet wird. Dieser Wert wird beim Verschlüsseln des PDF-Dokuments mit einem Kennwort angegeben. (Siehe Verschlüsseln von PDF-Dokumenten mit einem Kennwort.
Zum Entsperren eines zertifikatverschlüsselten PDF-Dokuments benötigen Sie sowohl ein verschlüsseltes PDF-Dokument als auch den Aliaswert des öffentlichen Schlüssels, der dem privaten Schlüssel entspricht, der zum Verschlüsseln des PDF-Dokuments verwendet wurde.
Durchführen eines AEM Forms-Vorgangs
Nachdem ein verschlüsseltes PDF-Dokument entsperrt wurde, können Sie einen weiteren Dienstvorgang durchführen, z. B. Verwendungsrechte darauf anwenden. Dieser Vorgang gehört zum Acrobat Reader DC Extensions-Dienst.
Siehe auch
Entsperren eines verschlüsselten PDF-Dokuments mithilfe der Java-API
Entsperren Sie ein verschlüsseltes PDF-Dokument mithilfe der Webdienst-API.
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Entsperren Sie ein verschlüsseltes PDF-Dokument mithilfe der Verschlüsselungs-API (Java):
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-encryption-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienst-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie das verschlüsselte PDF-Dokument ab.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem es seinen Konstruktor verwendet und einen Zeichenfolgenwert übergibt, der den Speicherort des verschlüsselten PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Entsperren Sie das Dokument.
Entsperren Sie ein verschlüsseltes PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt unlockPDFUsingPassword
oder unlockPDFUsingCredential
-Methode.
Um ein mit einem Kennwort verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingPassword
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das kennwortverschlüsselte PDF-Dokument enthält.Um ein mit einem Zertifikat verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingCredential
-Methode verwenden und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das zertifikatverschlüsselte PDF-Dokument enthält.Die unlockPDFUsingPassword
und unlockPDFUsingCredential
Methoden, die beide eine com.adobe.idp.Document
-Objekt, das Sie zur Ausführung eines Vorgangs an eine andere AEM Forms Java-Methode übergeben.
Führen Sie einen AEM Forms-Vorgang aus.
Führen Sie einen AEM Forms-Vorgang für das entsperrte PDF-Dokument aus, um Ihre Geschäftsanforderungen zu erfüllen. Wenn Sie beispielsweise Verwendungsrechte auf ein entsperrtes PDF-Dokument anwenden möchten, übergeben Sie die com.adobe.idp.Document
-Objekt, das von der unlockPDFUsingPassword
oder unlockPDFUsingCredential
-Methoden ReaderExtensionsServiceClient
-Objekt applyUsageRights
-Methode.
Siehe auch
Schnellstart (SOAP-Modus): Entsperren eines verschlüsselten PDF-Dokuments mithilfe der Java-API (SOAP-Modus)
Anwenden von Nutzungsrechten auf PDF-Dokumente
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Entsperren Sie ein verschlüsseltes PDF-Dokument mithilfe der Verschlüsselungs-API (Webdienst):
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienst-Client.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie ein verschlüsseltes PDF-Dokument ab.
BLOB
, indem Sie den Konstruktor verwenden.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.Entsperren Sie das Dokument.
Entsperren Sie ein verschlüsseltes PDF-Dokument, indem Sie die EncryptionServiceClient
-Objekt unlockPDFUsingPassword
oder unlockPDFUsingCredential
-Methode.
Um ein mit einem Kennwort verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingPassword
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das das kennwortverschlüsselte PDF-Dokument enthält.Um ein mit einem Zertifikat verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingCredential
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das das zertifikatverschlüsselte PDF-Dokument enthält.Die unlockPDFUsingPassword
und unlockPDFUsingCredential
Methoden, die beide eine com.adobe.idp.Document
-Objekt, das Sie zur Ausführung eines Vorgangs an eine andere AEM Forms-Methode übergeben.
Führen Sie einen AEM Forms-Vorgang aus.
Führen Sie einen AEM Forms-Vorgang für das entsperrte PDF-Dokument aus, um Ihre Geschäftsanforderungen zu erfüllen. Wenn Sie beispielsweise Verwendungsrechte auf das entsperrte PDF-Dokument anwenden möchten, übergeben Sie die BLOB
-Objekt, das von der unlockPDFUsingPassword
oder unlockPDFUsingCredential
-Methoden ReaderExtensionsServiceClient
-Objekt applyUsageRights
-Methode.
Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef
Sie können den Verschlüsselungstyp, der ein PDF-Dokument schützt, programmgesteuert mithilfe der Java Encryption Service-API oder der Web Service Encryption Service-API bestimmen. Manchmal ist es erforderlich, dynamisch zu bestimmen, ob ein PDF-Dokument verschlüsselt ist, und gegebenenfalls den Verschlüsselungstyp. Sie können beispielsweise bestimmen, ob ein PDF-Dokument mit kennwortbasierter Verschlüsselung oder einer Rights Management-Richtlinie geschützt ist.
Ein PDF-Dokument kann durch die folgenden Verschlüsselungstypen geschützt werden:
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienstreferenz für AEM Forms.
So bestimmen Sie den Verschlüsselungstyp, der ein PDF-Dokument schützt:
Projektdateien einschließen
Fügen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Dienstclient erstellen
Um programmgesteuert einen Encryption-Dienstvorgang durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service-API verwenden, erstellen Sie eine EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie eine EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein PDF-Dokument abrufen, um die Art der Verschlüsselung zu bestimmen, die sie schützt.
Ermitteln des Verschlüsselungstyps
Sie können die Art der Verschlüsselung bestimmen, die ein PDF-Dokument schützt. Wenn das PDF-Dokument nicht geschützt ist, werden Sie vom Encryption-Dienst darüber informiert, dass das PDF-Dokument nicht gesichert ist.
Siehe auch
Ermitteln des Verschlüsselungstyps mithilfe der Java-API
Ermitteln des Verschlüsselungstyps mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur API für Verschlüsselungsdienst
Schützen von Dokumenten mit Richtlinien
Bestimmen Sie mithilfe der Verschlüsselungs-API (Java) den Verschlüsselungstyp, der ein PDF-Dokument schützt:
Projektdateien einschließen.
Schließen Sie Client-JAR-Dateien wie adobe-encryption-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Service-Client.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Rufen Sie das verschlüsselte PDF-Dokument ab.
java.io.FileInputStream
-Objekt, das das PDF-Dokument darstellt, indem es seinen Konstruktor verwendet und einen Zeichenfolgenwert übergibt, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Bestimmen Sie den Verschlüsselungstyp.
EncryptionServiceClient
-Objekt getPDFEncryption
-Methode und Übergabe der com.adobe.idp.Document
-Objekt, das das PDF-Dokument enthält. Diese Methode gibt eine EncryptionTypeResult
-Objekt.EncryptionTypeResult
-Objekt getEncryptionType
-Methode. Diese Methode gibt eine EncryptionType
enum -Wert, der den Verschlüsselungstyp angibt. Wenn das PDF-Dokument beispielsweise mit kennwortbasierter Verschlüsselung geschützt ist, gibt diese Methode EncryptionType.PASSWORD
.Siehe auch
Schnellstart (SOAP-Modus): Bestimmen des Verschlüsselungstyps mithilfe der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Bestimmen Sie mithilfe der Verschlüsselungs-API (Webdienst) den Typ der Verschlüsselung, die ein PDF-Dokument schützt:
Projektdateien einschließen.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
Ersetzen localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Service-Client.
Erstellen Sie eine EncryptionServiceClient
-Objekt mithilfe des Standardkonstruktors.
Erstellen Sie eine EncryptionServiceClient.Endpoint.Address
-Objekt mithilfe der System.ServiceModel.EndpointAddress
-Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
. Sie müssen die lc_version
-Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie eine System.ServiceModel.BasicHttpBinding
-Objekt durch Abrufen des Werts der EncryptionServiceClient.Endpoint.Binding
-Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie die System.ServiceModel.BasicHttpBinding
-Objekt MessageEncoding
-Feld zu WSMessageEncoding.Mtom
. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:
EncryptionServiceClient.ClientCredentials.UserName.UserName
.EncryptionServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
zum Feld BasicHttpBindingSecurity.Security.Mode
.Rufen Sie das verschlüsselte PDF-Dokument ab.
BLOB
, indem Sie den Konstruktor verwenden.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen string -Wert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Objekt Length
-Eigenschaft.System.IO.FileStream
-Objekt Read
-Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.BLOB
-Objekt, indem der Inhalt des Byte-Arrays dem BLOB
-Objekt MTOM
Datenelement.Bestimmen Sie den Verschlüsselungstyp.
EncryptionServiceClient
-Objekt getPDFEncryption
-Methode und übergeben Sie die BLOB
-Objekt, das das PDF-Dokument enthält. Diese Methode gibt eine EncryptionTypeResult
-Objekt.EncryptionTypeResult
-Objekt encryptionType
Datenmethode. Wenn das PDF-Dokument beispielsweise mit kennwortbasierter Verschlüsselung geschützt ist, lautet der Wert dieses Datenelements EncryptionType.PASSWORD
.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Aufrufen von AEM Forms mithilfe von SwaRef