PDF-documenten versleutelen en ontsleutelen encrypting-and-decrypting-pdf-documents
de Steekproeven en de voorbeelden in dit document zijn slechts voor AEM Forms op milieu JEE.
Ongeveer de Dienst van de Encryptie
Met de coderingsservice kunt u documenten versleutelen en decoderen. Wanneer een document wordt versleuteld, wordt de inhoud ervan onleesbaar. Een geautoriseerde gebruiker kan het document decoderen om toegang tot de inhoud te krijgen. Als een PDF-document met een wachtwoord is versleuteld, moet de gebruiker het wachtwoord voor openen opgeven voordat het document in Adobe Reader of Adobe Acrobat kan worden weergegeven. Als een PDF-document met een certificaat is versleuteld, moet de gebruiker het PDF-document decoderen met de openbare sleutel die overeenkomt met het certificaat (de persoonlijke sleutel) waarmee het PDF-document is versleuteld.
U kunt deze taken uitvoeren met behulp van de coderingsservice:
- Codeer een PDF-document met een wachtwoord. (Zie Coderend de Documenten van PDF met een Wachtwoord.)
- Codeer een PDF-document met een certificaat. (Zie Coderend de Documenten van PDF met Certificaten.)
- Verwijder op wachtwoord gebaseerde versleuteling uit een PDF-document. (Zie het Verwijderen van de Encryptie van het Wachtwoord.)
- Verwijder op een certificaat gebaseerde versleuteling uit een PDF-document. (Zie het Verwijderen van Certificaat Gebaseerde Encryptie.)
- Ontgrendel het document van de PDF zodat andere de dienstverrichtingen kunnen worden uitgevoerd. Nadat een met een wachtwoord gecodeerd PDF-document bijvoorbeeld is ontgrendeld, kunt u er een digitale handtekening op toepassen. (Zie ontgrendelen de Gecodeerde Documenten van PDF.)
- Bepaal het versleutelingstype van een beveiligd PDF-document. (Zie Bepalend Type van Encryptie.)
PDF-documenten versleutelen met een wachtwoord encrypting-pdf-documents-with-a-password
Wanneer u een PDF-document versleutelt met een wachtwoord, moet een gebruiker het wachtwoord opgeven om het PDF-document te openen in Adobe Reader of Acrobat. Voordat een andere AEM Forms-bewerking, zoals het digitaal ondertekenen van het PDF-document, op het document kan worden uitgevoerd, moet een met wachtwoord gecodeerd PDF-document worden ontgrendeld.
Overzicht van de stappen summary-of-steps
Voer de volgende stappen uit om een PDF-document met een wachtwoord te coderen:
- Inclusief projectbestanden.
- Maak een Encryption Client API-object.
- Een PDF-document ophalen om te versleutelen.
- Stel opties voor codering tijdens runtime in.
- Voeg het wachtwoord toe.
- Sla het gecodeerde PDF-document op als een PDF-bestand.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
creeer een voorwerp van de Cliënt van de Encryptie API
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen.
krijg een te coderen document van PDF
Verkrijg een niet-gecodeerd document van de PDF om het document met een wachtwoord te coderen. Als u probeert een PDF-document te beveiligen dat al is versleuteld, veroorzaakt u een uitzondering.
vastgestelde encryptie runtime opties
Als u een PDF-document met een wachtwoord wilt versleutelen, geeft u vier waarden op, waaronder twee wachtwoordwaarden. Het eerste wachtwoord wordt gebruikt om het PDF-document te versleutelen en moet worden opgegeven bij het openen van het PDF-document. De tweede wachtwoordwaarde, die de hoofdwachtwoordwaarde wordt genoemd, wordt gebruikt om encryptie uit het document van de PDF te verwijderen. Wachtwoordwaarden zijn hoofdlettergevoelig en deze twee wachtwoordwaarden kunnen niet dezelfde waarden zijn.
Geef de bronnen voor het PDF-document op die u wilt versleutelen. U kunt het volledige document van de PDF, alles behalve de meta-gegevens van het document, of enkel de gehechtheid van het document coderen. Als u alleen de bijlagen van het document versleutelt, wordt een gebruiker om een wachtwoord gevraagd wanneer hij of zij de bestandsbijlagen wil openen.
Wanneer u een PDF-document versleutelt, kunt u machtigingen opgeven die aan het beveiligde document zijn gekoppeld. Door machtigingen op te geven, kunt u de handelingen beheren die een gebruiker die een met een wachtwoord gecodeerd PDF-document opent, mag uitvoeren. Als u bijvoorbeeld met succes formuliergegevens wilt extraheren, moet u de volgende machtigingen instellen:
- PASSWORD_EDIT_ADD
- WACHTWOORD_EDIT_MODIFY
PasswordEncryptionPermission
opsommingswaarden.voeg het wachtwoord toe
Nadat u een onbeveiligd PDF-document hebt opgehaald en waarden voor de codering hebt ingesteld, kunt u een wachtwoord toevoegen aan het PDF-document.
sparen het gecodeerde document van PDF als dossier van PDF
U kunt het met een wachtwoord gecodeerde PDF-document opslaan als een PDF-bestand.
zie ook
Een PDF-document versleutelen met de Java API
Een PDF-document versleutelen met de API voor webservices
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document versleutelen met de Java API encrypt-a-pdf-document-using-the-java-api
Codeer een PDF-document met een wachtwoord met behulp van de API voor versleuteling (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een versleutelingsclient-API.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Een PDF-document ophalen om te versleutelen.
- Maak een
java.io.FileInputStream
-object dat staat voor het PDF-document dat moet worden gecodeerd met de constructor ervan en geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Stel opties voor codering tijdens runtime in.
- Maak een
PasswordEncryptionOptionSpec
-object door de constructor ervan aan te roepen. - Geef de bronnen van het PDF-document op die moeten worden gecodeerd door de methode
setEncryptOption
van hetPasswordEncryptionOptionSpec
-object aan te roepen en een opsommingswaardePasswordEncryptionOption
door te geven die de documentbronnen aangeeft die moeten worden gecodeerd. Als u bijvoorbeeld het gehele PDF-document wilt versleutelen, inclusief de metagegevens en de bijlagen, geeft uPasswordEncryptionOption.ALL
op. - Maak een
java.util.List
-object dat de versleutelingsmachtigingen opslaat met deArrayList
-constructor. - Geef een machtiging op door de methode
add
van het objectjava.util.List
aan te roepen en een opsommingswaarde door te geven die overeenkomt met de machtiging die u wilt instellen. Als u bijvoorbeeld de machtiging wilt instellen waarmee een gebruiker gegevens in het PDF-document kan kopiëren, geeft uPasswordEncryptionPermission.PASSWORD_EDIT_COPY
op. (Herhaal deze stap voor elke machtiging die moet worden ingesteld). - Geef de Acrobat-compatibiliteitsoptie op door de methode
setCompatability
van hetPasswordEncryptionOptionSpec
-object op te roepen en een opsommingswaarde door te geven die het Acrobat-compatibiliteitsniveau opgeeft. U kunt bijvoorbeeldPasswordEncryptionCompatability.ACRO_7
opgeven. - Geef de wachtwoordwaarde op waarmee een gebruiker het gecodeerde PDF-document kan openen door de methode
setDocumentOpenPassword
van het objectPasswordEncryptionOptionSpec
aan te roepen en een tekenreekswaarde door te geven die het open wachtwoord vertegenwoordigt. - Geef de waarde van het hoofdwachtwoord op waarmee een gebruiker de versleuteling uit het PDF-document kan verwijderen door de methode
setPermissionPassword
van het objectPasswordEncryptionOptionSpec
aan te roepen en een tekenreekswaarde door te geven die het hoofdwachtwoord vertegenwoordigt.
- Maak een
-
Voeg het wachtwoord toe.
Codeer het PDF-document door de methode
encryptPDFUsingPassword
van het objectEncryptionServiceClient
aan te roepen en de volgende waarden door te geven:- Het
com.adobe.idp.Document
-object dat het PDF-document bevat dat met het wachtwoord moet worden gecodeerd. - Het
PasswordEncryptionOptionSpec
-object dat opties voor codering tijdens runtime bevat.
De methode
encryptPDFUsingPassword
retourneert eencom.adobe.idp.Document
-object dat een met een wachtwoord gecodeerd PDF-document bevat. - Het
-
Sla het gecodeerde PDF-document op als een PDF-bestand.
- Maak een
java.io.File
-object en controleer of de bestandsextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren. Gebruik het objectcom.adobe.idp.Document
dat door de methodeencryptPDFUsingPassword
is geretourneerd.
- Maak een
zie ook
Snel starten (SOAP modus): Een PDF-document versleutelen met de Java API
Een PDF-document versleutelen met de API voor webservices encrypting-a-pdf-document-using-the-web-service-api
Codeer een PDF-document met een wachtwoord met behulp van de API voor versleuteling (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Encryption Client API-object.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Een PDF-document ophalen om te versleutelen.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om een PDF-document op te slaan dat met een wachtwoord is versleuteld. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het te coderen PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
.
- Maak een
-
Stel opties voor codering tijdens runtime in.
- Maak een
PasswordEncryptionOptionSpec
-object met behulp van de constructor. - Geef de PDF-documentbronnen op die moeten worden gecodeerd door een
PasswordEncryptionOption
-opsommingswaarde toe te wijzen aan het gegevenslid van hetPasswordEncryptionOptionSpec
objectencryptOption
. Als u de volledige PDF wilt coderen, inclusief de metagegevens en de bijlagen, wijst uPasswordEncryptionOption.ALL
toe aan dit gegevenslid. - Geef de compatibiliteitsoptie Acrobat op door een opsommingswaarde
PasswordEncryptionCompatability
toe te wijzen aan het gegevenslid van hetPasswordEncryptionOptionSpec
objectcompatability
. Wijs bijvoorbeeldPasswordEncryptionCompatability.ACRO_7
toe aan dit gegevenslid. - Geef de wachtwoordwaarde op waarmee een gebruiker het gecodeerde PDF-document kan openen door een tekenreekswaarde toe te wijzen die het open wachtwoord vertegenwoordigt voor het
documentOpenPassword
-gegevenslid van hetPasswordEncryptionOptionSpec
-object. - Geef de wachtwoordwaarde op waarmee een gebruiker versleuteling uit het PDF-document kan verwijderen door een tekenreekswaarde toe te wijzen die het hoofdwachtwoord vertegenwoordigt aan het
permissionPassword
-gegevenslid van hetPasswordEncryptionOptionSpec
-object.
- Maak een
-
Voeg het wachtwoord toe.
Codeer het PDF-document door de methode
encryptPDFUsingPassword
van het objectEncryptionServiceClient
aan te roepen en de volgende waarden door te geven:- Het
BLOB
-object dat het PDF-document bevat dat met het wachtwoord moet worden gecodeerd. - Het
PasswordEncryptionOptionSpec
-object dat opties voor codering tijdens runtime bevat.
De methode
encryptPDFUsingPassword
retourneert eenBLOB
-object dat een met een wachtwoord gecodeerd PDF-document bevat. - Het
-
Sla het gecodeerde PDF-document op als een PDF-bestand.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het beveiligde PDF-document vertegenwoordigt. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat door de methodeencryptPDFUsingPassword
is geretourneerd. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
PDF-documenten versleutelen met certificaten encrypting-pdf-documents-with-certificates
Met codering op basis van certificaten kunt u een document voor specifieke ontvangers versleutelen met behulp van technologie voor openbare sleutels. Verschillende ontvangers kunnen verschillende machtigingen voor het document krijgen. Veel aspecten van versleuteling worden mogelijk gemaakt door de technologie van de openbare sleutel. Een algoritme wordt gebruikt om twee grote aantallen te produceren, die als sleutels worden bekend, die de volgende eigenschappen hebben:
- Eén sleutel wordt gebruikt om een set gegevens te coderen. Vervolgens kan alleen de andere sleutel worden gebruikt om de gegevens te decoderen.
- Het is onmogelijk om de ene sleutel van de andere te onderscheiden.
Een van de toetsen fungeert als de persoonlijke sleutel van een gebruiker. Het is belangrijk dat alleen de gebruiker toegang heeft tot deze sleutel. De andere sleutel is de openbare sleutel van de gebruiker, die met anderen kan worden gedeeld.
Een certificaat met een openbare sleutel bevat de openbare sleutel van een gebruiker en identificeert informatie. De indeling X.509 wordt gebruikt voor het opslaan van certificaten. Certificaten worden doorgaans uitgegeven en digitaal ondertekend door een certificeringsinstantie (CA), een erkende entiteit die een zekere mate van vertrouwen biedt in de geldigheid van het certificaat. Certificaten hebben een vervaldatum waarna ze niet meer geldig zijn. Bovendien bevatten de certificaatintrekkingslijsten (CRL's) informatie over certificaten die vóór de vervaldatum zijn ingetrokken. CRL's worden periodiek gepubliceerd door certificeringsinstanties. De intrekkingsstatus van een certificaat kan ook via het online certificaatstatusprotocol (OCSP) via het netwerk worden opgehaald.
Overzicht van de stappen summary_of_steps-1
Voer de volgende stappen uit om een PDF-document te versleutelen met een certificaat:
- Inclusief projectbestanden.
- Maak een Encryption Client API-object.
- Een PDF-document ophalen om te versleutelen.
- Verwijs naar het certificaat.
- Stel opties voor codering tijdens runtime in.
- Maak een met een certificaat gecodeerd PDF-document.
- Sla het gecodeerde PDF-document op als een PDF-bestand.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
creeer een voorwerp van de Cliënt van de Encryptie API
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen. Als u de Java Encryption Service API gebruikt, maakt u een EncrytionServiceClient
-object. Als u de webservice-API gebruikt, maakt u een EncryptionServiceService
-object.
krijg een te coderen document van PDF
Vraag een niet-gecodeerd PDF-document aan om te versleutelen. Als u probeert een PDF-document te beveiligen dat al is versleuteld, wordt een uitzondering gegenereerd.
Verwijzing het certificaat
Als u een PDF-document wilt versleutelen met een certificaat, verwijst u naar een certificaat dat wordt gebruikt om een PDF-document te versleutelen. Het certificaat is een .cer-bestand, een .crt-bestand of een .pem-bestand. Een PKCS#12-bestand wordt gebruikt voor het opslaan van persoonlijke sleutels met de bijbehorende certificaten.
Wanneer u een PDF-document versleutelt met een certificaat, geeft u de machtigingen op die aan het beveiligde document zijn gekoppeld. Door machtigingen op te geven, kunt u de handelingen beheren die een gebruiker die een met een certificaat gecodeerd PDF-document opent, kan uitvoeren.
vastgestelde encryptie runtime opties
Geef de bronnen voor het PDF-document op die u wilt versleutelen. U kunt het volledige document van de PDF, alles behalve de meta-gegevens van het document, of slechts de gehechtheid van het document coderen.
creeer een certificaat-gecodeerd document van de PDF
Nadat u een onbeveiligd PDF-document hebt opgehaald, naar het certificaat verwijst en uitvoeringsopties hebt ingesteld, kunt u een met een certificaat gecodeerd PDF-document maken. Nadat het PDF-document is versleuteld, hebt u de bijbehorende openbare sleutel nodig om het te decoderen.
sparen het gecodeerde document van PDF als dossier van PDF
U kunt het gecodeerde PDF-document opslaan als een PDF-bestand.
zie ook
Een PDF-document versleutelen met een certificaat met de Java API
Een PDF-document versleutelen met een certificaat met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document versleutelen met een certificaat met de Java API encrypt-a-pdf-document-with-a-certificate-using-the-java-api
Codeer een PDF-document met een certificaat met behulp van de API voor versleuteling (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Encryption Client API-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Een PDF-document ophalen om te versleutelen.
- Maak een
java.io.FileInputStream
-object dat staat voor het PDF-document dat moet worden gecodeerd met de constructor ervan en geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Verwijs naar het certificaat.
- Maak een
java.util.List
-object dat machtigingsinformatie opslaat met de constructor ervan. - Geef de machtigingen op die aan het gecodeerde document zijn gekoppeld door de methode
add
van het objectjava.util.List
aan te roepen en een opsommingswaardeCertificateEncryptionPermissions
door te geven die de machtigingen vertegenwoordigt die zijn verleend aan de gebruiker die het beveiligde PDF-document opent. Wanneer u bijvoorbeeld alle machtigingen wilt opgeven, geeft uCertificateEncryptionPermissions.PKI_ALL_PERM
door. - Maak een
Recipient
-object met behulp van de constructor. - Maak een
java.io.FileInputStream
-object dat het certificaat vertegenwoordigt dat wordt gebruikt om het PDF-document te versleutelen met behulp van de constructor ervan en door het doorgeven van een tekenreekswaarde die de locatie van het certificaat opgeeft. - Maak een
com.adobe.idp.Document
-object met behulp van de constructor en geef hetjava.io.FileInputStream
-object door dat het certificaat vertegenwoordigt. - Roep de methode
setX509Cert
van het objectRecipient
aan en geef het objectcom.adobe.idp.Document
met het certificaat door. (Bovendien kan hetRecipient
voorwerp een alias van het Certificaat van Truststore of LDAP URL als certificaatbron hebben.) - Maak een
CertificateEncryptionIdentity
-object dat machtiging- en certificaatgegevens opslaat met de constructor ervan. - Roep de methode
setPerms
van hetCertificateEncryptionIdentity
-object aan en geef hetjava.util.List
-object door dat machtigingsgegevens opslaat. - Roep de methode
setRecipient
van het objectCertificateEncryptionIdentity
aan en geef het objectRecipient
door waarin certificaatgegevens zijn opgeslagen. - Maak een
java.util.List
-object dat certificaatinformatie opslaat met behulp van de constructor. - Roep de methode add van het object
java.util.List
aan en geef het objectCertificateEncryptionIdentity
door. (Ditjava.util.List
-object wordt als een parameter aan de methodeencryptPDFUsingCertificates
doorgegeven.)
- Maak een
-
Stel opties voor codering tijdens runtime in.
- Maak een
CertificateEncryptionOptionSpec
-object door de constructor ervan aan te roepen. - Geef de bronnen van het PDF-document op die moeten worden gecodeerd door de methode
setOption
van hetCertificateEncryptionOptionSpec
-object aan te roepen en een opsommingswaardeCertificateEncryptionOption
door te geven die de documentbronnen aangeeft die moeten worden gecodeerd. Als u bijvoorbeeld het gehele PDF-document wilt versleutelen, inclusief de metagegevens en de bijlagen, geeft uCertificateEncryptionOption.ALL
op. - Geef de compatibiliteitsoptie Acrobat op door de methode
setCompat
van hetCertificateEncryptionOptionSpec
-object op te roepen en een opsommingswaardeCertificateEncryptionCompatibility
door te geven die het Acrobat-compatibiliteitsniveau opgeeft. U kunt bijvoorbeeldCertificateEncryptionCompatibility.ACRO_7
opgeven.
- Maak een
-
Maak een met een certificaat gecodeerd PDF-document.
Codeer het PDF-document met een certificaat door de methode
encryptPDFUsingCertificates
van het objectEncryptionServiceClient
aan te roepen en de volgende waarden door te geven:- Het
com.adobe.idp.Document
-object dat het te coderen PDF-document bevat. - Het
java.util.List
-object dat certificaatinformatie opslaat. - Het
CertificateEncryptionOptionSpec
-object dat opties voor codering tijdens runtime bevat.
De methode
encryptPDFUsingCertificates
retourneert eencom.adobe.idp.Document
-object dat een met een certificaat gecodeerd PDF-document bevat. - Het
-
Sla het gecodeerde PDF-document op als een PDF-bestand.
- Maak een
java.io.File
-object en controleer of de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren. Gebruik het objectcom.adobe.idp.Document
dat door de methodeencryptPDFUsingCertificates
is geretourneerd.
- Maak een
zie ook
Snel starten (SOAP modus): Een PDF-document coderen met een certificaat met de Java API
Een PDF-document versleutelen met een certificaat met de webservice-API encrypt-a-pdf-document-with-a-certificate-using-the-web-service-api
Codeer een PDF-document met een certificaat met behulp van de API voor versleuteling (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Encryption Client API-object.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Een PDF-document ophalen om te versleutelen.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om een PDF-document op te slaan dat met een certificaat is versleuteld. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het te coderen PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het object
BLOB
door de eigenschapMTOM
ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Verwijs naar het certificaat.
- Maak een
Recipient
-object met behulp van de constructor. In dit object worden certificaatgegevens opgeslagen. - Maak een
BLOB
-object met behulp van de constructor. In ditBLOB
-object wordt het certificaat opgeslagen waarmee het PDF-document wordt versleuteld. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het certificaat en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
. - Wijs het
BLOB
-object toe dat het certificaat opslaat naar het gegevenslid van hetRecipient
objectx509Cert
. - Maak een
CertificateEncryptionIdentity
-object dat certificaatinformatie opslaat met behulp van de constructor. - Wijs het
Recipient
voorwerp toe dat het certificaat aan hetCertificateEncryptionIdentity
ontvankelijke gegevenslid van objecten {opslaat. - Maak een array
Object
en wijs het objectCertificateEncryptionIdentity
toe aan het eerste element van de arrayObject
. DezeObject
-array wordt als een parameter aan deencryptPDFUsingCertificates
-methode doorgegeven.
- Maak een
-
Stel opties voor codering tijdens runtime in.
- Maak een
CertificateEncryptionOptionSpec
-object met behulp van de constructor. - Geef de PDF-documentbronnen op die moeten worden gecodeerd door een
CertificateEncryptionOption
-opsommingswaarde toe te wijzen aan het gegevenslid van hetCertificateEncryptionOptionSpec
objectoption
. Als u het gehele PDF-document wilt versleutelen, inclusief de metagegevens en de bijlagen, wijst uCertificateEncryptionOption.ALL
toe aan dit gegevenslid. - Geef de compatibiliteitsoptie Acrobat op door een opsommingswaarde
CertificateEncryptionCompatibility
toe te wijzen aan het gegevenslid van hetCertificateEncryptionOptionSpec
objectcompat
. Wijs bijvoorbeeldCertificateEncryptionCompatibility.ACRO_7
toe aan dit gegevenslid.
- Maak een
-
Maak een met een certificaat gecodeerd PDF-document.
Codeer het PDF-document met een certificaat door de methode
encryptPDFUsingCertificates
van het objectEncryptionServiceService
aan te roepen en de volgende waarden door te geven:- Het
BLOB
-object dat het te coderen PDF-document bevat. - De array
Object
die certificaatinformatie opslaat. - Het
CertificateEncryptionOptionSpec
-object dat opties voor codering tijdens runtime bevat.
De methode
encryptPDFUsingCertificates
retourneert eenBLOB
-object dat een met een certificaat gecodeerd PDF-document bevat. - Het
-
Sla het gecodeerde PDF-document op als een PDF-bestand.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het beveiligde PDF-document vertegenwoordigt. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat door de methodeencryptPDFUsingCertificates
is geretourneerd. Vul de bytearray met de waarde van het gegevenslidbinaryData
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Versleuteling op basis van een certificaat verwijderen removing-certificate-based-encryption
Op een certificaat gebaseerde versleuteling kan uit een PDF-document worden verwijderd, zodat gebruikers het PDF-document in Adobe Reader of Acrobat kunnen openen. Als u versleuteling wilt verwijderen uit een PDF-document dat is versleuteld met een certificaat, moet naar een openbare sleutel worden verwezen. Nadat de versleuteling is verwijderd uit een PDF-document, is het niet meer beveiligd.
Overzicht van de stappen summary_of_steps-2
Voer de volgende stappen uit om op een certificaat gebaseerde versleuteling te verwijderen uit een PDF-document:
- Inclusief projectbestanden.
- Maak een versleutelingsserviceclient.
- Hiermee wordt het gecodeerde PDF-document opgehaald.
- Versleuteling verwijderen.
- Sla het PDF-document op als een PDF-bestand.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
creeer een cliënt van de encryptiedienst
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen. Als u de Java Encryption Service API gebruikt, maakt u een EncrytionServiceClient
-object. Als u de webservice-API gebruikt, maakt u een EncryptionServiceService
-object.
krijgt het gecodeerde document van de PDF
Vraag een gecodeerd PDF-document aan om versleuteling op basis van certificaten te verwijderen. Als u probeert versleuteling te verwijderen uit een niet-versleuteld PDF-document, wordt een uitzondering gegenereerd. Op dezelfde manier wordt een uitzondering gegenereerd als u probeert versleuteling op basis van een certificaat te verwijderen uit een met een wachtwoord gecodeerd document.
verwijdert encryptie
Als u versleutelde PDF-documenten wilt versleutelen op basis van een certificaat, hebt u zowel een versleuteld PDF-document als de persoonlijke sleutel nodig die overeenkomt met de sleutel waarmee het PDF-document is versleuteld. De aliaswaarde van de persoonlijke sleutel wordt opgegeven wanneer op een certificaat gebaseerde versleuteling wordt verwijderd uit een versleuteld PDF-document. Voor informatie over de openbare sleutel, zie het Coderen van de Documenten van PDF met Certificaten.
sparen het document van de PDF
Nadat op een certificaat gebaseerde versleuteling is verwijderd uit een versleuteld PDF-document, kunt u het PDF-document opslaan als een PDF-bestand. Gebruikers kunnen het PDF-document openen in Adobe Reader of Acrobat.
zie ook
Op certificaten gebaseerde codering verwijderen met de Java API
Op certificaten gebaseerde versleuteling verwijderen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Op certificaten gebaseerde codering verwijderen met de Java API remove-certificate-based-encryption-using-the-java-api
Verwijder op een certificaat gebaseerde versleuteling uit een PDF-document met de API voor versleuteling (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een versleutelingsserviceclient.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
java.io.FileInputStream
-object dat het gecodeerde PDF-document vertegenwoordigt door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het gecodeerde PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Versleuteling verwijderen.
Verwijder op een certificaat gebaseerde versleuteling uit het PDF-document door de methode
removePDFCertificateSecurity
van het objectEncryptionServiceClient
aan te roepen en de volgende waarden door te geven:- Het
com.adobe.idp.Document
-object dat het gecodeerde PDF-document bevat. - Een tekenreekswaarde die de aliasnaam van de persoonlijke sleutel opgeeft die overeenkomt met de sleutel die wordt gebruikt om het PDF-document te versleutelen.
De methode
removePDFCertificateSecurity
retourneert eencom.adobe.idp.Document
-object dat een onbeveiligd PDF-document bevat. - Het
-
Sla het PDF-document op.
- Maak een
java.io.File
-object en controleer of de bestandsextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectDocument
naar het bestand te kopiëren. Gebruik het objectcom.adobe.idp.Document
dat door de methoderemovePDFCredentialSecurity
is geretourneerd.
- Maak een
zie ook
Snel starten (SOAP modus): codering op basis van een certificaat verwijderen met de Java API
Op certificaten gebaseerde versleuteling verwijderen met de webservice-API remove-certificate-based-encryption-using-the-web-service-api
Verwijder op een certificaat gebaseerde codering met de API voor codering (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een versleutelingsserviceclient.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om het gecodeerde PDF-document op te slaan. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het gecodeerde PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
.
- Maak een
-
Versleuteling verwijderen.
Roep de methode
removePDFCertificateSecurity
van het objectEncryptionServiceClient
aan en geef de volgende waarden door:- Het
BLOB
-object dat bestandsstreamgegevens bevat die een gecodeerd PDF-document vertegenwoordigen. - Een tekenreekswaarde die de aliasnaam van de openbare sleutel opgeeft die overeenkomt met de persoonlijke sleutel die wordt gebruikt om het PDF-document te versleutelen.
De methode
removePDFCredentialSecurity
retourneert eenBLOB
-object dat een onbeveiligd PDF-document bevat. - Het
-
Sla het PDF-document op.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het onbeveiligde PDF-document vertegenwoordigt. - Maak een bytearray waarin de inhoud wordt opgeslagen van het
BLOB
-object dat door de methoderemovePDFPasswordSecurity
is geretourneerd. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Wachtwoordversleuteling verwijderen removing-password-encryption
Op wachtwoord gebaseerde versleuteling kan uit een PDF-document worden verwijderd, zodat gebruikers het PDF-document in Adobe Reader of Acrobat kunnen openen zonder een wachtwoord op te geven. Nadat op een wachtwoord gebaseerde versleuteling is verwijderd uit een PDF-document, is het document niet meer beveiligd.
Overzicht van de stappen summary_of_steps-3
Voer de volgende stappen uit om op een wachtwoord gebaseerde versleuteling te verwijderen uit een PDF-document:
- Projectbestanden opnemen
- Maak een versleutelingsserviceclient.
- Hiermee wordt het gecodeerde PDF-document opgehaald.
- Verwijder het wachtwoord.
- Sla het PDF-document op als een PDF-bestand.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
creeer een cliënt van de encryptiedienst
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen. Als u de Java Encryption Service API gebruikt, maakt u een EncrytionServiceClient
-object. Als u de webservice-API gebruikt, maakt u een EncryptionServiceService
-object.
krijgt het gecodeerde document van de PDF
Vraag een gecodeerd PDF-document aan om op wachtwoord gebaseerde versleuteling te verwijderen. Als u probeert versleuteling te verwijderen uit een niet-versleuteld PDF-document, wordt een uitzondering gegenereerd.
verwijder het wachtwoord
Om op wachtwoord-gebaseerde encryptie uit een gecodeerd document van de PDF te verwijderen, vereist u zowel een gecodeerd document van de PDF als een hoofdwachtwoordwaarde die wordt gebruikt om encryptie uit het document van de PDF te verwijderen. Het wachtwoord waarmee een met wachtwoord gecodeerd PDF-document wordt geopend, kan niet worden gebruikt om versleuteling te verwijderen. Er wordt een hoofdwachtwoord opgegeven wanneer het PDF-document met een wachtwoord is versleuteld. (Zie Coderend de Documenten van PDF met een Wachtwoord.)
sparen het document van de PDF
Nadat de coderingsservice op wachtwoord gebaseerde codering uit een PDF-document heeft verwijderd, kunt u het PDF-document opslaan als een PDF-bestand. Gebruikers kunnen het PDF-document openen in Adobe Reader of Acrobat zonder een wachtwoord op te geven.
zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Op wachtwoorden gebaseerde codering verwijderen met de Java API remove-password-based-encryption-using-the-java-api
Verwijder op wachtwoord gebaseerde codering uit een PDF-document met de API voor codering (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een versleutelingsserviceclient.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
java.io.FileInputStream
-object dat het gecodeerde PDF-document vertegenwoordigt door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Verwijder het wachtwoord.
Verwijder op wachtwoord gebaseerde codering uit het PDF-document door de methode
removePDFPasswordSecurity
van het objectEncryptionServiceClient
aan te roepen en de volgende waarden door te geven:- Een
com.adobe.idp.Document
-object dat het gecodeerde PDF-document bevat. - Een tekenreekswaarde die de hoofdwachtwoordwaarde opgeeft die wordt gebruikt om versleuteling te verwijderen uit het PDF-document.
De methode
removePDFPasswordSecurity
retourneert eencom.adobe.idp.Document
-object dat een onbeveiligd PDF-document bevat. - Een
-
Sla het PDF-document op.
- Maak een
java.io.File
-object en controleer of de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectDocument
naar het bestand te kopiëren. Gebruik het objectDocument
dat door de methoderemovePDFPasswordSecurity
is geretourneerd.
- Maak een
zie ook
Snel starten (SOAP modus): codering op basis van wachtwoord verwijderen met de Java API
Op wachtwoorden gebaseerde codering verwijderen met de webservice-API remove-password-based-encryption-using-the-web-service-api
Verwijder op wachtwoord gebaseerde codering met de API voor codering (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een versleutelingsserviceclient.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om een met een wachtwoord gecodeerd PDF-document op te slaan. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het gecodeerde PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
.
- Maak een
-
Verwijder het wachtwoord.
Roep de methode
removePDFPasswordSecurity
van het objectEncryptionServiceService
aan en geef de volgende waarden door:- Het
BLOB
-object dat bestandsstreamgegevens bevat die een gecodeerd PDF-document vertegenwoordigen. - Een tekenreekswaarde die de wachtwoordwaarde opgeeft die wordt gebruikt om versleuteling te verwijderen uit het PDF-document. Deze waarde wordt opgegeven wanneer het PDF-document met een wachtwoord wordt gecodeerd.
De methode
removePDFPasswordSecurity
retourneert eenBLOB
-object dat een onbeveiligd PDF-document bevat. - Het
-
Sla het PDF-document op.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het onbeveiligde PDF-document vertegenwoordigt. - Maak een bytearray waarin de inhoud wordt opgeslagen van het
BLOB
-object dat door de methoderemovePDFPasswordSecurity
is geretourneerd. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Versleutelde PDF-documenten ontgrendelen unlocking-encrypted-pdf-documents
Een met wachtwoord gecodeerd of met een certificaat gecodeerd PDF-document moet worden ontgrendeld voordat een andere AEM Forms-bewerking kan worden uitgevoerd. Als u een bewerking probeert uit te voeren op een gecodeerd PDF-document, wordt een uitzondering gegenereerd. Nadat u een gecodeerd PDF-document hebt ontgrendeld, kunt u er een of meer bewerkingen op uitvoeren. Deze bewerkingen kunnen tot andere services behoren, zoals de Acrobat Reader DC Extension Service.
Overzicht van de stappen summary_of_steps-4
Voer de volgende stappen uit om een gecodeerd PDF-document te ontgrendelen:
- Inclusief projectbestanden.
- Maak een versleutelingsserviceclient.
- Hiermee wordt het gecodeerde PDF-document opgehaald.
- Ontgrendel het document.
- Voer een AEM Forms-bewerking uit.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
creeer een cliënt van de encryptiedienst
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen. Als u de Java Encryption Service API gebruikt, maakt u een EncrytionServiceClient
-object. Als u de webservice-API gebruikt, maakt u een EncryptionServiceService
-object.
krijgt het gecodeerde document van de PDF
Vraag een versleuteld PDF-document aan om dit te ontgrendelen. Als u probeert een PDF-document te ontgrendelen dat niet is versleuteld, wordt een uitzondering gegenereerd.
ontgrendel het document
Als u een met een wachtwoord gecodeerd PDF-document wilt ontgrendelen, hebt u zowel een versleuteld PDF-document als een wachtwoordwaarde nodig om een met een wachtwoord gecodeerd PDF-document te openen. Deze waarde wordt opgegeven wanneer het PDF-document met een wachtwoord wordt gecodeerd. (Zie Coderend de Documenten van PDF met een Wachtwoord.)
Als u een met een certificaat gecodeerd PDF-document wilt ontgrendelen, hebt u zowel een versleuteld PDF-document als de aliaswaarde van de openbare sleutel nodig die overeenkomt met de persoonlijke sleutel waarmee het PDF-document is versleuteld.
voer een verrichting van AEM Forms uit
Nadat een gecodeerd PDF-document is ontgrendeld, kunt u er een andere servicebewerking op uitvoeren, zoals gebruiksrechten op toepassen. Deze bewerking behoort tot de Acrobat Reader DC Extensions-service.
zie ook
Een versleuteld PDF-document ontgrendelen met de Java API
Een gecodeerd PDF-document ontgrendelen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Een versleuteld PDF-document ontgrendelen met de Java API unlock-an-encrypted-pdf-document-using-the-java-api
Een gecodeerd PDF-document ontgrendelen met de API voor versleuteling (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een versleutelingsserviceclient.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
java.io.FileInputStream
-object dat het gecodeerde PDF-document vertegenwoordigt door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het gecodeerde PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Ontgrendel het document.
Ontgrendel een gecodeerd PDF-document door de methode
unlockPDFUsingPassword
ofunlockPDFUsingCredential
van hetEncryptionServiceClient
-object aan te roepen.Als u een PDF-document wilt ontgrendelen dat met een wachtwoord is versleuteld, roept u de methode
unlockPDFUsingPassword
aan en geeft u de volgende waarden door:- Een
com.adobe.idp.Document
-object dat het met een wachtwoord gecodeerde PDF-document bevat. - Een tekenreekswaarde die de wachtwoordwaarde opgeeft waarmee een met wachtwoord gecodeerd PDF-document wordt geopend. Deze waarde wordt opgegeven wanneer het PDF-document met een wachtwoord wordt gecodeerd.
Als u een met een certificaat gecodeerd PDF-document wilt ontgrendelen, roept u de methode
unlockPDFUsingCredential
aan en geeft u de volgende waarden door:- Een
com.adobe.idp.Document
-object dat het met een certificaat gecodeerde PDF-document bevat. - Een tekenreekswaarde die de aliasnaam van de openbare sleutel opgeeft die overeenkomt met de persoonlijke sleutel die wordt gebruikt om het PDF-document te versleutelen.
De methoden
unlockPDFUsingPassword
enunlockPDFUsingCredential
retourneren beide eencom.adobe.idp.Document
-object dat u doorgeeft aan een andere AEM Forms Java-methode om een bewerking uit te voeren. - Een
-
Voer een AEM Forms-bewerking uit.
Voer een AEM Forms-bewerking uit op het ontgrendelde PDF-document om aan uw zakelijke vereisten te voldoen. Als u bijvoorbeeld gebruiksrechten wilt toepassen op een ontgrendeld PDF-document, geeft u het
com.adobe.idp.Document
-object dat door de methodeunlockPDFUsingPassword
ofunlockPDFUsingCredential
is geretourneerd, door aan de methodeReaderExtensionsServiceClient
objectapplyUsageRights
.
zie ook
Snel Begin (SOAP wijze): Het ontgrendelen van een gecodeerd document van de PDF gebruikend Java API(SOAP wijze)
Gebruiksrechten toepassen op PDF-documenten
Een gecodeerd PDF-document ontgrendelen met de webservice-API unlock-an-encrypted-pdf-document-using-the-web-service-api
Een gecodeerd PDF-document ontgrendelen met de API voor versleuteling (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een versleutelingsserviceclient.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Een versleuteld PDF-document ophalen.
- Maak een
BLOB
-object met behulp van de constructor. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het gecodeerde PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
.
- Maak een
-
Ontgrendel het document.
Ontgrendel een gecodeerd PDF-document door de methode
unlockPDFUsingPassword
ofunlockPDFUsingCredential
van hetEncryptionServiceClient
-object aan te roepen.Als u een PDF-document wilt ontgrendelen dat met een wachtwoord is versleuteld, roept u de methode
unlockPDFUsingPassword
aan en geeft u de volgende waarden door:- Een
BLOB
-object dat het met een wachtwoord gecodeerde PDF-document bevat. - Een tekenreekswaarde die de wachtwoordwaarde opgeeft waarmee een met wachtwoord gecodeerd PDF-document wordt geopend. Deze waarde wordt opgegeven wanneer het PDF-document met een wachtwoord wordt gecodeerd.
Als u een met een certificaat gecodeerd PDF-document wilt ontgrendelen, roept u de methode
unlockPDFUsingCredential
aan en geeft u de volgende waarden door:- Een
BLOB
-object dat het met een certificaat gecodeerde PDF-document bevat. - Een tekenreekswaarde die de aliasnaam van de openbare sleutel opgeeft die overeenkomt met de persoonlijke sleutel die wordt gebruikt om het PDF-document te versleutelen.
De methoden
unlockPDFUsingPassword
enunlockPDFUsingCredential
retourneren beide eencom.adobe.idp.Document
-object dat u doorgeeft aan een andere AEM Forms-methode om een bewerking uit te voeren. - Een
-
Voer een AEM Forms-bewerking uit.
Voer een AEM Forms-bewerking uit op het ontgrendelde PDF-document om aan uw zakelijke vereisten te voldoen. Als u bijvoorbeeld gebruiksrechten wilt toepassen op het ontgrendelde PDF-document, geeft u het
BLOB
-object dat door de methodeunlockPDFUsingPassword
ofunlockPDFUsingCredential
is geretourneerd, door aan de methodeReaderExtensionsServiceClient
objectapplyUsageRights
.
zie ook
Type codering bepalen determining-encryption-type
U kunt programmatically het type van encryptie bepalen die een document van PDF door de Dienst API van de Encryptie van Java of de Dienst API van de Encryptie van de Webdienst te gebruiken beschermt. Soms is het nodig dynamisch te bepalen of een PDF-document is versleuteld en, zo ja, het versleutelingstype. U kunt bijvoorbeeld bepalen of een PDF-document is beveiligd met op een wachtwoord gebaseerde codering of met een beleid voor Rights Managementen.
Een PDF-document kan worden beveiligd door de volgende coderingstypen:
- Codering op basis van wachtwoord
- Op een certificaat gebaseerde codering
- Een beleid dat door de dienst van het Rights Management wordt gecreeerd
- Een ander type codering
Overzicht van de stappen summary_of_steps-5
Ga als volgt te werk om te bepalen welk type codering een PDF-document beveiligt:
- Inclusief projectbestanden.
- Maak een versleutelingsserviceclient.
- Hiermee wordt het gecodeerde PDF-document opgehaald.
- Bepaal het versleutelingstype.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss Application Server)
creeer een de dienstcliënt
Om programmatically een de dienstverrichting van de Encryptie uit te voeren, moet u een de dienstcliënt van de Encryptie tot stand brengen. Als u de Java Encryption Service API gebruikt, maakt u een EncrytionServiceClient
-object. Als u de webservice-API gebruikt, maakt u een EncryptionServiceService
-object.
krijgt het gecodeerde document van de PDF
Vraag een PDF-document aan om het type codering te bepalen dat deze beveiligt.
bepaal het encryptietype
U kunt bepalen welk type versleuteling een PDF-document beveiligt. Als het PDF-document niet is beveiligd, geeft de coderingsservice aan dat het PDF-document niet is beveiligd.
zie ook
Het versleutelingstype bepalen met de Java API
Het versleutelingstype bepalen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Het versleutelingstype bepalen met de Java API determine-the-encryption-type-using-the-java-api
Bepaal het type codering waarmee een PDF-document wordt beveiligd met de API voor versleuteling (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden van de client, zoals adobe-encryption-client.jar, op in het klassenpad van uw Java-project.
-
Maak een serviceclient.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
EncryptionServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
java.io.FileInputStream
-object dat het PDF-document vertegenwoordigt door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het PDF-document aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Bepaal het versleutelingstype.
- Bepaal het versleutelingstype door de methode
getPDFEncryption
van het objectEncryptionServiceClient
aan te roepen en het objectcom.adobe.idp.Document
door te geven dat het PDF-document bevat. Deze methode retourneert eenEncryptionTypeResult
-object. - Roep de methode
getEncryptionType
van het objectEncryptionTypeResult
aan. Deze methode retourneert eenEncryptionType
enum-waarde die het versleutelingstype opgeeft. Als het PDF-document bijvoorbeeld is beveiligd met op een wachtwoord gebaseerde codering, retourneert deze methodeEncryptionType.PASSWORD
.
- Bepaal het versleutelingstype door de methode
zie ook
Snel starten (SOAP modus): Coderingstype bepalen met de Java API
Het versleutelingstype bepalen met de webservice-API determine-the-encryption-type-using-the-web-service-api
Bepaal het type codering waarmee een PDF-document wordt beveiligd met de API voor versleuteling (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een serviceclient.
-
Maak een
EncryptionServiceClient
-object met de standaardconstructor. -
Maak een
EncryptionServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/EncryptionService?WSDL
.) U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetEncryptionServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Hiermee wordt het gecodeerde PDF-document opgehaald.
- Maak een
BLOB
-object met behulp van de constructor. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het gecodeerde PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door de inhoud van de bytearray toe te wijzen aan het gegevenslid van hetBLOB
objectMTOM
.
- Maak een
-
Bepaal het versleutelingstype.
- Roep de methode
getPDFEncryption
van hetEncryptionServiceClient
-object aan en geef hetBLOB
-object dat het PDF-document bevat door. Deze methode retourneert eenEncryptionTypeResult
-object. - Hiermee wordt de waarde van de gegevensmethode
encryptionType
van hetEncryptionTypeResult
-object opgehaald. Als het PDF-document bijvoorbeeld is beveiligd met op een wachtwoord gebaseerde codering, is de waarde van dit gegevenslidEncryptionType.PASSWORD
.
- Roep de methode
zie ook
AEM Forms aanroepen met SwaRef