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 is versleuteld met een wachtwoord, moet de gebruiker het wachtwoord voor openen opgeven voordat het document kan worden weergegeven in Adobe Reader of Adobe Acrobat. 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 (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.)
- Op een certificaat gebaseerde versleuteling verwijderen uit een PDF-document. (Zie het Verwijderen van Certificaat Gebaseerde Encryptie.)
- Ontgrendel het PDF-document zodat andere servicebewerkingen kunnen worden uitgevoerd. Nadat bijvoorbeeld een met wachtwoord gecodeerd PDF-document is ontgrendeld, kunt u er een digitale handtekening op toepassen. (Zie Versleutelde documenten van PDF ontgrendelen.)
- 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 document van PDF om te coderen
Vraag een niet-gecodeerd PDF-document aan om het document met een wachtwoord te versleutelen. 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, de hoofdwachtwoordwaarde, wordt gebruikt om versleuteling te verwijderen uit het PDF-document. Wachtwoordwaarden zijn hoofdlettergevoelig en deze twee wachtwoordwaarden kunnen niet dezelfde waarden zijn.
Geef de PDF-documentbronnen op die u wilt versleutelen. U kunt het gehele PDF-document versleutelen, alles behalve de metagegevens van het document of alleen de bijlagen van het document. Als u alleen de bijlagen van het document versleutelt, wordt een gebruiker om een wachtwoord gevraagd wanneer hij of zij de bestandsbijlagen wil openen.
Bij het versleutelen van een PDF-document 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 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
PDF-documenten versleutelen met de Java API
PDF-documenten versleutelen met de API voor webservices
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten 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 het PDF-document vertegenwoordigt 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 PDF-documentbronnen op die moeten worden gecodeerd door de methode
setEncryptOption
van het objectPasswordEncryptionOptionSpec
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 codering 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
PDF-documenten 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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe 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 PDF-document dat moet worden gecodeerd 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 u wilt versleutelen door een
PasswordEncryptionOption
-opsommingswaarde toe te wijzen aan het gegevenslid van hetPasswordEncryptionOptionSpec
objectencryptOption
. WijsPasswordEncryptionOption.ALL
toe aan dit gegevenslid als u de volledige PDF, inclusief de metagegevens en bijlagen, wilt coderen. - 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 gegevenslid
permissionPassword
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 document van PDF om te coderen
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 PDF-documentbronnen op die u wilt versleutelen. U kunt het gehele PDF-document versleutelen, alles behalve de metagegevens van het document of alleen de bijlagen van het document.
creeer een certificaat-gecodeerd document van PDF
Nadat u een onbeveiligd PDF-document hebt opgehaald, het certificaat hebt aangehaald en uitvoeropties 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 het PDF-document vertegenwoordigt 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 PDF-documentbronnen op die moeten worden gecodeerd door de methode
setOption
van het objectCertificateEncryptionOptionSpec
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 PDF-document bevat dat moet worden gecodeerd. - 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
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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe 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 PDF-document dat moet worden gecodeerd 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 u wilt versleutelen 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 PDF-document bevat dat moet worden gecodeerd. - 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 certificaten gebaseerde versleuteling kan uit een PDF-document worden verwijderd, zodat gebruikers het PDF-document kunnen openen in Adobe Reader of Acrobat. Als u versleuteling wilt verwijderen uit een PDF-document dat is versleuteld met een certificaat, moet u naar een openbare sleutel verwijzen. 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 codering te verwijderen uit een PDF-document:
- Inclusief projectbestanden.
- Maak een versleutelingsserviceclient.
- Haal het gecodeerde PDF-document op.
- 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.
krijg het gecodeerde document van PDF
Vraag een gecodeerd PDF-document aan om versleuteling op basis van certificaten te verwijderen. Als u probeert versleuteling te verwijderen uit een PDF-document dat niet is versleuteld, 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 op een certificaat gebaseerde versleuteling wilt verwijderen uit een gecodeerd PDF-document, hebt u zowel een gecodeerd 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 uit een gecodeerd PDF-document wordt verwijderd. Voor informatie over de openbare sleutel, zie Coderend de Documenten van PDF met Certificaten.
sparen het document van PDF
Nadat op een certificaat gebaseerde versleuteling is verwijderd uit een gecodeerd 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
-
Haal het gecodeerde PDF-document op.
- 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 codering 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 certificaten 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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe aan het veld
-
-
Haal het gecodeerde PDF-document op.
- Maak een
BLOB
-object met behulp van de constructor. Met hetBLOB
-object wordt het gecodeerde PDF-document opgeslagen. - 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 wachtwoorden 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 codering uit een PDF-document is verwijderd, is het document niet meer beveiligd.
Overzicht van de stappen summary_of_steps-3
Voer de volgende stappen uit om op een wachtwoord gebaseerde codering uit een PDF-document te verwijderen:
- Projectbestanden opnemen
- Maak een versleutelingsserviceclient.
- Haal het gecodeerde PDF-document op.
- 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.
krijg het gecodeerde document van PDF
Vraag een gecodeerd PDF-document aan om op wachtwoord gebaseerde versleuteling te verwijderen. Als u probeert versleuteling te verwijderen uit een PDF-document dat niet is versleuteld, wordt een uitzondering gegenereerd.
verwijder het wachtwoord
Als u op een wachtwoord gebaseerde versleuteling uit een gecodeerd PDF-document wilt verwijderen, hebt u zowel een gecodeerd PDF-document als een hoofdwachtwoord nodig waarmee de codering uit het PDF-document wordt verwijderd. Het wachtwoord waarmee een PDF-document met een wachtwoord 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 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
-
Haal het gecodeerde PDF-document op.
- 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 een 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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe aan het veld
-
-
Haal het gecodeerde PDF-document op.
- Maak een
BLOB
-object met behulp van de constructor. In hetBLOB
-object wordt een PDF-document met wachtwoordcodering opgeslagen. - 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 PDF-document dat met een wachtwoord of certificaat is gecodeerd, 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 extensions 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.
- Haal het gecodeerde PDF-document op.
- 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.
krijg het gecodeerde document van PDF
Vraag een gecodeerd 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 PDF-document met wachtwoordversleuteling wilt ontgrendelen, hebt u zowel een gecodeerd PDF-document als een wachtwoordwaarde nodig waarmee een PDF-document met wachtwoordcodering wordt geopend. 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 gecodeerd 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 gecodeerd PDF-document ontgrendelen met de Java API
Een gecodeerd PDF-document ontgrendelen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Een gecodeerd 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
-
Haal het gecodeerde PDF-document op.
- 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 het objectEncryptionServiceClient
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 PDF-document wilt ontgrendelen dat met een certificaat is versleuteld, 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 (de wijze van SOAP): Het ontgrendelen van een gecodeerd document van PDF gebruikend Java API(de wijze van SOAP)
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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe aan het veld
-
-
Een gecodeerd 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 het objectEncryptionServiceClient
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 PDF-document wilt ontgrendelen dat met een certificaat is versleuteld, 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 programmatisch bepalen welk type codering een PDF-document beveiligt met de Java Encryption Service API of de webservice Encryption Service API. 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 Rights Management-beleid.
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 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.
- Haal het gecodeerde PDF-document op.
- 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.
krijg het gecodeerde document van PDF
Vraag een PDF-document aan om het type codering te bepalen dat het 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 dat een PDF-document beveiligt 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
-
Haal het gecodeerde PDF-document op.
- 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 dat een PDF-document beveiligt 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 kenmerklc_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 voor AEM-formulieren toe aan het veld
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - 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 voor AEM-formulieren toe aan het veld
-
-
Haal het gecodeerde PDF-document op.
- 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 het objectEncryptionServiceClient
aan en geef het objectBLOB
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