Crittografia e decrittografia dei documenti PDF encrypting-and-decrypting-pdf-documents
Informazioni sul servizio di crittografia
Il servizio di cifratura consente di cifrare e decrittografare i documenti. Quando un documento viene crittografato, il suo contenuto diventa illeggibile. Un utente autorizzato può decrittografare il documento per ottenere l'accesso ai contenuti. Se un documento PDF è crittografato con una password, è necessario specificare la password aperta prima di poter visualizzare il documento in Adobe Reader o Adobe Acrobat. Analogamente, se un documento PDF è crittografato con un certificato, l’utente deve decrittografare il documento PDF con la chiave pubblica corrispondente al certificato (chiave privata) utilizzato per cifrare il documento PDF.
Puoi eseguire queste attività utilizzando il servizio di cifratura:
-
Cifrare un documento PDF con una password. (Vedi Crittografia dei documenti PDF con una password.)
-
Cifrare un documento PDF con un certificato. (Vedi Cifratura di documenti PDF con certificati.)
-
Rimuovere la crittografia basata su password da un documento PDF. (Vedi Rimozione della crittografia della password.)
-
Rimuovere la crittografia basata su certificato da un documento PDF. (Vedi Rimozione della crittografia basata su certificato.)
-
Sblocca il documento di PDF in modo da eseguire altre operazioni del servizio. Ad esempio, dopo lo sblocco di un documento PDF crittografato con password, è possibile applicarvi una firma digitale. (Vedi Sblocco dei documenti PDF crittografati.)
-
Determinare il tipo di crittografia di un documento PDF protetto. (Vedi Determinazione del tipo di crittografia.)
note note NOTE Per ulteriori informazioni sul servizio di cifratura, vedi Riferimento servizi per AEM Forms.
Crittografia dei documenti PDF con una password encrypting-pdf-documents-with-a-password
Quando si crittografa un documento PDF con una password, un utente deve specificare la password per aprire il documento PDF in Adobe Reader o Acrobat. Inoltre, prima di poter eseguire un’altra operazione AEM Forms, ad esempio la firma digitale del documento PDF, è necessario sbloccare un documento PDF crittografato con password.
Riepilogo dei passaggi summary-of-steps
Per crittografare un documento PDF con una password, effettua le seguenti operazioni:
- Includi file di progetto.
- Creare un oggetto API client di crittografia.
- Ottenere un documento PDF da crittografare.
- Impostare le opzioni di esecuzione della crittografia.
- Aggiungi la password.
- Salvare il documento PDF crittografato come file PDF.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss)
Creare un oggetto API client di crittografia
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura.
Ottenere un documento PDF da crittografare
Per crittografare il documento con una password, è necessario ottenere un documento PDF non crittografato. Se si tenta di proteggere un documento PDF già crittografato, viene generata un'eccezione.
Impostare le opzioni di esecuzione della crittografia
Per crittografare un documento PDF con una password, è necessario specificare quattro valori, inclusi due valori di password. Il primo valore password viene utilizzato per cifrare il documento PDF e deve essere specificato all’apertura del documento PDF. Il secondo valore della password, denominato valore della password master, viene utilizzato per rimuovere la crittografia dal documento PDF. I valori delle password sono sensibili all'uso di maiuscole e minuscole e questi due valori non possono essere gli stessi.
È necessario specificare le risorse del documento PDF da crittografare. È possibile crittografare l’intero documento di PDF, tutti gli elementi eccetto i metadati del documento o solo gli allegati del documento. Se si crittografano solo gli allegati del documento, all'utente viene richiesta una password quando tenta di accedere agli allegati del file.
Durante la cifratura di un documento PDF, è possibile specificare le autorizzazioni associate al documento protetto. Specificando le autorizzazioni, è possibile controllare le azioni che un utente che apre un documento PDF crittografato con password può eseguire. Ad esempio, per estrarre correttamente i dati del modulo, è necessario impostare le seguenti autorizzazioni:
- PASSWORD_EDIT_ADD
- PASSWORD_EDIT_MODIFY
PasswordEncryptionPermission valori di enumerazione.Aggiungi la password
Dopo aver recuperato un documento PDF non protetto e impostato i valori di esecuzione della crittografia, è possibile aggiungere una password al documento PDF.
Salvare il documento PDF crittografato come file PDF
È possibile salvare il documento PDF crittografato con password come file PDF.
Consulta anche
Crittografare un documento PDF utilizzando l’API Java
Crittografia di un documento PDF tramite l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Cifratura di documenti PDF con certificati
Crittografare un documento PDF utilizzando l’API Java encrypt-a-pdf-document-using-the-java-api
Crittografa un documento PDF con una password utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un’API client di crittografia.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere un documento PDF da crittografare.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF da crittografare utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Impostare le opzioni di esecuzione della crittografia.
- Crea un
PasswordEncryptionOptionSpecrichiamando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare richiamando il
PasswordEncryptionOptionSpecdell’oggettosetEncryptOptione passare unPasswordEncryptionOptionvalore di enumerazione che specifica le risorse del documento da crittografare. Ad esempio, per crittografare l’intero documento PDF, inclusi i relativi metadati e i relativi allegati, specificarePasswordEncryptionOption.ALL. - Crea un
java.util.Listoggetto che memorizza le autorizzazioni di crittografia utilizzandoArrayListcostruttore. - Specifica un'autorizzazione richiamando il
java.util.Listoggetto ‘sadde passare un valore di enumerazione corrispondente all'autorizzazione che si desidera impostare. Ad esempio, per impostare l’autorizzazione che consente all’utente di copiare i dati presenti nel documento PDF, specificarePasswordEncryptionPermission.PASSWORD_EDIT_COPY. (Ripeti questo passaggio per ogni autorizzazione da impostare). - Specifica l’opzione di compatibilità di Acrobat richiamando il
PasswordEncryptionOptionSpecdell’oggettosetCompatabilitye passare un valore di enumerazione che specifica il livello di compatibilità Acrobat. Ad esempio, puoi specificarePasswordEncryptionCompatability.ACRO_7. - Specifica il valore della password che consente a un utente di aprire il documento PDF crittografato richiamando il
PasswordEncryptionOptionSpecdell’oggettosetDocumentOpenPassworde passare un valore stringa che rappresenta la password aperta. - Specificare il valore della password master che consente a un utente di rimuovere la crittografia dal documento PDF richiamando il
PasswordEncryptionOptionSpecdell’oggettosetPermissionPassworde passare un valore stringa che rappresenta la password master.
- Crea un
-
Aggiungi la password.
Cifrare il documento PDF richiamando il
EncryptionServiceClientdell’oggettoencryptPDFUsingPassworde passando i seguenti valori:- La
com.adobe.idp.Documentoggetto contenente il documento PDF da crittografare con la password. - La
PasswordEncryptionOptionSpecoggetto contenente le opzioni di esecuzione della crittografia.
La
encryptPDFUsingPasswordrestituisce uncom.adobe.idp.Documentoggetto contenente un documento PDF crittografato con password. - La
-
Salvare il documento PDF crittografato come file PDF.
- Crea un
java.io.Filee assicurati che l'estensione del file sia .pdf. - Richiama il
com.adobe.idp.Documentdell’oggettocopyToFileper copiare il contenuto delcom.adobe.idp.Documental file. Assicurati di utilizzarecom.adobe.idp.Documentoggetto restituito daencryptPDFUsingPasswordmetodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Crittografia di un documento PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Crittografia di un documento PDF tramite l’API del servizio Web encrypting-a-pdf-document-using-the-web-service-api
Crittografare un documento PDF con una password utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Creare un oggetto API client di crittografia.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottenere un documento PDF da crittografare.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare un documento PDF crittografato con una password. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF da crittografare e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati.
- Crea un
-
Impostare le opzioni di esecuzione della crittografia.
- Crea un
PasswordEncryptionOptionSpecutilizzando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare tramite l’assegnazione di un
PasswordEncryptionOptionvalore di enumerazione nelPasswordEncryptionOptionSpecdell’oggettoencryptOptionmembro dati. Per crittografare l’intero PDF, inclusi i relativi metadati e i relativi allegati, assegnaPasswordEncryptionOption.ALLa questo membro dati. - Specifica l’opzione di compatibilità Acrobat assegnando un
PasswordEncryptionCompatabilityvalore di enumerazione nelPasswordEncryptionOptionSpecdell’oggettocompatabilitymembro dati. Ad esempio, assegnaPasswordEncryptionCompatability.ACRO_7a questo membro dati. - Specificare il valore della password che consente all'utente di aprire il documento PDF crittografato assegnando un valore di stringa che rappresenta la password aperta al
PasswordEncryptionOptionSpecdell’oggettodocumentOpenPasswordmembro dati. - Specificare il valore della password che consente all'utente di rimuovere la crittografia dal documento PDF assegnando un valore di stringa che rappresenta la password master al
PasswordEncryptionOptionSpecdell’oggettopermissionPasswordmembro dati.
- Crea un
-
Aggiungi la password.
Cifrare il documento PDF richiamando il
EncryptionServiceClientdell’oggettoencryptPDFUsingPassworde passando i seguenti valori:- La
BLOBoggetto contenente il documento PDF da crittografare con la password. - La
PasswordEncryptionOptionSpecoggetto contenente le opzioni di esecuzione della crittografia.
La
encryptPDFUsingPasswordrestituisce unBLOBoggetto contenente un documento PDF crittografato con password. - La
-
Salvare il documento PDF crittografato come file PDF.
- Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento protetto PDF. - Creare un array di byte che memorizza il contenuto dei dati del
BLOBoggetto restituito daencryptPDFUsingPasswordmetodo . Compilare l’array di byte ottenendo il valore delBLOBdell’oggettoMTOMmembro dati. - Crea un
System.IO.BinaryWriterrichiamando il relativo costruttore e passandoSystem.IO.FileStreamoggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriterdell’oggettoWritee passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Cifratura di documenti PDF con certificati encrypting-pdf-documents-with-certificates
La crittografia basata su certificato consente di crittografare un documento per destinatari specifici tramite la tecnologia a chiave pubblica. A diversi destinatari possono essere assegnate autorizzazioni diverse per il documento. Molti aspetti della crittografia sono resi possibili dalla tecnologia a chiave pubblica. Viene utilizzato un algoritmo per generare due numeri di grandi dimensioni, noti come chiavi, che hanno le seguenti proprietà:
- Una chiave viene utilizzata per crittografare un set di dati. Successivamente, solo l’altra chiave può essere utilizzata per decrittografare i dati.
- È impossibile distinguere una chiave dall'altra.
Una delle chiavi funge da chiave privata dell’utente. È importante che solo l’utente abbia accesso a questa chiave. L’altra chiave è la chiave pubblica dell’utente, che può essere condivisa con altri utenti.
Un certificato a chiave pubblica contiene la chiave pubblica di un utente e le informazioni di identificazione. Il formato X.509 viene utilizzato per memorizzare i certificati. I certificati sono generalmente rilasciati e firmati digitalmente da un’autorità di certificazione (CA), un’entità riconosciuta che fornisce una misura di affidabilità nella validità del certificato. I certificati hanno una data di scadenza, dopo la quale non sono più validi. Inoltre, gli elenchi di revoche di certificati (CRL) forniscono informazioni sui certificati revocati prima della data di scadenza. I LCR sono pubblicati periodicamente dalle autorità di certificazione. Lo stato di revoca di un certificato può essere recuperato anche tramite il protocollo OCSP (Online Certificate Status Protocol) in rete.
Riepilogo dei passaggi summary_of_steps-1
Per crittografare un documento PDF con un certificato, effettua le seguenti operazioni:
- Includi file di progetto.
- Creare un oggetto API client di crittografia.
- Ottenere un documento PDF da crittografare.
- Fai riferimento al certificato.
- Impostare le opzioni di esecuzione della crittografia.
- Creare un documento PDF crittografato con certificato.
- Salvare il documento PDF crittografato come file PDF.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
Creare un oggetto API client di crittografia
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura. Se utilizzi l’API del servizio Java Encryption, crea un EncrytionServiceClient oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un EncryptionServiceService oggetto.
Ottenere un documento PDF da crittografare
Per eseguire la cifratura, è necessario ottenere un documento PDF non crittografato. Se si tenta di proteggere un documento PDF già crittografato, viene generata un'eccezione.
Riferimento al certificato
Per cifrare un documento PDF con un certificato, fare riferimento a un certificato utilizzato per cifrare un documento PDF. Il certificato è un file .cer, un file .crt o un file .pem. Un file PKCS#12 viene utilizzato per memorizzare le chiavi private con i certificati corrispondenti.
Quando si crittografa un documento PDF con un certificato, specificare le autorizzazioni associate al documento protetto. Specificando le autorizzazioni, è possibile controllare le azioni eseguibili da un utente che apre un documento PDF crittografato con certificato.
Impostare le opzioni di esecuzione della crittografia
Specificare le risorse del documento PDF da crittografare. È possibile crittografare l’intero documento PDF, tutti gli elementi eccetto i metadati del documento o solo gli allegati del documento.
Creare un documento PDF crittografato con un certificato
Dopo aver recuperato un documento PDF non protetto, fatto riferimento al certificato e impostato le opzioni di esecuzione, è possibile creare un documento PDF crittografato tramite certificato. Una volta crittografato il documento PDF, è necessario disporre della chiave pubblica corrispondente per decrittografarlo.
Salvare il documento PDF crittografato come file PDF
È possibile salvare il documento PDF crittografato come file PDF.
Consulta anche
Crittografare un documento PDF con un certificato utilizzando l’API Java
Crittografare un documento PDF con un certificato utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Crittografia dei documenti PDF con una password
Crittografare un documento PDF con un certificato utilizzando l’API Java encrypt-a-pdf-document-with-a-certificate-using-the-java-api
Crittografare un documento PDF con un certificato utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un oggetto API client di crittografia.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere un documento PDF da crittografare.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF da crittografare utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Fai riferimento al certificato.
- Crea un
java.util.Listoggetto che memorizza le informazioni sulle autorizzazioni utilizzando il relativo costruttore. - Specifica l'autorizzazione associata al documento crittografato richiamando il
java.util.Listdell’oggettoadde passare unCertificateEncryptionPermissionsvalore di enumerazione che rappresenta le autorizzazioni concesse all'utente che apre il documento protetto PDF. Ad esempio, per specificare tutte le autorizzazioni, passareCertificateEncryptionPermissions.PKI_ALL_PERM. - Crea un
Recipientutilizzando il relativo costruttore. - Crea un
java.io.FileInputStreamoggetto che rappresenta il certificato utilizzato per crittografare il documento PDF utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del certificato. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto che rappresenta il certificato. - Richiama il
Recipientdell’oggettosetX509Certe passare ilcom.adobe.idp.Documentoggetto contenente il certificato. (Inoltre, ilRecipientpuò avere un alias di certificato Truststore o un URL LDAP come origine del certificato.) - Crea un
CertificateEncryptionIdentityoggetto che memorizza le informazioni sulle autorizzazioni e sui certificati utilizzando il relativo costruttore. - Richiama il
CertificateEncryptionIdentitydell’oggettosetPermse passare iljava.util.Listoggetto che memorizza le informazioni sulle autorizzazioni. - Richiama il
CertificateEncryptionIdentitydell’oggettosetRecipiente passare ilRecipientoggetto che memorizza le informazioni sul certificato. - Crea un
java.util.Listoggetto che memorizza le informazioni sul certificato utilizzando il relativo costruttore. - Richiama il
java.util.Listil metodo add dell'oggetto e trasmettereCertificateEncryptionIdentityoggetto. (Questajava.util.Listviene passato come parametro alencryptPDFUsingCertificatesmetodo).
- Crea un
-
Impostare le opzioni di esecuzione della crittografia.
- Crea un
CertificateEncryptionOptionSpecrichiamando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare richiamando il
CertificateEncryptionOptionSpecdell’oggettosetOptione passare unCertificateEncryptionOptionvalore di enumerazione che specifica le risorse del documento da crittografare. Ad esempio, per crittografare l’intero documento PDF, inclusi i relativi metadati e i relativi allegati, specificareCertificateEncryptionOption.ALL. - Specifica l’opzione di compatibilità di Acrobat richiamando il
CertificateEncryptionOptionSpecdell’oggettosetCompate passare unCertificateEncryptionCompatibilityvalore di enumerazione che specifica il livello di compatibilità Acrobat. Ad esempio, puoi specificareCertificateEncryptionCompatibility.ACRO_7.
- Crea un
-
Creare un documento PDF crittografato con certificato.
Cifrare il documento PDF con un certificato richiamando il
EncryptionServiceClientdell’oggettoencryptPDFUsingCertificatese passando i seguenti valori:- La
com.adobe.idp.Documentoggetto contenente il documento PDF da crittografare. - La
java.util.Listoggetto che memorizza le informazioni sul certificato. - La
CertificateEncryptionOptionSpecoggetto contenente le opzioni di esecuzione della crittografia.
La
encryptPDFUsingCertificatesrestituisce uncom.adobe.idp.Documentoggetto contenente un documento PDF crittografato con certificato. - La
-
Salvare il documento PDF crittografato come file PDF.
- Crea un
java.io.Filee assicurati che l'estensione del nome del file sia .pdf. - Richiama il
com.adobe.idp.Documentdell’oggettocopyToFileper copiare il contenuto delcom.adobe.idp.Documental file. Assicurati di utilizzarecom.adobe.idp.Documentoggetto restituito daencryptPDFUsingCertificatesmetodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Crittografia di un documento PDF con un certificato tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Crittografare un documento PDF con un certificato utilizzando l’API del servizio Web encrypt-a-pdf-document-with-a-certificate-using-the-web-service-api
Crittografare un documento PDF con un certificato utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Creare un oggetto API client di crittografia.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottenere un documento PDF da crittografare.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare un documento PDF crittografato con un certificato. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF da crittografare e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBoggetto assegnando il relativoMTOMcon il contenuto dell'array di byte.
- Crea un
-
Fai riferimento al certificato.
- Crea un
Recipientutilizzando il relativo costruttore. Questo oggetto memorizzerà le informazioni sul certificato. - Crea un
BLOButilizzando il relativo costruttore. QuestoBLOBl’oggetto memorizzerà il certificato che crittografa il documento PDF. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del certificato e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati. - Assegna
BLOBoggetto che memorizza il certificato nelRecipientdell’oggettox509Certmembro dati. - Crea un
CertificateEncryptionIdentityoggetto che memorizza le informazioni sul certificato utilizzando il relativo costruttore. - Assegna
Recipientoggetto che memorizza il certificato nelCertificateEncryptionIdentitymembro dati destinatario dell’oggetto. - Crea un
Objecte assegnaCertificateEncryptionIdentityal primo elemento delObjectarray. QuestoObjectviene passato come parametro alencryptPDFUsingCertificatesmetodo .
- Crea un
-
Impostare le opzioni di esecuzione della crittografia.
- Crea un
CertificateEncryptionOptionSpecutilizzando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare tramite l’assegnazione di un
CertificateEncryptionOptionvalore di enumerazione nelCertificateEncryptionOptionSpecdell’oggettooptionmembro dati. Per crittografare l’intero documento PDF, inclusi i relativi metadati e i relativi allegati, assegnareCertificateEncryptionOption.ALLa questo membro dati. - Specifica l’opzione di compatibilità Acrobat assegnando un
CertificateEncryptionCompatibilityvalore di enumerazione nelCertificateEncryptionOptionSpecdell’oggettocompatmembro dati. Ad esempio, assegnaCertificateEncryptionCompatibility.ACRO_7a questo membro dati.
- Crea un
-
Creare un documento PDF crittografato con certificato.
Cifrare il documento PDF con un certificato richiamando il
EncryptionServiceServicedell’oggettoencryptPDFUsingCertificatese passando i seguenti valori:- La
BLOBoggetto contenente il documento PDF da crittografare. - La
Objectarray in cui sono memorizzate le informazioni sul certificato. - La
CertificateEncryptionOptionSpecoggetto contenente le opzioni di esecuzione della crittografia.
La
encryptPDFUsingCertificatesrestituisce unBLOBoggetto contenente un documento PDF crittografato con certificato. - La
-
Salvare il documento PDF crittografato come file PDF.
- Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento protetto PDF. - Creare un array di byte che memorizza il contenuto dei dati del
BLOBoggetto restituito daencryptPDFUsingCertificatesmetodo . Compilare l’array di byte ottenendo il valore delBLOBdell’oggettobinaryDatamembro dati. - Crea un
System.IO.BinaryWriterrichiamando il relativo costruttore e passandoSystem.IO.FileStreamoggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriterdell’oggettoWritee passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Rimozione della crittografia basata su certificato removing-certificate-based-encryption
È possibile rimuovere la crittografia basata su certificato da un documento PDF per consentire agli utenti di aprire il documento PDF in Adobe Reader o Acrobat. Per rimuovere la crittografia da un documento PDF crittografato con un certificato, è necessario fare riferimento a una chiave pubblica. Una volta rimossa la crittografia da un documento PDF, questa non sarà più protetta.
Riepilogo dei passaggi summary_of_steps-2
Per rimuovere la crittografia basata su certificato da un documento PDF, eseguire le operazioni seguenti:
- Includi file di progetto.
- Crea un client del servizio di crittografia.
- Ottenere il documento PDF crittografato.
- Rimuovi crittografia.
- Salvare il documento PDF come file PDF.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura. Se utilizzi l’API del servizio Java Encryption, crea un EncrytionServiceClient oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un EncryptionServiceService oggetto.
Ottenere il documento PDF crittografato
Per rimuovere la crittografia basata su certificato, è necessario ottenere un documento PDF crittografato. Se si tenta di rimuovere la crittografia da un documento PDF non crittografato, viene generata un'eccezione. Analogamente, se si tenta di rimuovere la crittografia basata su certificato da un documento crittografato con password, viene generata un'eccezione.
Rimuovi crittografia
Per rimuovere la crittografia basata su certificato da un documento PDF crittografato, è necessario disporre sia di un documento PDF crittografato che della chiave privata corrispondente alla chiave utilizzata per crittografare il documento PDF. Il valore alias della chiave privata viene specificato durante la rimozione della crittografia basata su certificato da un documento PDF crittografato. Per informazioni sulla chiave pubblica, vedi Cifratura di documenti PDF con certificati.
Salvare il documento PDF
Dopo aver rimosso la crittografia basata su certificato da un documento PDF crittografato, è possibile salvare il documento PDF come file PDF. Gli utenti possono aprire il documento PDF in Adobe Reader o Acrobat.
Consulta anche
Rimuovere la crittografia basata su certificato utilizzando l’API Java
Rimuovere la crittografia basata su certificato utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Rimuovere la crittografia basata su certificato utilizzando l’API Java remove-certificate-based-encryption-using-the-java-api
È possibile rimuovere la crittografia basata su certificato da un documento PDF utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Crea un client del servizio di crittografia.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere il documento PDF crittografato.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF crittografato. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Rimuovi crittografia.
Rimuovi la crittografia basata su certificato dal documento PDF richiamando il
EncryptionServiceClientdell’oggettoremovePDFCertificateSecuritye passando i seguenti valori:- La
com.adobe.idp.Documentoggetto contenente il documento PDF crittografato. - Valore stringa che specifica il nome alias della chiave privata corrispondente alla chiave utilizzata per crittografare il documento PDf.
La
removePDFCertificateSecurityrestituisce uncom.adobe.idp.Documentoggetto contenente un documento PDF non protetto. - La
-
Salvare il documento PDF.
- Crea un
java.io.Filee assicurati che l'estensione del file sia .pdf. - Richiama il
com.adobe.idp.Documentdell’oggettocopyToFileper copiare il contenuto delDocumental file. Assicurati di utilizzarecom.adobe.idp.Documentoggetto restituito daremovePDFCredentialSecuritymetodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Rimozione della crittografia basata su certificato tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Rimuovere la crittografia basata su certificato utilizzando l’API del servizio Web remove-certificate-based-encryption-using-the-web-service-api
Rimuovi la crittografia basata su certificato utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Crea un client del servizio di crittografia.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottenere il documento PDF crittografato.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare il documento PDF crittografato. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati.
- Crea un
-
Rimuovi crittografia.
Richiama il
EncryptionServiceClientdell’oggettoremovePDFCertificateSecuritye passare i seguenti valori:- La
BLOBoggetto che contiene dati di flusso di file che rappresentano un documento PDF crittografato. - Valore stringa che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDf.
La
removePDFCredentialSecurityrestituisce unBLOBoggetto contenente un documento PDF non protetto. - La
-
Salvare il documento PDF.
- Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF non protetto. - Creare un array di byte che memorizza il contenuto del
BLOBoggetto restituito daremovePDFPasswordSecuritymetodo . Compilare l’array di byte ottenendo il valore delBLOBdell’oggettoMTOMmembro dati. - Crea un
System.IO.BinaryWriterrichiamando il relativo costruttore e passandoSystem.IO.FileStreamoggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriterdell’oggettoWritee passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Rimozione della crittografia della password removing-password-encryption
È possibile rimuovere la crittografia basata su password da un documento PDF per consentire agli utenti di aprire il documento PDF in Adobe Reader o Acrobat senza dover specificare una password. Dopo la rimozione della crittografia basata su password da un documento PDF, il documento non è più protetto.
Riepilogo dei passaggi summary_of_steps-3
Per rimuovere la crittografia basata su password da un documento PDF, eseguire le operazioni seguenti:
- Includi file di progetto
- Crea un client del servizio di crittografia.
- Ottenere il documento PDF crittografato.
- Rimuovi la password.
- Salvare il documento PDF come file PDF.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura. Se utilizzi l’API del servizio Java Encryption, crea un EncrytionServiceClient oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un EncryptionServiceService oggetto.
Ottenere il documento PDF crittografato
Per rimuovere la crittografia basata su password, è necessario ottenere un documento PDF crittografato. Se si tenta di rimuovere la crittografia da un documento PDF non crittografato, viene generata un'eccezione.
Rimuovere la password
Per rimuovere la crittografia basata su password da un documento PDF crittografato, è necessario disporre sia di un documento PDF crittografato sia di un valore password master utilizzato per rimuovere la crittografia dal documento PDF. La password utilizzata per aprire un documento PDF crittografato con password non può essere utilizzata per rimuovere la crittografia. Una password master viene specificata quando il documento PDF viene crittografato con una password. (Vedi Crittografia dei documenti PDF con una password.)
Salvare il documento PDF
Dopo la rimozione della crittografia basata su password da un documento PDF, è possibile salvare il documento PDF come file PDF. Gli utenti possono aprire il documento PDF in Adobe Reader o Acrobat senza specificare una password.
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Crittografia dei documenti PDF con una password
Rimuovere la crittografia basata su password utilizzando l’API Java remove-password-based-encryption-using-the-java-api
È possibile rimuovere la crittografia basata su password da un documento PDF utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Crea un client del servizio di crittografia.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere il documento PDF crittografato.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Rimuovi la password.
Rimuovere la crittografia basata su password dal documento PDF richiamando il
EncryptionServiceClientdell’oggettoremovePDFPasswordSecuritye passando i seguenti valori:- A
com.adobe.idp.Documentoggetto contenente il documento PDF crittografato. - Valore stringa che specifica il valore della password master utilizzato per rimuovere la crittografia dal documento PDF.
La
removePDFPasswordSecurityrestituisce uncom.adobe.idp.Documentoggetto contenente un documento PDF non protetto. - A
-
Salvare il documento PDF.
- Crea un
java.io.Filee assicurati che l'estensione del nome del file sia .pdf. - Richiama il
com.adobe.idp.Documentdell’oggettocopyToFileper copiare il contenuto delDocumental file. Assicurati di utilizzareDocumentoggetto restituito daremovePDFPasswordSecuritymetodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Rimozione della crittografia basata su password tramite l’API Java
Rimuovere la crittografia basata su password utilizzando l’API del servizio Web remove-password-based-encryption-using-the-web-service-api
È possibile rimuovere la crittografia basata su password utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Crea un client del servizio di crittografia.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottenere il documento PDF crittografato.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare un documento PDF crittografato con password. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati.
- Crea un
-
Rimuovi la password.
Richiama il
EncryptionServiceServicedell’oggettoremovePDFPasswordSecuritye passare i seguenti valori:- La
BLOBoggetto che contiene dati di flusso di file che rappresentano un documento PDF crittografato. - Valore stringa che specifica il valore della password utilizzato per rimuovere la crittografia dal documento PDF. Questo valore viene specificato durante la cifratura del documento PDF con una password.
La
removePDFPasswordSecurityrestituisce unBLOBoggetto contenente un documento PDF non protetto. - La
-
Salvare il documento PDF.
- Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF non protetto. - Creare un array di byte che memorizza il contenuto del
BLOBoggetto restituito daremovePDFPasswordSecuritymetodo . Compilare l’array di byte ottenendo il valore delBLOBdell’oggettoMTOMmembro dati. - Crea un
System.IO.BinaryWriterrichiamando il relativo costruttore e passandoSystem.IO.FileStreamoggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriterdell’oggettoWritee passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Sblocco dei documenti PDF crittografati unlocking-encrypted-pdf-documents
È necessario sbloccare un documento PDF crittografato con password o certificato prima di eseguire un’altra operazione AEM Forms. Se si tenta di eseguire un'operazione su un documento PDF crittografato, verrà generata un'eccezione. Dopo aver sbloccato un documento PDF crittografato, è possibile eseguire una o più operazioni su di esso. Queste operazioni possono appartenere ad altri servizi, ad esempio il servizio Acrobat Reader DC extensions.
Riepilogo dei passaggi summary_of_steps-4
Per sbloccare un documento PDF crittografato, eseguire le operazioni seguenti:
- Includi file di progetto.
- Crea un client del servizio di crittografia.
- Ottenere il documento PDF crittografato.
- Sblocca il documento.
- Esegui un’operazione AEM Forms.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura. Se utilizzi l’API del servizio Java Encryption, crea un EncrytionServiceClient oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un EncryptionServiceService oggetto.
Ottenere il documento PDF crittografato
Per sbloccarlo, è necessario ottenere un documento PDF crittografato. Se si tenta di sbloccare un documento PDF non crittografato, viene generata un'eccezione.
Sblocca il documento
Per sbloccare un documento PDF crittografato con password, è necessario disporre sia di un documento PDF crittografato sia di un valore di password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato durante la cifratura del documento PDF con una password. (Vedi Crittografia dei documenti PDF con una password.)
Per sbloccare un documento PDF crittografato tramite certificato, è necessario disporre sia di un documento PDF crittografato che del valore alias della chiave pubblica corrispondente alla chiave privata utilizzata per cifrare il documento PDF.
Eseguire un’operazione AEM Forms
Dopo lo sblocco di un documento PDF crittografato, è possibile eseguire un'altra operazione del servizio, ad esempio l'applicazione di diritti di utilizzo. Questa operazione appartiene al servizio Acrobat Reader DC Extensions.
Consulta anche
Sblocca un documento PDF crittografato utilizzando l’API Java
Sblocca un documento PDF crittografato utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Sblocca un documento PDF crittografato utilizzando l’API Java unlock-an-encrypted-pdf-document-using-the-java-api
Sblocca un documento PDF crittografato utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Crea un client del servizio di crittografia.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere il documento PDF crittografato.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF crittografato. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Sblocca il documento.
Sblocca un documento PDF crittografato richiamando il
EncryptionServiceClientdell’oggettounlockPDFUsingPasswordounlockPDFUsingCredentialmetodo .Per sbloccare un documento PDF crittografato con una password, richiama
unlockPDFUsingPassworde passare i seguenti valori:- A
com.adobe.idp.Documentoggetto contenente il documento PDF crittografato con password. - Valore stringa che specifica il valore della password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato durante la cifratura del documento PDF con una password.
Per sbloccare un documento PDF crittografato con un certificato, richiama
unlockPDFUsingCredentiale passare i seguenti valori:- A
com.adobe.idp.Documentoggetto contenente il documento PDF crittografato con certificato. - Valore stringa che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDF.
La
unlockPDFUsingPasswordeunlockPDFUsingCredentialentrambi i metodi restituiscono uncom.adobe.idp.Documentoggetto passato a un altro metodo Java di AEM Forms per eseguire un'operazione. - A
-
Esegui un’operazione AEM Forms.
Esegui un’operazione AEM Forms sul documento PDF sbloccato per soddisfare i requisiti aziendali. Ad esempio, se si desidera applicare diritti di utilizzo a un documento PDF sbloccato, passare il
com.adobe.idp.Documentoggetto restituito daunlockPDFUsingPasswordounlockPDFUsingCredentialmetodiReaderExtensionsServiceClientdell’oggettoapplyUsageRightsmetodo .
Consulta anche
Avvio rapido (modalità SOAP): Sblocco di un documento PDF crittografato tramite API Java (modalità SOAP)
Applicazione dei diritti di utilizzo ai documenti PDF
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Sblocca un documento PDF crittografato utilizzando l’API del servizio Web unlock-an-encrypted-pdf-document-using-the-web-service-api
Sblocca un documento PDF crittografato utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Crea un client del servizio di crittografia.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottieni un documento PDF crittografato.
- Crea un
BLOButilizzando il relativo costruttore. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati.
- Crea un
-
Sblocca il documento.
Sblocca un documento PDF crittografato richiamando il
EncryptionServiceClientdell’oggettounlockPDFUsingPasswordounlockPDFUsingCredentialmetodo .Per sbloccare un documento PDF crittografato con una password, richiama
unlockPDFUsingPassworde passare i seguenti valori:- A
BLOBoggetto contenente il documento PDF crittografato con password. - Valore stringa che specifica il valore della password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato durante la cifratura del documento PDF con una password.
Per sbloccare un documento PDF crittografato con un certificato, richiama
unlockPDFUsingCredentiale passare i seguenti valori:- A
BLOBoggetto contenente il documento PDF crittografato con certificato. - Valore stringa che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDf.
La
unlockPDFUsingPasswordeunlockPDFUsingCredentialentrambi i metodi restituiscono uncom.adobe.idp.Documentoggetto passato a un altro metodo AEM Forms per eseguire un'operazione. - A
-
Esegui un’operazione AEM Forms.
Esegui un’operazione AEM Forms sul documento PDF sbloccato per soddisfare i requisiti aziendali. Ad esempio, se si desidera applicare diritti di utilizzo al documento PDF sbloccato, passare il
BLOBoggetto restituito daunlockPDFUsingPasswordounlockPDFUsingCredentialmetodiReaderExtensionsServiceClientdell’oggettoapplyUsageRightsmetodo .
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Determinazione del tipo di crittografia determining-encryption-type
È possibile determinare programmaticamente il tipo di crittografia che protegge un documento PDF utilizzando l’API Java Encryption Service o il servizio Web Encryption Service API. A volte è necessario determinare in modo dinamico se un documento PDF è crittografato e, in tal caso, il tipo di crittografia. Ad esempio, è possibile determinare se un documento di PDF è protetto da crittografia basata su password o da criteri di Rights Management.
Un documento PDF può essere protetto dai seguenti tipi di cifratura:
- Crittografia basata su password
- Crittografia basata su certificato
- Criterio creato dal servizio Rights Management
- Un altro tipo di crittografia
Riepilogo dei passaggi summary_of_steps-5
Per determinare il tipo di crittografia che protegge un documento PDF, eseguire le operazioni seguenti:
- Includi file di progetto.
- Crea un client del servizio di crittografia.
- Ottenere il documento PDF crittografato.
- Determina il tipo di crittografia.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
- jbossall-client.jar (richiesto se AEM Forms è distribuito su JBoss Application Server)
Creare un client di servizio
Per eseguire un'operazione del servizio di cifratura a livello di programmazione, è necessario creare un client del servizio di cifratura. Se utilizzi l’API del servizio Java Encryption, crea un EncrytionServiceClient oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un EncryptionServiceService oggetto.
Ottenere il documento PDF crittografato
È necessario ottenere un documento PDF per determinare il tipo di crittografia che lo protegge.
Determinare il tipo di crittografia
È possibile determinare il tipo di crittografia che protegge un documento PDF. Se il documento PDF non è protetto, il servizio di crittografia informa l'utente che il documento PDF non è protetto.
Consulta anche
Determinare il tipo di crittografia utilizzando l’API Java
Determinare il tipo di crittografia utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di crittografia
Protezione dei documenti con i criteri
Determinare il tipo di crittografia utilizzando l’API Java determine-the-encryption-type-using-the-java-api
Determina il tipo di crittografia che protegge un documento PDF utilizzando l’API di cifratura (Java):
-
Includi file di progetto.
Includi file JAR client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Crea un client di servizio.
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
EncryptionServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Ottenere il documento PDF crittografato.
- Crea un
java.io.FileInputStreamoggetto che rappresenta il documento PDF utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del documento PDF. - Crea un
com.adobe.idp.Documentutilizzando il relativo costruttore e passandojava.io.FileInputStreamoggetto.
- Crea un
-
Determina il tipo di crittografia.
- Determina il tipo di crittografia richiamando il
EncryptionServiceClientdell’oggettogetPDFEncryptione passarecom.adobe.idp.Documentoggetto contenente il documento PDF. Questo metodo restituisce unEncryptionTypeResultoggetto. - Richiama il
EncryptionTypeResultdell’oggettogetEncryptionTypemetodo . Questo metodo restituisce unEncryptionTypevalore enum che specifica il tipo di crittografia. Ad esempio, se il documento PDF è protetto con crittografia basata su password, questo metodo restituisceEncryptionType.PASSWORD.
- Determina il tipo di crittografia richiamando il
Consulta anche
Avvio rapido (modalità SOAP): Determinazione del tipo di crittografia tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Determinare il tipo di crittografia utilizzando l’API del servizio Web determine-the-encryption-type-using-the-web-service-api
Determinare il tipo di crittografia che protegge un documento PDF utilizzando l’API di cifratura (servizio Web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Crea un client di servizio.
-
Crea un
EncryptionServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
EncryptionServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL.) Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delEncryptionServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Ottenere il documento PDF crittografato.
- Crea un
BLOButilizzando il relativo costruttore. - Crea un
System.IO.FileStreamrichiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
System.IO.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBassegnando il contenuto dell'array di byte alBLOBdell’oggettoMTOMmembro dati.
- Crea un
-
Determina il tipo di crittografia.
- Richiama il
EncryptionServiceClientdell’oggettogetPDFEncryptione passare ilBLOBoggetto contenente il documento PDF. Questo metodo restituisce unEncryptionTypeResultoggetto. - Ottieni il valore del
EncryptionTypeResultdell’oggettoencryptionTypemetodo data. Ad esempio, se il documento PDF è protetto con crittografia basata su password, il valore di questo membro dati èEncryptionType.PASSWORD.
- Richiama il
Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef