Info zum 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:
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienste-Referenz 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. Bevor ein anderer AEM Forms-Vorgang wie das digitale Signieren des PDF-Dokuments auf dem Dokument ausgeführt werden kann, muss die Sperre eines kennwortverschlüsselten PDF-Dokuments aufgehoben 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 vor dem Hochladen in das AEM Forms-Repository nicht zu verschlüsseln. (Siehe Schreibressourcen.)
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So verschlüsseln Sie ein PDF-Dokument mit einem Kennwort:
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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Client-API-Objekts
Um einen Encryption-Dienstvorgang programmgesteuert 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 ausgelöst.
Festlegen von Optionen für die Verschlüsselungslaufzeit
Um ein PDF-Dokument mit einem Kennwort zu verschlüsseln, geben Sie vier Werte ein, 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 "Übergeordnet password value"wird zum Entfernen der Verschlüsselung aus dem PDF-Dokument verwendet. Bei Kennwortwerten wird die Groß-/Kleinschreibung beachtet, und diese beiden Kennwortwerte dürfen nicht mit den gleichen Werten übereinstimmen.
Sie müssen die zu verschlüsselnden PDF-Dokument-Ressourcen angeben. Sie können das gesamte PDF-Dokument verschlüsseln, mit Ausnahme der Metadaten des Dokuments oder nur der Anlagen des Dokuments. Wenn Sie nur die Anlagen des Dokuments verschlüsseln, wird ein Benutzer beim Versuch, auf die Dateianlagen zuzugreifen, zur Eingabe eines Kennworts aufgefordert.
Beim Verschlüsseln eines PDF-Dokuments können Sie Berechtigungen angeben, die mit dem geschützten Dokument verknüpft sind. Durch Angabe von Berechtigungen können Sie steuern, welche Aktionen Benutzer ausführen dürfen, die ein kennwortverschlüsseltes PDF-Dokument öffnen. Um beispielsweise Formulardaten erfolgreich extrahieren zu können, müssen Sie die folgenden Berechtigungen festlegen:
Berechtigungen werden als PasswordEncryptionPermission
-Auflistung angegeben.
Kennwort Hinzufügen
Nachdem Sie ein nicht geschütztes PDF-Dokument abgerufen und Verschlüsselungslaufzeitwerte festgelegt haben, können Sie dem PDF-Dokument ein Kennwort hinzufügen.
Verschlüsseltes PDF-Dokument als PDF-Datei speichern
Sie können das kennwortverschlüsselte PDF-Dokument als PDF-Datei speichern.
Siehe auch
PDF-Dokumente mit der Java-API verschlüsseln
Verschlüsseln eines PDF-Dokuments mit der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Beginn zur API für Verschlüsselungsdienst
PDF-Dokumente mit Zertifikaten verschlüsseln
Verschlüsseln Sie ein PDF-Dokument mit einem Kennwort mithilfe der Verschlüsselungs-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie eine Verschlüsselungs-Client-API.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.PDF-Dokument verschlüsseln
java.io.FileInputStream
-Objekt, das das zu verschlüsselnde PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, 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 Optionen für die Verschlüsselungslaufzeit fest.
PasswordEncryptionOptionSpec
-Objekt, indem Sie den Konstruktor aufrufen.PasswordEncryptionOptionSpec
-Methode des Objekts aufrufen und einen setEncryptOption
-Auflistung-Wert übergeben, der die zu verschlüsselnden Dokumente angibt. PasswordEncryptionOption
Um beispielsweise das gesamte PDF-Dokument einschließlich der zugehörigen Metadaten und Anlagen zu verschlüsseln, geben Sie PasswordEncryptionOption.ALL
an.java.util.List
-Objekt, das die Verschlüsselungsberechtigungen mithilfe des Konstruktors ArrayList
speichert.java.util.List
des Objekts "s add
aufrufen und einen Auflistung-Wert übergeben, der der gewünschten Berechtigung entspricht. Um beispielsweise die Berechtigung zum Kopieren von Daten im PDF-Dokument festzulegen, geben Sie PasswordEncryptionPermission.PASSWORD_EDIT_COPY
an. (Wiederholen Sie diesen Schritt für jede festzulegende Berechtigung.)PasswordEncryptionOptionSpec
-Objektmethode setCompatability
aufrufen und einen Auflistung-Wert übergeben, der die Acrobat-Kompatibilitätsstufe angibt. Sie können beispielsweise PasswordEncryptionCompatability.ACRO_7
angeben.PasswordEncryptionOptionSpec
-Methode des Objekts aufruft und einen Zeichenfolgenwert übergibt, der das offene Kennwort darstellt.setDocumentOpenPassword
PasswordEncryptionOptionSpec
-Methode des Objekts aufruft und einen Zeichenfolgenwert übergibt, der das Übergeordnet-Kennwort darstellt.setPermissionPassword
hinzufügen das Kennwort.
Verschlüsseln Sie das PDF-Dokument, indem Sie die EncryptionServiceClient
-Objektmethode encryptPDFUsingPassword
aufrufen 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 ein com.adobe.idp.Document
-Objekt zurück, 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.copyToFile
-Methode des Objekts auf, um den Inhalt des com.adobe.idp.Document
-Objekts in die Datei zu kopieren. com.adobe.idp.Document
Stellen Sie sicher, dass Sie das com.adobe.idp.Document
-Objekt verwenden, das von der encryptPDFUsingPassword
-Methode zurückgegeben wurde.Siehe auch
Quick Beginn (SOAP-Modus): Verschlüsseln eines PDF-Dokuments mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Verschlüsseln eines PDF-Dokuments mit einem Kennwort mithilfe der Verschlüsselungs-API (Webdienst):
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie ein Encryption Client-API-Objekt.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.PDF-Dokument verschlüsseln
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern eines mit einem Kennwort verschlüsselten PDF-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des zu verschlüsselnden PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.System.IO.FileStream
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.Read
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.Legen Sie Optionen für die Verschlüsselungslaufzeit fest.
PasswordEncryptionOptionSpec
, indem Sie den Konstruktor verwenden.PasswordEncryptionOptionSpec
-Datenmember des Objekts encryptOption
einen PasswordEncryptionOption
-Auflistung-Wert zuweisen. Um die gesamte PDF-Datei einschließlich der zugehörigen Metadaten und Anlagen zu verschlüsseln, weisen Sie PasswordEncryptionOption.ALL
diesem Datenmember zu.PasswordEncryptionOptionSpec
-Datenmember des Objekts compatability
den Wert PasswordEncryptionCompatability
der Auflistung zuweisen. Weisen Sie diesem Datenmember beispielsweise PasswordEncryptionCompatability.ACRO_7
zu.PasswordEncryptionOptionSpec
-Datenmember des Objekts documentOpenPassword
einen Zeichenfolgenwert zuweisen, der das Kennwort "open"darstellt.PasswordEncryptionOptionSpec
-Datenmember des Objekts permissionPassword
einen Zeichenfolgenwert zuweist, der das Übergeordnet-Kennwort darstellt.hinzufügen das Kennwort.
Verschlüsseln Sie das PDF-Dokument, indem Sie die EncryptionServiceClient
-Objektmethode encryptPDFUsingPassword
aufrufen 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 ein BLOB
-Objekt zurück, das ein kennwortverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des geschützten PDF-Dokuments darstellt.BLOB
-Objekts speichert, das von der encryptPDFUsingPassword
-Methode zurückgegeben wurde. Füllen Sie das Bytearray, indem Sie den Wert des BLOB
-Datenelements des Objekts MTOM
abrufen.System.IO.BinaryWriter
-Objekt, indem Sie den Konstruktor aufrufen und das System.IO.FileStream
-Objekt übergeben.System.IO.BinaryWriter
-Methode des Objekts aufrufen und das Bytearray übergeben.Write
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Zertifikatbasierte Verschlüsselung ermöglicht die Verschlüsselung eines Dokuments für bestimmte Empfänger mithilfe öffentlicher Schlüsseltechnologien. 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, die die folgenden Eigenschaften aufweisen, zu generieren, die als Schlüssel bezeichnet werden:
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 vor dem Hochladen in das AEM Forms-Repository nicht zu verschlüsseln. (Siehe Schreibressourcen.)
Bevor Sie ein PDF-Dokument mit einem Zertifikat verschlüsseln können, müssen Sie sicherstellen, dass das Zertifikat AEM Forms hinzugefügt wird. Ein Zertifikat wird mithilfe von Administration Console oder programmgesteuert mithilfe der Trust Manager-API hinzugefügt. (Siehe Berechtigungen mithilfe der Trust Manager-API importieren.)
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So verschlüsseln Sie ein PDF-Dokument mit einem Zertifikat:
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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungs-Client-API-Objekts
Um einen Encryption-Dienstvorgang programmgesteuert durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service API verwenden, erstellen Sie ein EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie ein EncryptionServiceService
-Objekt.
PDF-Dokument zum Verschlüsseln abrufen
Zum Verschlüsseln müssen Sie ein unverschlüsseltes PDF-Dokument abrufen. Wenn Sie versuchen, ein bereits verschlüsseltes PDF-Dokument zu schützen, wird eine Ausnahme ausgelöst.
Referenz 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 Angabe von Berechtigungen können Sie steuern, welche Aktionen ein Benutzer ausführen kann, der ein zertifikatverschlüsseltes PDF-Dokument öffnet.
Festlegen von Optionen für die Verschlüsselungslaufzeit
Geben Sie die zu verschlüsselnden PDF-Dokument-Ressourcen an. Sie können das gesamte PDF-Dokument, alles außer den Metadaten des Dokuments oder nur die Anlagen des Dokuments verschlüsseln.
Erstellen eines zertifikatverschlüsselten PDF-Dokuments
Nachdem Sie ein nicht geschütztes 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.
Verschlüsseltes PDF-Dokument als PDF-Datei speichern
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
Beginn zur API für Verschlüsselungsdienst
PDF-Dokumente mit einem Kennwort verschlüsseln
Verschlüsseln eines PDF-Dokuments mit einem Zertifikat mithilfe der Verschlüsselungs-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie ein Encryption Client-API-Objekt.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.PDF-Dokument verschlüsseln
java.io.FileInputStream
-Objekt, das das zu verschlüsselnde PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Verweisen Sie auf das Zertifikat.
java.util.List
-Objekt, das Berechtigungsinformationen mithilfe seines Konstruktors speichert.java.util.List
-Methode des Objekts aufrufen und einen add
-Auflistung-Wert übergeben, der die Berechtigungen darstellt, die dem Benutzer erteilt werden, der das geschützte PDF-Dokument öffnet. CertificateEncryptionPermissions
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, mit dem das PDF-Dokument mithilfe des Konstruktors verschlüsselt wird, und übergeben Sie einen Zeichenfolgenwert, der den Speicherort des Zertifikats angibt.com.adobe.idp.Document
-Objekt, indem Sie den Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben, das das Zertifikat darstellt.Recipient
-Methode des Objekts auf und übergeben Sie das setX509Cert
-Objekt, das das Zertifikat enthält. com.adobe.idp.Document
(Darüber hinaus kann das Recipient
Objekt einen TrustStore-Zertifikatalias oder eine LDAP-URL als Zertifikatquelle haben.)CertificateEncryptionIdentity
-Objekt, das Berechtigungs- und Zertifikatinformationen mithilfe seines Konstruktors speichert.CertificateEncryptionIdentity
-Methode des Objekts auf und übergeben Sie das setPerms
-Objekt, das Berechtigungsinformationen speichert.java.util.List
CertificateEncryptionIdentity
-Methode des Objekts auf und übergeben Sie das setRecipient
-Objekt, das Zertifikatsinformationen speichert.Recipient
java.util.List
-Objekt, das Zertifikatinformationen mithilfe des Konstruktors speichert.java.util.List
auf und übergeben Sie das CertificateEncryptionIdentity
-Objekt. (Dieses java.util.List
-Objekt wird als Parameter an die encryptPDFUsingCertificates
-Methode übergeben.)Legen Sie Optionen für die Verschlüsselungslaufzeit fest.
CertificateEncryptionOptionSpec
-Objekt, indem Sie den Konstruktor aufrufen.CertificateEncryptionOptionSpec
-Methode des Objekts aufrufen und einen setOption
-Auflistung-Wert übergeben, der die zu verschlüsselnden Dokumente angibt. CertificateEncryptionOption
Um beispielsweise das gesamte PDF-Dokument einschließlich der zugehörigen Metadaten und Anlagen zu verschlüsseln, geben Sie CertificateEncryptionOption.ALL
an.CertificateEncryptionOptionSpec
-Objektmethode setCompat
aufrufen und einen CertificateEncryptionCompatibility
-Auflistung-Wert übergeben, der die Acrobat-Kompatibilitätsstufe angibt. Sie können beispielsweise CertificateEncryptionCompatibility.ACRO_7
angeben.Erstellen Sie ein zertifikatverschlüsseltes PDF-Dokument.
Verschlüsseln Sie das PDF-Dokument mit einem Zertifikat, indem Sie die encryptPDFUsingCertificates
-Methode des EncryptionServiceClient
-Objekts aufrufen und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, das das zu verschlüsselnde PDF-Dokument enthält.java.util.List
-Objekt, das Zertifikatinformationen speichert.CertificateEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingCertificates
-Methode gibt ein com.adobe.idp.Document
-Objekt zurück, das ein zertifikatverschlü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 Dateinamenerweiterung .pdf lautet.copyToFile
-Methode des Objekts auf, um den Inhalt des com.adobe.idp.Document
-Objekts in die Datei zu kopieren. com.adobe.idp.Document
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 eines PDF-Dokuments mit einem Zertifikat mithilfe der Verschlüsselungs-API (Webdienst):
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie ein Encryption Client-API-Objekt.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.PDF-Dokument verschlüsseln
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern eines PDF-Dokuments verwendet, das mit einem Zertifikat verschlüsselt ist.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des zu verschlüsselnden PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.System.IO.FileStream
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.Read
BLOB
-Objekt, indem Sie seine MTOM
-Eigenschaft mit dem Inhalt des Byte-Arrays zuweisen.Verweisen Sie auf das Zertifikat.
Recipient
, indem Sie den Konstruktor verwenden. Dieses Objekt speichert Zertifikatsinformationen.BLOB
, indem Sie den Konstruktor verwenden. Dieses BLOB
-Objekt speichert das Zertifikat, das das PDF-Dokument verschlüsselt.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des Zertifikats und den Modus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.System.IO.FileStream
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.Read
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.BLOB
-Objekt, das das Zertifikat speichert, dem Recipient
-Datenmember des Objekts x509Cert
zu.CertificateEncryptionIdentity
-Objekt, das Zertifikatinformationen mithilfe des Konstruktors speichert.Recipient
-Objekt, das das Zertifikat speichert, dem Empfänger-Datenmember des Objekts CertificateEncryptionIdentity
zu.Object
-Array und weisen Sie das CertificateEncryptionIdentity
-Objekt dem ersten Element des Object
-Arrays zu. Dieses Object
-Array wird als Parameter an die encryptPDFUsingCertificates
-Methode übergeben.Legen Sie Optionen für die Verschlüsselungslaufzeit fest.
CertificateEncryptionOptionSpec
, indem Sie den Konstruktor verwenden.CertificateEncryptionOptionSpec
-Datenmember des Objekts option
einen CertificateEncryptionOption
-Auflistung-Wert zuweisen. Um das gesamte PDF-Dokument einschließlich seiner Metadaten und Anlagen zu verschlüsseln, weisen Sie diesem Datenmember CertificateEncryptionOption.ALL
zu.CertificateEncryptionOptionSpec
-Datenmember des Objekts compat
den Wert CertificateEncryptionCompatibility
der Auflistung zuweisen. Weisen Sie diesem Datenmember beispielsweise CertificateEncryptionCompatibility.ACRO_7
zu.Erstellen Sie ein zertifikatverschlüsseltes PDF-Dokument.
Verschlüsseln Sie das PDF-Dokument mit einem Zertifikat, indem Sie die encryptPDFUsingCertificates
-Methode des EncryptionServiceService
-Objekts aufrufen und die folgenden Werte übergeben:
BLOB
-Objekt, das das zu verschlüsselnde PDF-Dokument enthält.Object
-Array, das Zertifikatinformationen speichert.CertificateEncryptionOptionSpec
-Objekt, das Verschlüsselungslaufzeitoptionen enthält.Die encryptPDFUsingCertificates
-Methode gibt ein BLOB
-Objekt zurück, das ein zertifikatverschlüsseltes PDF-Dokument enthält.
Speichern Sie das verschlüsselte PDF-Dokument als PDF-Datei.
System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des geschützten PDF-Dokuments darstellt.BLOB
-Objekts speichert, das von der encryptPDFUsingCertificates
-Methode zurückgegeben wurde. Füllen Sie das Bytearray, indem Sie den Wert des BLOB
-Datenelements des Objekts binaryData
abrufen.System.IO.BinaryWriter
-Objekt, indem Sie den Konstruktor aufrufen und das System.IO.FileStream
-Objekt übergeben.System.IO.BinaryWriter
-Methode des Objekts aufrufen und das Bytearray übergeben.Write
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Zertifikatbasierte Verschlüsselung kann aus einem PDF-Dokument entfernt werden, damit Benutzer das PDF-Dokument in Adobe Reader oder Acrobat öffnen können. Zum Entfernen der Verschlüsselung aus einem PDF-Dokument, 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 Dienste-Referenz für AEM Forms.
So entfernen Sie die zertifikatbasierte Verschlüsselung aus 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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungsdienstclients
Um einen Encryption-Dienstvorgang programmgesteuert durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service API verwenden, erstellen Sie ein EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie ein EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Zum Entfernen der zertifikatbasierten Verschlüsselung benötigen Sie ein verschlüsseltes PDF-Dokument. Wenn Sie versuchen, eine Verschlüsselung aus 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 aus einem verschlüsselten PDF-Dokument benötigen Sie sowohl ein verschlüsseltes PDF-Dokument als auch den privaten Schlüssel, der dem zum Verschlüsseln des PDF-Dokuments verwendeten Schlüssel entspricht. Der Aliaswert des privaten Schlüssels wird beim Entfernen der zertifikatbasierten Verschlüsselung aus einem verschlüsselten PDF-Dokument angegeben. Informationen zum öffentlichen Schlüssel finden Sie unter PDF-Dokumente mit Zertifikaten verschlüsseln.
Ein privater Schlüssel wird im AEM Forms Trust Store gespeichert. Wenn dort ein Zertifikat platziert wird, wird ein Aliaswert 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
Beginn zur API für Verschlüsselungsdienst
Zertifikatbasierte Verschlüsselung aus einem PDF-Dokument mithilfe der Verschlüsselungs-API (Java) entfernen:
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienstclient.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Verschlüsseln Sie das PDF-Dokument.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, 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 aus dem PDF-Dokument, indem Sie die EncryptionServiceClient
-Methode des Objekts aufrufen und die folgenden Werte übergeben:removePDFCertificateSecurity
com.adobe.idp.Document
-Objekt, das das verschlüsselte PDF-Dokument enthält.Die removePDFCertificateSecurity
-Methode gibt ein com.adobe.idp.Document
-Objekt zurück, das ein ungeschütztes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateierweiterung .pdf ist.copyToFile
-Methode des Objekts auf, um den Inhalt des Document
-Objekts in die Datei zu kopieren. com.adobe.idp.Document
Stellen Sie sicher, dass Sie das com.adobe.idp.Document
-Objekt verwenden, das von der removePDFCredentialSecurity
-Methode zurückgegeben wurde.Siehe auch
Quick Beginn (SOAP-Modus): Zertifikatbasierte Verschlüsselung mit der Java-API entfernen
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Zertifikatbasierte Verschlüsselung mithilfe der Verschlüsselungs-API (Webdienst) entfernen:
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienstclient.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Verschlüsseln Sie das PDF-Dokument.
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern des verschlüsselten PDF-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.System.IO.FileStream
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.Read
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.Entfernen Sie die Verschlüsselung.
Rufen Sie die EncryptionServiceClient
-Methode des Objekts auf und übergeben Sie die folgenden Werte:removePDFCertificateSecurity
BLOB
-Objekt, das Dateistream-Daten enthält, die ein verschlüsseltes PDF-Dokument darstellen.Die removePDFCredentialSecurity
-Methode gibt ein BLOB
-Objekt zurück, das ein ungeschütztes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des ungesicherten PDF-Dokuments darstellt.BLOB
-Objekts speichert, das von der removePDFPasswordSecurity
-Methode zurückgegeben wurde. Füllen Sie das Bytearray, indem Sie den Wert des BLOB
-Datenelements des Objekts MTOM
abrufen.System.IO.BinaryWriter
-Objekt, indem Sie den Konstruktor aufrufen und das System.IO.FileStream
-Objekt übergeben.System.IO.BinaryWriter
-Methode des Objekts aufrufen und das Bytearray übergeben.Write
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit 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 sicher.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So entfernen Sie die kennwortbasierte Verschlüsselung aus 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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungsdienstclients
Um einen Encryption-Dienstvorgang programmgesteuert durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service API verwenden, erstellen Sie ein EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie ein EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Zum Entfernen der kennwortbasierten Verschlüsselung benötigen Sie ein verschlüsseltes PDF-Dokument. Wenn Sie versuchen, eine Verschlüsselung aus einem nicht verschlüsselten PDF-Dokument zu entfernen, wird eine Ausnahme ausgelöst.
Kennwort entfernen
Zum Entfernen der kennwortbasierten Verschlüsselung aus einem verschlüsselten PDF-Dokument benötigen Sie ein verschlüsseltes PDF-Dokument und einen Übergeordnet-Kennwortwert, mit dem die Verschlüsselung aus dem PDF-Dokument entfernt wird. Das Kennwort zum Öffnen eines kennwortverschlüsselten PDF-Dokuments kann nicht zum Entfernen der Verschlüsselung verwendet werden. Wenn das PDF-Dokument mit einem Kennwort verschlüsselt ist, wird ein Übergeordnet-Kennwort angegeben. (Siehe PDF-Dokumente mit einem Kennwort verschlüsseln.)
PDF-Dokument speichern
Nachdem der Encryption-Dienst die kennwortbasierte Verschlüsselung aus 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
Beginn zur API für Verschlüsselungsdienst
PDF-Dokumente mit einem Kennwort verschlüsseln
Entfernen Sie die kennwortbasierte Verschlüsselung aus einem PDF-Dokument mithilfe der Verschlüsselungs-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienstclient.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Verschlüsseln Sie das PDF-Dokument.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, 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 aus dem PDF-Dokument, indem Sie die EncryptionServiceClient
-Methode des Objekts aufrufen und die folgenden Werte übergeben:removePDFPasswordSecurity
com.adobe.idp.Document
-Objekt, das das verschlüsselte PDF-Dokument enthält.Die removePDFPasswordSecurity
-Methode gibt ein com.adobe.idp.Document
-Objekt zurück, das ein ungeschütztes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateinamenerweiterung .pdf lautet.copyToFile
-Methode des Objekts auf, um den Inhalt des Document
-Objekts in die Datei zu kopieren. com.adobe.idp.Document
Stellen Sie sicher, dass Sie das Document
-Objekt verwenden, das von der removePDFPasswordSecurity
-Methode zurückgegeben wurde.Siehe auch
Quick Beginn (SOAP-Modus): Kennwortbasierte Verschlüsselung mit der Java-API entfernen
Entfernen Sie die kennwortbasierte Verschlüsselung mithilfe der Verschlüsselungs-API (Webdienst):
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienstclient.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Verschlüsseln Sie das PDF-Dokument.
BLOB
, indem Sie den Konstruktor verwenden. Das BLOB
-Objekt wird zum Speichern eines kennwortverschlüsselten PDF-Dokuments verwendet.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.System.IO.FileStream
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.Read
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.Entfernen Sie das Kennwort.
Rufen Sie die EncryptionServiceService
-Methode des Objekts auf und übergeben Sie die folgenden Werte:removePDFPasswordSecurity
BLOB
-Objekt, das Dateistream-Daten enthält, die ein verschlüsseltes PDF-Dokument darstellen.Die removePDFPasswordSecurity
-Methode gibt ein BLOB
-Objekt zurück, das ein ungeschütztes PDF-Dokument enthält.
Speichern Sie das PDF-Dokument.
System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des ungesicherten PDF-Dokuments darstellt.BLOB
-Objekts speichert, das von der removePDFPasswordSecurity
-Methode zurückgegeben wurde. Füllen Sie das Bytearray, indem Sie den Wert des BLOB
-Datenelements des Objekts MTOM
abrufen.System.IO.BinaryWriter
-Objekt, indem Sie den Konstruktor aufrufen und das System.IO.FileStream
-Objekt übergeben.System.IO.BinaryWriter
-Methode des Objekts aufrufen und das Bytearray übergeben.Write
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Ein kennwortverschlüsseltes oder zertifikatverschlüsseltes PDF-Dokument muss entsperrt werden, bevor ein anderer AEM Forms-Vorgang darauf ausgeführt werden kann. Wenn Sie versuchen, einen Vorgang mit einem verschlüsselten PDF-Dokument auszuführen, wird eine Ausnahme generiert. Nachdem Sie ein verschlüsseltes PDF-Dokument entsperrt haben, können Sie einen oder mehrere Vorgänge daran durchführen. Diese Vorgänge können zu anderen Diensten gehören, z. B. dem Acrobat Reader DC Extensions-Dienst.
Weitere Informationen zum Encryption-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So entsperren Sie ein verschlüsseltes 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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Verschlüsselungsdienstclients
Um einen Encryption-Dienstvorgang programmgesteuert durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service API verwenden, erstellen Sie ein EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie ein EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein verschlüsseltes PDF-Dokument abrufen, um die Sperre aufzuheben. 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, mit dem ein kennwortverschlüsseltes PDF-Dokument geöffnet wird. Dieser Wert wird beim Verschlüsseln des PDF-Dokuments mit einem Kennwort angegeben. (Siehe PDF-Dokumente mit einem Kennwort verschlüsseln.)
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 anderen 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 eines verschlüsselten PDF-Dokuments mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Beginn zur API für Verschlüsselungsdienst
Entsperren Sie ein verschlüsseltes PDF-Dokument mithilfe der Verschlüsselungs-API (Java):
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Verschlüsselungsdienstclient.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Verschlüsseln Sie das PDF-Dokument.
java.io.FileInputStream
-Objekt, das das verschlüsselte PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, 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
- oder unlockPDFUsingCredential
-Objektmethode aufrufen.unlockPDFUsingPassword
Um ein mit einem Kennwort verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingPassword
-Methode auf und übergeben Sie die folgenden Werte:
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 auf und übergeben Sie die folgenden Werte:
com.adobe.idp.Document
-Objekt, das das zertifikatverschlüsselte PDF-Dokument enthält.Die Methoden unlockPDFUsingPassword
und unlockPDFUsingCredential
geben jeweils ein com.adobe.idp.Document
-Objekt zurück, das Sie zur Durchführung eines Vorgangs an eine andere AEM Forms Java-Methode übergeben.
Führen Sie einen AEM Forms-Vorgang durch.
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 nicht gesperrtes PDF-Dokument anwenden möchten, übergeben Sie das com.adobe.idp.Document
-Objekt, das von der unlockPDFUsingPassword
- oder unlockPDFUsingCredential
-Methode zurückgegeben wurde, an die ReaderExtensionsServiceClient
-Objektmethode applyUsageRights
.
Siehe auch
Quick Beginn (SOAP-Modus): Entsperren eines verschlüsselten PDF-Dokuments mithilfe der Java-API (SOAP-Modus)
Verwendungsrechte auf PDF-Dokumente anwenden
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Entsperren Sie ein verschlüsseltes PDF-Dokument mithilfe der Verschlüsselungs-API (Webdienst):
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Verschlüsselungsdienstclient.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Erstellen Sie ein verschlüsseltes PDF-Dokument.
BLOB
, indem Sie den Konstruktor verwenden.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.Read
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.System.IO.FileStream
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.Entsperren Sie das Dokument.
Entsperren Sie ein verschlüsseltes PDF-Dokument, indem Sie die EncryptionServiceClient
- oder unlockPDFUsingCredential
-Objektmethode aufrufen.unlockPDFUsingPassword
Um ein mit einem Kennwort verschlüsseltes PDF-Dokument zu entsperren, rufen Sie die unlockPDFUsingPassword
-Methode auf und übergeben Sie die folgenden Werte:
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 auf und übergeben Sie die folgenden Werte:
BLOB
-Objekt, das das zertifikatverschlüsselte PDF-Dokument enthält.Die Methoden unlockPDFUsingPassword
und unlockPDFUsingCredential
geben jeweils ein com.adobe.idp.Document
-Objekt zurück, das Sie zur Durchführung eines Vorgangs an eine andere AEM Forms-Methode übergeben.
Führen Sie einen AEM Forms-Vorgang durch.
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 nicht gesperrte PDF-Dokument anwenden möchten, übergeben Sie das BLOB
-Objekt, das von der unlockPDFUsingPassword
- oder unlockPDFUsingCredential
-Methode zurückgegeben wurde, an die ReaderExtensionsServiceClient
-Objektmethode applyUsageRights
.
Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef
Sie können den Verschlüsselungstyp, der ein PDF-Dokument schützt, mithilfe der Java Encryption Service API oder der Web Service Encryption Service API programmgesteuert bestimmen. Manchmal ist es notwendig, dynamisch zu bestimmen, ob ein PDF-Dokument verschlüsselt ist und, falls ja, der Verschlüsselungstyp. Sie können beispielsweise festlegen, ob ein PDF-Dokument mit einer kennwortbasierten 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 Dienste-Referenz für AEM Forms.
So bestimmen Sie den Verschlüsselungstyp, der ein PDF-Dokument schützt:
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 Proxydateien einschließen.
Die folgenden JAR-Dateien müssen dem Klassenpfad Ihres Projekts hinzugefügt werden:
Dienstclient erstellen
Um einen Encryption-Dienstvorgang programmgesteuert durchzuführen, müssen Sie einen Encryption-Dienstclient erstellen. Wenn Sie die Java Encryption Service API verwenden, erstellen Sie ein EncrytionServiceClient
-Objekt. Wenn Sie die Webdienst-Verschlüsselungs-Service-API verwenden, erstellen Sie ein EncryptionServiceService
-Objekt.
Verschlüsseltes PDF-Dokument abrufen
Sie müssen ein PDF-Dokument abrufen, um den Verschlüsselungstyp zu ermitteln, der ihn schützt.
Ermitteln des Verschlüsselungstyps
Sie können den Verschlüsselungstyp bestimmen, der zum Schutz eines PDF-Dokuments dient. Wenn das PDF-Dokument nicht geschützt ist, informiert Sie der Encryption-Dienst darüber, dass das PDF-Dokument nicht geschützt 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
Beginn zur API für Verschlüsselungsdienst
Schutz von Dokumenten mit Richtlinien
Bestimmen Sie mithilfe der Verschlüsselungs-API (Java) den Verschlüsselungstyp, der ein PDF-Dokument schützt:
Schließen Sie Projektdateien ein.
Schließen Sie Client-JAR-Dateien, wie z. B. "adobe-cryption-client.jar", in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Dienstclient.
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.EncryptionServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Verschlüsseln Sie das PDF-Dokument.
java.io.FileInputStream
-Objekt, das das PDF-Dokument darstellt, indem Sie den Konstruktor verwenden und einen Zeichenfolgenwert übergeben, der den Speicherort des PDF-Dokuments angibt.com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und das java.io.FileInputStream
-Objekt übergeben.Ermitteln Sie den Verschlüsselungstyp.
EncryptionServiceClient
-Objektmethode getPDFEncryption
aufrufen und das com.adobe.idp.Document
-Objekt übergeben, das das PDF-Dokument enthält. Diese Methode gibt ein EncryptionTypeResult
-Objekt zurück.EncryptionTypeResult
-Methode des Objekts getEncryptionType
auf. Diese Methode gibt einen Enum-Wert von EncryptionType
zurück, der den Verschlüsselungstyp angibt. Wenn das PDF-Dokument beispielsweise mit einer kennwortbasierten Verschlüsselung geschützt ist, gibt diese Methode EncryptionType.PASSWORD
zurück.Siehe auch
Quick Beginn (SOAP-Modus): Ermitteln des Verschlüsselungstyps mithilfe der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Bestimmen Sie mithilfe der Verschlüsselungs-API (Webdienst) den Verschlüsselungstyp, der ein PDF-Dokument schützt:
Schließen Sie Projektdateien ein.
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 Sie localhost
durch die IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Dienstclient.
Erstellen Sie ein EncryptionServiceClient
-Objekt mit dem Standardkonstruktor.
Erstellen Sie ein EncryptionServiceClient.Endpoint.Address
-Objekt mit dem Konstruktor System.ServiceModel.EndpointAddress
. Übergeben Sie einen Zeichenfolgenwert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/EncryptionService?WSDL
). Sie müssen das Attribut lc_version
nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.)
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des Felds EncryptionServiceClient.Endpoint.Binding
abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Setzen Sie das Feld System.ServiceModel.BasicHttpBinding
des Objekts auf MessageEncoding
. 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
den AEM Forms-Benutzernamen zu.EncryptionServiceClient.ClientCredentials.UserName.Password
den entsprechenden Kennwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den Konstantenwert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den Konstantenwert BasicHttpSecurityMode.TransportCredentialOnly
zu.Verschlüsseln Sie das PDF-Dokument.
BLOB
, indem Sie den Konstruktor verwenden.System.IO.FileStream
-Objekt, indem Sie den Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Dateispeicherort des verschlüsselten PDF-Dokuments und den Dateimodus darstellt, in dem die Datei geöffnet werden soll.System.IO.FileStream
speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream
-Eigenschaft des Objekts Length
abrufen.Read
-Methode des Objekts aufrufen und das Bytearray, die Startposition und die zu lesende Stream-Länge übergeben.System.IO.FileStream
BLOB
-Objekt, indem Sie den Inhalt des Byte-Arrays dem BLOB
-Datenmember des Objekts MTOM
zuweisen.Ermitteln Sie den Verschlüsselungstyp.
getPDFEncryption
-Methode des Objekts auf und übergeben Sie das BLOB
-Objekt, das das PDF-Dokument enthält. EncryptionServiceClient
Diese Methode gibt ein EncryptionTypeResult
-Objekt zurück.EncryptionTypeResult
des Objekts ab. encryptionType
Wenn das PDF-Dokument beispielsweise mit einer kennwortbasierten Verschlüsselung geschützt ist, lautet der Wert dieses Datenelements EncryptionType.PASSWORD
.Siehe auch
Aufrufen von AEM Forms mit MTOM
Aufrufen von AEM Forms mit SwaRef