Kryptera och dekryptera PDF-dokument encrypting-and-decrypting-pdf-documents
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Om krypteringstjänsten
Med krypteringstjänsten kan du kryptera och dekryptera dokument. När ett dokument är krypterat blir innehållet oläsligt. En behörig användare kan dekryptera dokumentet för att få åtkomst till innehållet. Om ett PDF-dokument är krypterat med ett lösenord måste användaren ange det öppna lösenordet innan dokumentet kan visas i Adobe Reader eller Adobe Acrobat. Om ett PDF-dokument är krypterat med ett certifikat måste användaren dekryptera PDF-dokumentet med den offentliga nyckel som motsvarar det certifikat (privat nyckel) som användes för att kryptera PDF-dokumentet.
Du kan utföra följande uppgifter med krypteringstjänsten:
- Kryptera ett PDF-dokument med ett lösenord. (Se Kryptera PDF-dokument med ett lösenord.)
- Kryptera ett PDF-dokument med ett certifikat. (Se Kryptera PDF-dokument med certifikat.)
- Ta bort lösenordsbaserad kryptering från ett PDF-dokument. (Se Ta bort lösenordskryptering.)
- Ta bort certifikatbaserad kryptering från ett PDF-dokument. (Se Tar bort certifikatbaserad kryptering.)
- Lås upp PDF-dokumentet så att andra serviceåtgärder kan utföras. När ett lösenordskrypterat PDF-dokument är olåst kan du till exempel använda en digital signatur på det. (Se Låsa upp krypterade PDF-dokument.)
- Bestäm krypteringstypen för ett skyddat PDF-dokument. (Se Bestämmer krypteringstyp.)
Kryptera PDF-dokument med ett lösenord encrypting-pdf-documents-with-a-password
När du krypterar ett PDF-dokument med ett lösenord måste användaren ange lösenordet för att kunna öppna PDF-dokumentet i Adobe Reader eller Acrobat. Innan en annan AEM Forms-åtgärd, som att signera PDF-dokumentet digitalt, kan utföras på dokumentet, måste dessutom ett lösenordskrypterat PDF-dokument låsas upp.
Sammanfattning av steg summary-of-steps
Så här krypterar du ett PDF-dokument med ett lösenord:
- Inkludera projektfiler.
- Skapa ett API-objekt för krypteringsklient.
- Få ett PDF-dokument att kryptera.
- Ange alternativ för kryptering vid körning.
- Lägg till lösenordet.
- Spara det krypterade PDF-dokumentet som en PDF-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms används i JBoss)
Skapa ett API-objekt för krypteringsklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient.
Hämta ett PDF-dokument som ska krypteras
Hämta ett okrypterat PDF-dokument för att kryptera dokumentet med ett lösenord. Om du försöker skydda ett PDF-dokument som redan är krypterat orsakar du ett undantag.
Ange alternativ för kryptering vid körning
Om du vill kryptera ett PDF-dokument med ett lösenord anger du fyra värden, inklusive två lösenordsvärden. Det första lösenordsvärdet används för att kryptera PDF-dokumentet och måste anges när dokumentet öppnas i PDF. Det andra lösenordsvärdet, som heter huvudlösenordsvärdet, används för att ta bort kryptering från PDF-dokumentet. Lösenordsvärdena är skiftlägeskänsliga och dessa två lösenordsvärden kan inte vara samma.
Ange vilka dokumentresurser i PDF som ska krypteras. Du kan kryptera hela PDF-dokumentet, allt utom dokumentets metadata eller bara dokumentets bilagor. Om du bara krypterar dokumentets bilagor uppmanas användaren att ange ett lösenord när de försöker få åtkomst till de bifogade filerna.
När du krypterar ett PDF-dokument kan du ange behörigheter som är kopplade till det skyddade dokumentet. Genom att ange behörigheter kan du styra vilka åtgärder en användare som öppnar ett lösenordskrypterat PDF-dokument får utföra. Om du till exempel vill extrahera formulärdata måste du ange följande behörigheter:
- PASSWORD_EDIT_ADD
- PASSWORD_EDIT_MODIFY
PasswordEncryptionPermission
uppräkningsvärden.Lägg till lösenordet
När du har hämtat ett oskyddat PDF-dokument och angett krypteringsvärden för körtid kan du lägga till ett lösenord i PDF-dokumentet.
Spara det krypterade PDF-dokumentet som en PDF-fil
Du kan spara det lösenordskrypterade PDF-dokumentet som en PDF-fil.
Se även
Kryptera ett PDF-dokument med Java API
Kryptera ett PDF-dokument med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Kryptera ett PDF-dokument med Java API encrypt-a-pdf-document-using-the-java-api
Kryptera ett PDF-dokument med ett lösenord med hjälp av krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa ett API för krypteringsklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Få ett PDF-dokument att kryptera.
- Skapa ett
java.io.FileInputStream
-objekt som representerar det PDF-dokument som ska krypteras med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Ange alternativ för kryptering vid körning.
- Skapa ett
PasswordEncryptionOptionSpec
-objekt genom att anropa dess konstruktor. - Ange de dokumentresurser i PDF som ska krypteras genom att anropa
PasswordEncryptionOptionSpec
-objektetssetEncryptOption
-metod och skicka ettPasswordEncryptionOption
-uppräkningsvärde som anger vilka dokumentresurser som ska krypteras. Om du till exempel vill kryptera hela PDF-dokumentet, inklusive dess metadata och bilagor, anger duPasswordEncryptionOption.ALL
. - Skapa ett
java.util.List
-objekt som lagrar krypteringsbehörigheterna med konstruktornArrayList
. - Ange en behörighet genom att anropa metoden
add
för objektetjava.util.List
och skicka ett uppräkningsvärde som motsvarar den behörighet som du vill ange. Om du till exempel vill ange behörigheten som tillåter en användare att kopiera data i PDF-dokumentet anger duPasswordEncryptionPermission.PASSWORD_EDIT_COPY
. (Upprepa det här steget för varje behörighet att ange). - Ange kompatibilitetsalternativet för Acrobat genom att anropa
PasswordEncryptionOptionSpec
-objektetssetCompatability
-metod och skicka ett uppräkningsvärde som anger Acrobat-kompatibilitetsnivå. Du kan till exempel angePasswordEncryptionCompatability.ACRO_7
. - Ange det lösenordsvärde som gör att en användare kan öppna det krypterade PDF-dokumentet genom att anropa
PasswordEncryptionOptionSpec
-objektetssetDocumentOpenPassword
-metod och skicka ett strängvärde som representerar det öppna lösenordet. - Ange det huvudlösenordsvärde som gör att en användare kan ta bort kryptering från PDF-dokumentet genom att anropa
PasswordEncryptionOptionSpec
-objektetssetPermissionPassword
-metod och skicka ett strängvärde som representerar huvudlösenordet.
- Skapa ett
-
Lägg till lösenordet.
Kryptera PDF-dokumentet genom att anropa
EncryptionServiceClient
-objektetsencryptPDFUsingPassword
-metod och skicka följande värden:- Objektet
com.adobe.idp.Document
som innehåller det PDF-dokument som ska krypteras med lösenordet. - Objektet
PasswordEncryptionOptionSpec
som innehåller alternativ för kryptering vid körning.
Metoden
encryptPDFUsingPassword
returnerar ettcom.adobe.idp.Document
-objekt som innehåller ett lösenordskrypterat PDF-dokument. - Objektet
-
Spara det krypterade PDF-dokumentet som en PDF-fil.
- Skapa ett
java.io.File
-objekt och kontrollera att filtillägget är .pdf. - Anropa
com.adobe.idp.Document
-objektetscopyToFile
-metod för att kopiera innehållet icom.adobe.idp.Document
-objektet till filen. Kontrollera att du använder objektetcom.adobe.idp.Document
som returnerades av metodenencryptPDFUsingPassword
.
- Skapa ett
Se även
Snabbstart (SOAP): Kryptera ett PDF-dokument med Java API
Kryptera ett PDF-dokument med hjälp av webbtjänstens API encrypting-a-pdf-document-using-the-web-service-api
Kryptera ett PDF-dokument med ett lösenord med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa ett API-objekt för krypteringsklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Få ett PDF-dokument att kryptera.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. ObjektetBLOB
används för att lagra ett PDF-dokument som är krypterat med ett lösenord. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det PDF-dokument som ska krypteras och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem.
- Skapa ett
-
Ange alternativ för kryptering vid körning.
- Skapa ett
PasswordEncryptionOptionSpec
-objekt med hjälp av dess konstruktor. - Ange de dokumentresurser i PDF som ska krypteras genom att tilldela ett
PasswordEncryptionOption
-uppräkningsvärde tillPasswordEncryptionOptionSpec
-objektetsencryptOption
-datamedlem. Om du vill kryptera hela PDF, inklusive dess metadata och bilagor, tilldelar duPasswordEncryptionOption.ALL
till den här datamedlemmen. - Ange kompatibilitetsalternativet för Acrobat genom att tilldela ett
PasswordEncryptionCompatability
-uppräkningsvärde tillPasswordEncryptionOptionSpec
-objektetscompatability
-datamedlem. Tilldela till exempelPasswordEncryptionCompatability.ACRO_7
till den här datamedlemmen. - Ange det lösenordsvärde som gör att en användare kan öppna det krypterade PDF-dokumentet genom att tilldela ett strängvärde som representerar det öppna lösenordet till
documentOpenPassword
-objektetsPasswordEncryptionOptionSpec
-datamedlem. - Ange det lösenordsvärde som gör att en användare kan ta bort kryptering från PDF-dokumentet genom att tilldela ett strängvärde som representerar huvudlösenordet till
permissionPassword
-objektetsPasswordEncryptionOptionSpec
-datamedlem.
- Skapa ett
-
Lägg till lösenordet.
Kryptera PDF-dokumentet genom att anropa
EncryptionServiceClient
-objektetsencryptPDFUsingPassword
-metod och skicka följande värden:- Objektet
BLOB
som innehåller det PDF-dokument som ska krypteras med lösenordet. - Objektet
PasswordEncryptionOptionSpec
som innehåller alternativ för kryptering vid körning.
Metoden
encryptPDFUsingPassword
returnerar ettBLOB
-objekt som innehåller ett lösenordskrypterat PDF-dokument. - Objektet
-
Spara det krypterade PDF-dokumentet som en PDF-fil.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det skyddade PDF-dokumentet. - Skapa en bytearray som lagrar datainnehållet för objektet
BLOB
som returnerades av metodenencryptPDFUsingPassword
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsMTOM
-datamedlem. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett
Se även
Kryptera PDF-dokument med certifikat encrypting-pdf-documents-with-certificates
Med certifikatbaserad kryptering kan du kryptera ett dokument för specifika mottagare med hjälp av teknik för offentlig nyckel. Olika mottagare kan få olika behörigheter för dokumentet. Många krypteringsaspekter blir möjliga med hjälp av teknik med publika nycklar. En algoritm används för att generera två stora tal, så kallade keys, som har följande egenskaper:
- En nyckel används för att kryptera en datauppsättning. Därefter kan bara den andra nyckeln användas för att dekryptera data.
- Det är omöjligt att skilja på den ena nyckeln och den andra.
En av nycklarna fungerar som en användares privata nyckel. Det är viktigt att bara användaren har tillgång till den här nyckeln. Den andra nyckeln är användarens offentliga nyckel, som kan delas med andra.
Ett certifikat för offentlig nyckel innehåller en användares offentliga nyckel och identifieringsinformation. X.509-formatet används för att lagra certifikat. Certifikat utfärdas och signeras vanligtvis digitalt av en certifikatutfärdare (CA), som är en erkänd enhet som kan mäta förtroendet för certifikatets giltighet. Certifikat har ett förfallodatum och är inte längre giltiga. Dessutom innehåller listor över återkallade certifikat information om certifikat som återkallats före förfallodatumet. CRL-listor publiceras regelbundet av certifikatutfärdare. Återkallningsstatusen för ett certifikat kan också hämtas via OCSP (Online Certificate Status Protocol) via nätverket.
Sammanfattning av steg summary_of_steps-1
Så här krypterar du ett PDF-dokument med ett certifikat:
- Inkludera projektfiler.
- Skapa ett API-objekt för krypteringsklient.
- Få ett PDF-dokument att kryptera.
- Referera till certifikatet.
- Ange alternativ för kryptering vid körning.
- Skapa ett certifikatkrypterat PDF-dokument.
- Spara det krypterade PDF-dokumentet som en PDF-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms körs på JBoss Application Server)
- jbossall-client.jar (krävs om AEM Forms körs på JBoss Application Server)
Skapa ett API-objekt för krypteringsklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient. Om du använder Java-krypteringstjänstens API skapar du ett EncrytionServiceClient
-objekt. Skapa ett EncryptionServiceService
-objekt om du använder API:t för webbtjänstens krypteringstjänst.
Hämta ett PDF-dokument som ska krypteras
Hämta ett okrypterat PDF-dokument som ska krypteras. Om du försöker skydda ett PDF-dokument som redan är krypterat genereras ett undantag.
Referera till certifikatet
Om du vill kryptera ett PDF-dokument med ett certifikat refererar du till ett certifikat som används för att kryptera ett PDF-dokument. Certifikatet är en .cer-fil, en .crt-fil eller en .pem-fil. En PKCS#12-fil används för att lagra privata nycklar med motsvarande certifikat.
När du krypterar ett PDF-dokument med ett certifikat anger du de behörigheter som är kopplade till det skyddade dokumentet. Genom att ange behörigheter kan du styra vilka åtgärder en användare som öppnar ett certifikatkrypterat PDF-dokument kan utföra.
Ange alternativ för kryptering vid körning
Ange vilka dokumentresurser i PDF som ska krypteras. Du kan kryptera hela PDF-dokumentet, allt utom dokumentets metadata eller bara dokumentets bilagor.
Skapa ett certifikatkrypterat PDF-dokument
När du har hämtat ett oskyddat PDF-dokument, refererat till certifikatet och angett körningsalternativ, kan du skapa ett certifikatkrypterat PDF-dokument. När PDF-dokumentet har krypterats behöver du motsvarande publika nyckel för att dekryptera det.
Spara det krypterade PDF-dokumentet som en PDF-fil
Du kan spara det krypterade PDF-dokumentet som en PDF-fil.
Se även
Kryptera ett PDF-dokument med ett certifikat med Java API
Kryptera ett PDF-dokument med ett certifikat med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Kryptera ett PDF-dokument med ett certifikat med Java API encrypt-a-pdf-document-with-a-certificate-using-the-java-api
Kryptera ett PDF-dokument med ett certifikat med hjälp av krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa ett API-objekt för krypteringsklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Få ett PDF-dokument att kryptera.
- Skapa ett
java.io.FileInputStream
-objekt som representerar det PDF-dokument som ska krypteras med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Referera till certifikatet.
- Skapa ett
java.util.List
-objekt som lagrar behörighetsinformation med hjälp av dess konstruktor. - Ange behörigheten som är associerad med det krypterade dokumentet genom att anropa
java.util.List
-objektetsadd
-metod och skicka ettCertificateEncryptionPermissions
-uppräkningsvärde som representerar behörigheten som beviljas den användare som öppnar det skyddade PDF-dokumentet. Om du till exempel vill ange alla behörigheter skickar duCertificateEncryptionPermissions.PKI_ALL_PERM
. - Skapa ett
Recipient
-objekt med hjälp av dess konstruktor. - Skapa ett
java.io.FileInputStream
-objekt som representerar certifikatet som används för att kryptera PDF-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för certifikatet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skicka detjava.io.FileInputStream
-objekt som representerar certifikatet. - Anropa
Recipient
-objektetssetX509Cert
-metod och skickacom.adobe.idp.Document
-objektet som innehåller certifikatet. (ObjektetRecipient
kan dessutom ha ett certifikatalias eller en LDAP-URL som certifikatkälla.) - Skapa ett
CertificateEncryptionIdentity
-objekt som lagrar behörighet och certifikatinformation med hjälp av dess konstruktor. - Anropa
CertificateEncryptionIdentity
-objektetssetPerms
-metod och skickajava.util.List
-objektet som lagrar behörighetsinformation. - Anropa
CertificateEncryptionIdentity
-objektetssetRecipient
-metod och skickaRecipient
-objektet som lagrar certifikatinformation. - Skapa ett
java.util.List
-objekt som lagrar certifikatinformation med hjälp av dess konstruktor. - Anropa metoden add för objektet
java.util.List
och skicka objektetCertificateEncryptionIdentity
. (Det härjava.util.List
-objektet skickas som en parameter till metodenencryptPDFUsingCertificates
.)
- Skapa ett
-
Ange alternativ för kryptering vid körning.
- Skapa ett
CertificateEncryptionOptionSpec
-objekt genom att anropa dess konstruktor. - Ange de dokumentresurser i PDF som ska krypteras genom att anropa
CertificateEncryptionOptionSpec
-objektetssetOption
-metod och skicka ettCertificateEncryptionOption
-uppräkningsvärde som anger vilka dokumentresurser som ska krypteras. Om du till exempel vill kryptera hela PDF-dokumentet, inklusive dess metadata och bilagor, anger duCertificateEncryptionOption.ALL
. - Ange kompatibilitetsalternativet för Acrobat genom att anropa
CertificateEncryptionOptionSpec
-objektetssetCompat
-metod och skicka ettCertificateEncryptionCompatibility
-uppräkningsvärde som anger Acrobat-kompatibilitetsnivå. Du kan till exempel angeCertificateEncryptionCompatibility.ACRO_7
.
- Skapa ett
-
Skapa ett certifikatkrypterat PDF-dokument.
Kryptera PDF-dokumentet med ett certifikat genom att anropa
EncryptionServiceClient
-objektetsencryptPDFUsingCertificates
-metod och skicka följande värden:- Objektet
com.adobe.idp.Document
som innehåller det PDF-dokument som ska krypteras. - Objektet
java.util.List
som lagrar certifikatinformation. - Objektet
CertificateEncryptionOptionSpec
som innehåller alternativ för kryptering vid körning.
Metoden
encryptPDFUsingCertificates
returnerar ettcom.adobe.idp.Document
-objekt som innehåller ett certifikatkrypterat PDF-dokument. - Objektet
-
Spara det krypterade PDF-dokumentet som en PDF-fil.
- Skapa ett
java.io.File
-objekt och kontrollera att filnamnstillägget är .pdf. - Anropa
com.adobe.idp.Document
-objektetscopyToFile
-metod för att kopiera innehållet icom.adobe.idp.Document
-objektet till filen. Kontrollera att du använder objektetcom.adobe.idp.Document
som returnerades av metodenencryptPDFUsingCertificates
.
- Skapa ett
Se även
Snabbstart (SOAP): Kryptera ett PDF-dokument med ett certifikat med Java API
Kryptera ett PDF-dokument med ett certifikat med hjälp av webbtjänstens API encrypt-a-pdf-document-with-a-certificate-using-the-web-service-api
Kryptera ett PDF-dokument med ett certifikat med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa ett API-objekt för krypteringsklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Få ett PDF-dokument att kryptera.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. ObjektetBLOB
används för att lagra ett PDF-dokument som är krypterat med ett certifikat. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det PDF-dokument som ska krypteras och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll objektet
BLOB
genom att tilldela dessMTOM
-egenskap med innehållet i bytearrayen.
- Skapa ett
-
Referera till certifikatet.
- Skapa ett
Recipient
-objekt med hjälp av dess konstruktor. Det här objektet lagrar certifikatinformation. - Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. Det härBLOB
-objektet lagrar certifikatet som krypterar PDF-dokumentet. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar certifikatets filplats och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem. - Tilldela det
BLOB
-objekt som lagrar certifikatet tillRecipient
-objektetsx509Cert
-datamedlem. - Skapa ett
CertificateEncryptionIdentity
-objekt som lagrar certifikatinformation med hjälp av dess konstruktor. - Tilldela objektet
Recipient
som lagrar certifikatet tillCertificateEncryptionIdentity
objektets mottagande datamedlem. - Skapa en
Object
-array och tilldelaCertificateEncryptionIdentity
-objektet till det första elementet iObject
-arrayen. Den härObject
-arrayen skickas som en parameter till metodenencryptPDFUsingCertificates
.
- Skapa ett
-
Ange alternativ för kryptering vid körning.
- Skapa ett
CertificateEncryptionOptionSpec
-objekt med hjälp av dess konstruktor. - Ange de dokumentresurser i PDF som ska krypteras genom att tilldela ett
CertificateEncryptionOption
-uppräkningsvärde tillCertificateEncryptionOptionSpec
-objektetsoption
-datamedlem. Om du vill kryptera hela PDF-dokumentet, inklusive dess metadata och bilagor, tilldelar duCertificateEncryptionOption.ALL
till den här datamedlemmen. - Ange kompatibilitetsalternativet för Acrobat genom att tilldela ett
CertificateEncryptionCompatibility
-uppräkningsvärde tillCertificateEncryptionOptionSpec
-objektetscompat
-datamedlem. Tilldela till exempelCertificateEncryptionCompatibility.ACRO_7
till den här datamedlemmen.
- Skapa ett
-
Skapa ett certifikatkrypterat PDF-dokument.
Kryptera PDF-dokumentet med ett certifikat genom att anropa
EncryptionServiceService
-objektetsencryptPDFUsingCertificates
-metod och skicka följande värden:- Objektet
BLOB
som innehåller det PDF-dokument som ska krypteras. - Arrayen
Object
som lagrar certifikatinformation. - Objektet
CertificateEncryptionOptionSpec
som innehåller alternativ för kryptering vid körning.
Metoden
encryptPDFUsingCertificates
returnerar ettBLOB
-objekt som innehåller ett certifikatkrypterat PDF-dokument. - Objektet
-
Spara det krypterade PDF-dokumentet som en PDF-fil.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det skyddade PDF-dokumentet. - Skapa en bytearray som lagrar datainnehållet för objektet
BLOB
som returnerades av metodenencryptPDFUsingCertificates
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsbinaryData
-datamedlem. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett
Se även
Tar bort certifikatbaserad kryptering removing-certificate-based-encryption
Certifikatbaserad kryptering kan tas bort från ett PDF-dokument så att användare kan öppna PDF-dokumentet i Adobe Reader eller Acrobat. Om du vill ta bort kryptering från ett PDF-dokument som är krypterat med ett certifikat måste du referera till en offentlig nyckel. När krypteringen har tagits bort från ett PDF-dokument är den inte längre säker.
Sammanfattning av steg summary_of_steps-2
Så här tar du bort certifikatbaserad kryptering från ett PDF-dokument:
- Inkludera projektfiler.
- Skapa en krypteringstjänstklient.
- Hämta det krypterade PDF-dokumentet.
- Ta bort kryptering.
- Spara PDF-dokumentet som en PDF-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms körs på JBoss Application Server)
- jbossall-client.jar (krävs om AEM Forms körs på JBoss Application Server)
Skapa en krypteringstjänstklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient. Om du använder Java-krypteringstjänstens API skapar du ett EncrytionServiceClient
-objekt. Skapa ett EncryptionServiceService
-objekt om du använder API:t för webbtjänstens krypteringstjänst.
Hämta det krypterade PDF-dokumentet
Hämta ett krypterat PDF-dokument för att ta bort certifikatbaserad kryptering. Om du försöker ta bort kryptering från ett PDF-dokument som inte är krypterat genereras ett undantag. På samma sätt inträffar ett undantag om du försöker ta bort certifikatbaserad kryptering från ett lösenordskrypterat dokument.
Ta bort kryptering
Om du vill ta bort certifikatbaserad kryptering från ett krypterat PDF-dokument måste du ha både ett krypterat PDF-dokument och den privata nyckel som motsvarar den nyckel som användes för att kryptera PDF-dokumentet. Aliasvärdet för den privata nyckeln anges när certifikatbaserad kryptering tas bort från ett krypterat PDF-dokument. Mer information om den offentliga nyckeln finns i Kryptera PDF-dokument med certifikat.
Spara PDF-dokumentet
När certifikatbaserad kryptering har tagits bort från ett krypterat PDF-dokument kan du spara PDF-dokumentet som en PDF-fil. Användare kan öppna PDF-dokumentet i Adobe Reader eller Acrobat.
Se även
Ta bort certifikatbaserad kryptering med Java API
Ta bort certifikatbaserad kryptering med webbtjänstens API
Ta bort certifikatbaserad kryptering med Java API remove-certificate-based-encryption-using-the-java-api
Ta bort certifikatbaserad kryptering från ett PDF-dokument med krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa en krypteringstjänstklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
java.io.FileInputStream
-objekt som representerar det krypterade PDF-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för det krypterade PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Ta bort kryptering.
Ta bort certifikatbaserad kryptering från PDF-dokumentet genom att anropa
EncryptionServiceClient
-objektetsremovePDFCertificateSecurity
-metod och skicka följande värden:- Objektet
com.adobe.idp.Document
som innehåller det krypterade PDF-dokumentet. - Ett strängvärde som anger aliasnamnet för den privata nyckel som motsvarar nyckeln som används för att kryptera PDFf-dokumentet.
Metoden
removePDFCertificateSecurity
returnerar ettcom.adobe.idp.Document
-objekt som innehåller ett oskyddat PDF-dokument. - Objektet
-
Spara dokumentet PDF.
- Skapa ett
java.io.File
-objekt och kontrollera att filtillägget är .pdf. - Anropa
com.adobe.idp.Document
-objektetscopyToFile
-metod för att kopiera innehållet iDocument
-objektet till filen. Kontrollera att du använder objektetcom.adobe.idp.Document
som returnerades av metodenremovePDFCredentialSecurity
.
- Skapa ett
Se även
Snabbstart (SOAP): Tar bort certifikatbaserad kryptering med Java API
Ta bort certifikatbaserad kryptering med webbtjänstens API remove-certificate-based-encryption-using-the-web-service-api
Ta bort certifikatbaserad kryptering med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en krypteringstjänstklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. ObjektetBLOB
används för att lagra det krypterade PDF-dokumentet. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det krypterade PDF-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem.
- Skapa ett
-
Ta bort kryptering.
Anropa
EncryptionServiceClient
-objektetsremovePDFCertificateSecurity
-metod och skicka följande värden:- Objektet
BLOB
som innehåller filströmsdata som representerar ett krypterat PDF-dokument. - Ett strängvärde som anger aliasnamnet för den offentliga nyckeln som motsvarar den privata nyckel som används för att kryptera PDFf-dokumentet.
Metoden
removePDFCredentialSecurity
returnerar ettBLOB
-objekt som innehåller ett oskyddat PDF-dokument. - Objektet
-
Spara dokumentet PDF.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det oskyddade PDF-dokumentet. - Skapa en bytearray som lagrar innehållet i objektet
BLOB
som returnerades av metodenremovePDFPasswordSecurity
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsMTOM
-datamedlem. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett
Se även
Tar bort lösenordskryptering removing-password-encryption
Lösenordsbaserad kryptering kan tas bort från ett PDF-dokument så att användare kan öppna PDF-dokumentet i Adobe Reader eller Acrobat utan att behöva ange något lösenord. När lösenordsbaserad kryptering har tagits bort från ett PDF-dokument är dokumentet inte längre säkert.
Sammanfattning av steg summary_of_steps-3
Så här tar du bort lösenordsbaserad kryptering från ett PDF-dokument:
- Inkludera projektfiler
- Skapa en krypteringstjänstklient.
- Hämta det krypterade PDF-dokumentet.
- Ta bort lösenordet.
- Spara PDF-dokumentet som en PDF-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du ta med proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms används i JBoss)
Skapa en krypteringstjänstklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient. Om du använder Java-krypteringstjänstens API skapar du ett EncrytionServiceClient
-objekt. Skapa ett EncryptionServiceService
-objekt om du använder API:t för webbtjänstens krypteringstjänst.
Hämta det krypterade PDF-dokumentet
Hämta ett krypterat PDF-dokument för att ta bort lösenordsbaserad kryptering. Om du försöker ta bort kryptering från ett PDF-dokument som inte är krypterat genereras ett undantag.
Ta bort lösenordet
Om du vill ta bort lösenordsbaserad kryptering från ett krypterat PDF-dokument måste du ha både ett krypterat PDF-dokument och ett huvudlösenordsvärde som används för att ta bort kryptering från PDF-dokumentet. Lösenordet som används för att öppna ett lösenordskrypterat PDF-dokument kan inte användas för att ta bort kryptering. Ett huvudlösenord anges när PDF-dokumentet krypteras med ett lösenord. (Se Kryptera PDF-dokument med ett lösenord.)
Spara PDF-dokumentet
När krypteringstjänsten har tagit bort lösenordsbaserad kryptering från ett PDF-dokument kan du spara PDF-dokumentet som en PDF-fil. Användare kan öppna PDF-dokumentet i Adobe Reader eller Acrobat utan att ange ett lösenord.
Se även
Inkludera AEM Forms Java-biblioteksfiler
Ta bort lösenordsbaserad kryptering med Java API remove-password-based-encryption-using-the-java-api
Ta bort lösenordsbaserad kryptering från ett PDF-dokument med krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, till exempel adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa en krypteringstjänstklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
java.io.FileInputStream
-objekt som representerar det krypterade PDF-dokumentet genom att använda dess konstruktor och skicka ett strängvärde som anger platsen för PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Ta bort lösenordet.
Ta bort lösenordsbaserad kryptering från PDF-dokumentet genom att anropa
EncryptionServiceClient
-objektetsremovePDFPasswordSecurity
-metod och skicka följande värden:- Ett
com.adobe.idp.Document
-objekt som innehåller det krypterade PDF-dokumentet. - Ett strängvärde som anger det huvudlösenordsvärde som används för att ta bort kryptering från PDF-dokumentet.
Metoden
removePDFPasswordSecurity
returnerar ettcom.adobe.idp.Document
-objekt som innehåller ett oskyddat PDF-dokument. - Ett
-
Spara dokumentet PDF.
- Skapa ett
java.io.File
-objekt och kontrollera att filnamnstillägget är .pdf. - Anropa
com.adobe.idp.Document
-objektetscopyToFile
-metod för att kopiera innehållet iDocument
-objektet till filen. Kontrollera att du använder objektetDocument
som returnerades av metodenremovePDFPasswordSecurity
.
- Skapa ett
Se även
Snabbstart (SOAP): Lösenordsbaserad kryptering tas bort med Java API
Ta bort lösenordsbaserad kryptering med webbtjänstens API remove-password-based-encryption-using-the-web-service-api
Ta bort lösenordsbaserad kryptering med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en krypteringstjänstklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. ObjektetBLOB
används för att lagra ett lösenordskrypterat PDF-dokument. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det krypterade PDF-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem.
- Skapa ett
-
Ta bort lösenordet.
Anropa
EncryptionServiceService
-objektetsremovePDFPasswordSecurity
-metod och skicka följande värden:- Objektet
BLOB
som innehåller filströmsdata som representerar ett krypterat PDF-dokument. - Ett strängvärde som anger det lösenordsvärde som används för att ta bort kryptering från PDF-dokumentet. Det här värdet anges när du krypterar PDF-dokumentet med ett lösenord.
Metoden
removePDFPasswordSecurity
returnerar ettBLOB
-objekt som innehåller ett oskyddat PDF-dokument. - Objektet
-
Spara dokumentet PDF.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det oskyddade PDF-dokumentet. - Skapa en bytearray som lagrar innehållet i objektet
BLOB
som returnerades av metodenremovePDFPasswordSecurity
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsMTOM
-datamedlem. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett
Se även
Låsa upp krypterade PDF-dokument unlocking-encrypted-pdf-documents
Ett lösenordskrypterat eller certifikatkrypterat PDF-dokument måste låsas upp innan en annan AEM Forms-åtgärd kan utföras på det. Om du försöker utföra en åtgärd på ett krypterat PDF-dokument genereras ett undantag. När du har låst upp ett krypterat PDF-dokument kan du utföra en eller flera åtgärder på det. De här åtgärderna kan tillhöra andra tjänster, t.ex. Acrobat Reader DC-tilläggstjänsten.
Sammanfattning av steg summary_of_steps-4
Så här låser du upp ett krypterat PDF-dokument:
- Inkludera projektfiler.
- Skapa en krypteringstjänstklient.
- Hämta det krypterade PDF-dokumentet.
- Lås upp dokumentet.
- Utför en AEM Forms-åtgärd.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du ta med proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms körs på JBoss Application Server)
- jbossall-client.jar (krävs om AEM Forms körs på JBoss Application Server)
Skapa en krypteringstjänstklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient. Om du använder Java-krypteringstjänstens API skapar du ett EncrytionServiceClient
-objekt. Skapa ett EncryptionServiceService
-objekt om du använder API:t för webbtjänstens krypteringstjänst.
Hämta det krypterade PDF-dokumentet
Hämta ett krypterat PDF-dokument för att låsa upp det. Om du försöker låsa upp ett PDF-dokument som inte är krypterat genereras ett undantag.
Lås upp dokumentet
Om du vill låsa upp ett lösenordskrypterat PDF-dokument måste du ha både ett krypterat PDF-dokument och ett lösenordsvärde som används för att öppna ett lösenordskrypterat PDF-dokument. Det här värdet anges när du krypterar PDF-dokumentet med ett lösenord. (Se Kryptera PDF-dokument med ett lösenord.)
Om du vill låsa upp ett certifikatkrypterat PDF-dokument måste du ha både ett krypterat PDF-dokument och aliasvärdet för den offentliga nyckeln som motsvarar den privata nyckel som användes för att kryptera PDF-dokumentet.
Utför en AEM Forms-åtgärd
När ett krypterat PDF-dokument har låsts upp kan du utföra en annan tjänståtgärd på det, t.ex. tillämpa användarbehörighet på det. Den här åtgärden tillhör tjänsten Acrobat Reader DC Extensions.
Se även
Lås upp ett krypterat PDF-dokument med Java API
Lås upp ett krypterat PDF-dokument med hjälp av webbtjänstens API
Lås upp ett krypterat PDF-dokument med Java API unlock-an-encrypted-pdf-document-using-the-java-api
Lås upp ett krypterat PDF-dokument med hjälp av krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa en krypteringstjänstklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
java.io.FileInputStream
-objekt som representerar det krypterade PDF-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för det krypterade PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Lås upp dokumentet.
Lås upp ett krypterat PDF-dokument genom att anropa
EncryptionServiceClient
-objektetsunlockPDFUsingPassword
- ellerunlockPDFUsingCredential
-metod.Om du vill låsa upp ett PDF-dokument som är krypterat med ett lösenord anropar du metoden
unlockPDFUsingPassword
och skickar följande värden:- Ett
com.adobe.idp.Document
-objekt som innehåller det lösenordskrypterade PDF-dokumentet. - Ett strängvärde som anger det lösenordsvärde som används för att öppna ett lösenordskrypterat PDF-dokument. Det här värdet anges när du krypterar PDF-dokumentet med ett lösenord.
Om du vill låsa upp ett PDF-dokument som är krypterat med ett certifikat anropar du metoden
unlockPDFUsingCredential
och skickar följande värden:- Ett
com.adobe.idp.Document
-objekt som innehåller det certifikatkrypterade PDF-dokumentet. - Ett strängvärde som anger aliasnamnet för den offentliga nyckeln som motsvarar den privata nyckel som används för att kryptera PDF-dokumentet.
Metoderna
unlockPDFUsingPassword
ochunlockPDFUsingCredential
returnerar båda ettcom.adobe.idp.Document
-objekt som du skickar till en annan AEM Forms Java-metod för att utföra en åtgärd. - Ett
-
Utför en AEM Forms-åtgärd.
Utför en AEM Forms-åtgärd på det olåsta PDF-dokumentet för att uppfylla dina affärskrav. Om du t.ex. vill tillämpa användarrättigheter på ett olåst PDF-dokument skickar du det
com.adobe.idp.Document
-objekt som returnerades av metodernaunlockPDFUsingPassword
ellerunlockPDFUsingCredential
tillReaderExtensionsServiceClient
-objektetsapplyUsageRights
-metod.
Se även
Snabbstart (SOAP läge): Låsa upp ett krypterat PDF-dokument med Java API(SOAP)
Använda användningsbehörighet för PDF-dokument
Lås upp ett krypterat PDF-dokument med hjälp av webbtjänstens API unlock-an-encrypted-pdf-document-using-the-web-service-api
Lås upp ett krypterat PDF-dokument med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en krypteringstjänstklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Få ett krypterat PDF-dokument.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det krypterade PDF-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem.
- Skapa ett
-
Lås upp dokumentet.
Lås upp ett krypterat PDF-dokument genom att anropa
EncryptionServiceClient
-objektetsunlockPDFUsingPassword
- ellerunlockPDFUsingCredential
-metod.Om du vill låsa upp ett PDF-dokument som är krypterat med ett lösenord anropar du metoden
unlockPDFUsingPassword
och skickar följande värden:- Ett
BLOB
-objekt som innehåller det lösenordskrypterade PDF-dokumentet. - Ett strängvärde som anger det lösenordsvärde som används för att öppna ett lösenordskrypterat PDF-dokument. Det här värdet anges när du krypterar PDF-dokumentet med ett lösenord.
Om du vill låsa upp ett PDF-dokument som är krypterat med ett certifikat anropar du metoden
unlockPDFUsingCredential
och skickar följande värden:- Ett
BLOB
-objekt som innehåller det certifikatkrypterade PDF-dokumentet. - Ett strängvärde som anger aliasnamnet för den offentliga nyckeln som motsvarar den privata nyckel som används för att kryptera PDFf-dokumentet.
Metoderna
unlockPDFUsingPassword
ochunlockPDFUsingCredential
returnerar båda ettcom.adobe.idp.Document
-objekt som du skickar till en annan AEM Forms-metod för att utföra en åtgärd. - Ett
-
Utför en AEM Forms-åtgärd.
Utför en AEM Forms-åtgärd på det olåsta PDF-dokumentet för att uppfylla dina affärskrav. Om du t.ex. vill tillämpa användningsbehörighet för det olåsta PDF-dokumentet skickar du det
BLOB
-objekt som returnerades av metodernaunlockPDFUsingPassword
ellerunlockPDFUsingCredential
tillReaderExtensionsServiceClient
-objektetsapplyUsageRights
-metod.
Se även
Bestämmer krypteringstyp determining-encryption-type
Du kan programmässigt avgöra vilken typ av kryptering som skyddar ett PDF-dokument med hjälp av Java-krypteringstjänstens API eller webbtjänstens krypteringstjänsts API. Ibland är det nödvändigt att dynamiskt avgöra om ett PDF-dokument är krypterat och i så fall krypteringstypen. Du kan t.ex. ange om ett PDF-dokument är lösenordsbaserat eller om en Rights Management-profil ska användas.
Ett PDF-dokument kan skyddas med följande krypteringstyper:
- Lösenordsbaserad kryptering
- Certifikatbaserad kryptering
- En policy som skapas av tjänsten Rights Management
- En annan typ av kryptering
Sammanfattning av steg summary_of_steps-5
Så här avgör du vilken typ av kryptering som skyddar ett PDF-dokument:
- Inkludera projektfiler.
- Skapa en krypteringstjänstklient.
- Hämta det krypterade PDF-dokumentet.
- Bestäm krypteringstypen.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klasssökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (krävs om AEM Forms körs på JBoss Application Server)
- jbossall-client.jar (krävs om AEM Forms körs på JBoss Application Server)
Skapa en tjänstklient
Om du vill utföra en krypteringstjänståtgärd programmatiskt måste du skapa en krypteringstjänstklient. Om du använder Java-krypteringstjänstens API skapar du ett EncrytionServiceClient
-objekt. Skapa ett EncryptionServiceService
-objekt om du använder API:t för webbtjänstens krypteringstjänst.
Hämta det krypterade PDF-dokumentet
Hämta ett PDF-dokument för att avgöra vilken typ av kryptering som skyddar det.
Kontrollera krypteringstypen
Du kan ange vilken typ av kryptering som skyddar ett PDF-dokument. Om dokumentet från PDF inte är skyddat visas ett meddelande om att dokumentet från PDF inte är skyddat av krypteringstjänsten.
Se även
Identifiera krypteringstypen med Java API
Identifiera krypteringstypen med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Identifiera krypteringstypen med Java API determine-the-encryption-type-using-the-java-api
Bestäm vilken typ av kryptering som skyddar ett PDF-dokument med hjälp av krypterings-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-encryption-client.jar, i Java-projektets klassökväg.
-
Skapa en tjänstklient.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
java.io.FileInputStream
-objekt som representerar PDF-dokumentet genom att använda dess konstruktor och skicka ett strängvärde som anger platsen för PDF-dokumentet. - Skapa ett
com.adobe.idp.Document
-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream
-objektet.
- Skapa ett
-
Bestäm krypteringstypen.
- Bestäm krypteringstypen genom att anropa
EncryptionServiceClient
-objektetsgetPDFEncryption
-metod och skickacom.adobe.idp.Document
-objektet som innehåller PDF-dokumentet. Den här metoden returnerar ettEncryptionTypeResult
-objekt. - Anropa metoden
getEncryptionType
för objektetEncryptionTypeResult
. Den här metoden returnerar ett enum-värde påEncryptionType
som anger krypteringstypen. Om PDF-dokumentet till exempel skyddas med lösenordsbaserad kryptering returnerar metodenEncryptionType.PASSWORD
.
- Bestäm krypteringstypen genom att anropa
Se även
Snabbstart (SOAP läge): Bestämma krypteringstyp med Java API
Identifiera krypteringstypen med hjälp av webbtjänstens API determine-the-encryption-type-using-the-web-service-api
Bestäm vilken typ av kryptering som skyddar ett PDF-dokument med hjälp av krypterings-API:t (webbtjänsten):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en tjänstklient.
-
Skapa ett
EncryptionServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
EncryptionServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/EncryptionService?WSDL
). Du behöver inte använda attributetlc_version
. Detta attribut används när du skapar en tjänstreferens.) -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetEncryptionServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Hämta det krypterade PDF-dokumentet.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det krypterade PDF-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB
-objektet genom att tilldela innehållet i bytearrayen tillBLOB
-objektetsMTOM
-datamedlem.
- Skapa ett
-
Bestäm krypteringstypen.
- Anropa
EncryptionServiceClient
-objektetsgetPDFEncryption
-metod och skickaBLOB
-objektet som innehåller PDF-dokumentet. Den här metoden returnerar ettEncryptionTypeResult
-objekt. - Hämta värdet för
EncryptionTypeResult
-objektetsencryptionType
-datametod. Om PDF-dokumentet till exempel skyddas med lösenordsbaserad kryptering är värdet för den här datamedlemmenEncryptionType.PASSWORD
.
- Anropa
Se även