Crittografia e decrittografia dei documenti di PDF encrypting-and-decrypting-pdf-documents
Gli esempi e gli esempi contenuti in questo documento sono solo per l’ambiente AEM Forms su JEE.
Informazioni sul servizio Encryption
Il servizio Crittografia consente di crittografare 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 al contenuto. Se un documento PDF è crittografato con una password, l’utente deve specificare la password di apertura prima che il documento possa essere visualizzato 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 crittografare il documento PDF.
È possibile eseguire queste operazioni utilizzando il servizio Crittografia:
- Crittografa un documento PDF con una password. (vedere Crittografia di documenti PDF con una password.)
- Crittografa un documento PDF con un certificato. (vedere Crittografia di documenti PDF con certificati.)
- Rimuovere la crittografia basata su password da un documento PDF. (vedere Rimozione di Crittografia password.)
- Rimuovere la crittografia basata su certificato da un documento PDF. (vedere Rimozione della crittografia basata su certificati.)
- Sblocca il documento PDF in modo da poter eseguire altre operazioni di servizio. Dopo lo sblocco di un documento PDF crittografato con password, ad esempio, è possibile applicare una firma digitale. (vedere Sblocco di documenti PDF crittografati.)
- Determinare il tipo di crittografia di un documento PDF protetto. (vedere Determinazione del tipo di crittografia.)
Crittografia di documenti PDF con una password encrypting-pdf-documents-with-a-password
Quando crittografi 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 sul documento un’altra operazione di AEM Forms, ad esempio la firma digitale del documento di PDF, è necessario sbloccare un documento di PDF crittografato con password.
Riepilogo dei passaggi summary-of-steps
Per crittografare un documento PDF con una password, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un oggetto API client di crittografia.
- Ottieni un documento PDF da crittografare.
- Impostare le opzioni di runtime 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, accertati 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 è implementato su JBoss)
- jbossall-client.jar (obbligatorio se AEM Forms è distribuito su JBoss)
Creare un oggetto API client di crittografia
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia.
Ottieni un documento PDF da crittografare
Ottieni un documento PDF non crittografato per crittografare il documento con una password. Se si tenta di proteggere un documento PDF già crittografato, viene generata un'eccezione.
Impostare le opzioni di runtime della crittografia
Per crittografare un documento PDF con una password, è necessario specificare quattro valori, inclusi due valori di password. Il primo valore della password viene utilizzato per crittografare il documento PDF e deve essere specificato all'apertura del documento PDF. Il secondo valore della password, denominato password master, viene utilizzato per rimuovere la crittografia dal documento PDF. I valori delle password fanno distinzione tra maiuscole e minuscole e non possono essere uguali.
Specificare le risorse del documento PDF da crittografare. È possibile crittografare l’intero documento PDF, tutto tranne i metadati del documento o solo gli allegati del documento. Se si crittografano solo gli allegati del documento, a un utente viene richiesta una password quando tenta di accedere ai file allegati.
Quando si crittografa 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 di PDF non protetto e aver impostato i valori di runtime della crittografia, è possibile aggiungere una password al documento di 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 della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Crittografia 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 crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, ad esempio adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un'API client di crittografia.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni un documento PDF da crittografare.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF da crittografare utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Impostare le opzioni di runtime della crittografia.
- Creare un
PasswordEncryptionOptionSpec
richiamando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare richiamando
PasswordEncryptionOptionSpec
dell'oggettosetEncryptOption
e il passaggio di unPasswordEncryptionOption
valore di enumerazione che specifica le risorse del documento da crittografare. Ad esempio, per crittografare l'intero documento PDF, inclusi i metadati e gli allegati, specificarePasswordEncryptionOption.ALL
. - Creare un
java.util.List
oggetto che memorizza le autorizzazioni di crittografia utilizzandoArrayList
costruttore. - Specificare un'autorizzazione richiamando
java.util.List
oggetto "sadd
e passando un valore di enumerazione che corrisponde all'autorizzazione da impostare. Ad esempio, per impostare l’autorizzazione che consente a un utente di copiare i dati nel documento PDF, specificaPasswordEncryptionPermission.PASSWORD_EDIT_COPY
. (Ripeti questo passaggio per ogni autorizzazione da impostare). - Specifica l’opzione di compatibilità per Acrobat richiamando
PasswordEncryptionOptionSpec
dell'oggettosetCompatability
e passando un valore di enumerazione che specifica il livello di compatibilità di Acrobat. Ad esempio, puoi specificarePasswordEncryptionCompatability.ACRO_7
. - Specificare il valore della password che consente a un utente di aprire il documento PDF crittografato richiamando
PasswordEncryptionOptionSpec
dell'oggettosetDocumentOpenPassword
e passando un valore stringa che rappresenta la password di apertura. - Specificare il valore della password master che consente a un utente di rimuovere la crittografia dal documento PDF richiamando
PasswordEncryptionOptionSpec
dell'oggettosetPermissionPassword
e passando un valore stringa che rappresenta la password principale.
- Creare un
-
Aggiungi la password.
Crittografare il documento PDF richiamando
EncryptionServiceClient
dell'oggettoencryptPDFUsingPassword
e fornendo i seguenti valori:- Il
com.adobe.idp.Document
oggetto che contiene il documento PDF da crittografare con la password. - Il
PasswordEncryptionOptionSpec
oggetto contenente opzioni di crittografia in fase di esecuzione.
Il
encryptPDFUsingPassword
il metodo restituisce uncom.adobe.idp.Document
oggetto contenente un documento PDF crittografato con password. - Il
-
Salvare il documento PDF crittografato come file PDF.
- Creare un
java.io.File
e assicurarsi che l'estensione del file sia .pdf. - Richiama
com.adobe.idp.Document
dell'oggettocopyToFile
metodo per copiare il contenuto delcom.adobe.idp.Document
al file. Assicurati di utilizzarecom.adobe.idp.Document
oggetto restituito daencryptPDFUsingPassword
metodo.
- Creare un
Consulta anche
Quick Start (modalità SOAP): crittografia di un documento PDF tramite l’API Java
Inclusione dei file della 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
Crittografa un documento PDF con una password utilizzando l’API di crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un oggetto API client di crittografia.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni un documento PDF da crittografare.
- Creare un
BLOB
mediante il costruttore. IlBLOB
L'oggetto viene utilizzato per memorizzare un documento PDF crittografato con una password. - Creare un
System.IO.FileStream
richiamando il costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF da crittografare e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati.
- Creare un
-
Impostare le opzioni di runtime della crittografia.
- Creare un
PasswordEncryptionOptionSpec
mediante il costruttore. - Specificare le risorse del documento PDF da crittografare assegnando un
PasswordEncryptionOption
valore di enumerazione perPasswordEncryptionOptionSpec
dell'oggettoencryptOption
membro dati. Per crittografare l'intero PDF, inclusi i metadati e gli allegati, assegnarePasswordEncryptionOption.ALL
a questo membro dati. - Specifica l’opzione di compatibilità per Acrobat assegnando un
PasswordEncryptionCompatability
valore di enumerazione perPasswordEncryptionOptionSpec
dell'oggettocompatability
membro dati. Ad esempio, assegnaPasswordEncryptionCompatability.ACRO_7
a questo membro dati. - Specifica il valore della password che consente a un utente di aprire il documento PDF crittografato assegnando un valore stringa che rappresenta la password di apertura al
PasswordEncryptionOptionSpec
dell'oggettodocumentOpenPassword
membro dati. - Specificare il valore della password che consente a un utente di rimuovere la crittografia dal documento PDF assegnando un valore stringa che rappresenta la password master al
PasswordEncryptionOptionSpec
dell'oggettopermissionPassword
membro dati.
- Creare un
-
Aggiungi la password.
Crittografare il documento PDF richiamando
EncryptionServiceClient
dell'oggettoencryptPDFUsingPassword
e fornendo i seguenti valori:- Il
BLOB
oggetto che contiene il documento PDF da crittografare con la password. - Il
PasswordEncryptionOptionSpec
oggetto contenente opzioni di crittografia in fase di esecuzione.
Il
encryptPDFUsingPassword
il metodo restituisce unBLOB
oggetto contenente un documento PDF crittografato con password. - Il
-
Salvare il documento PDF crittografato come file PDF.
- Creare un
System.IO.FileStream
richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF protetto. - Creare una matrice di byte che memorizza il contenuto dei dati
BLOB
oggetto restituito daencryptPDFUsingPassword
metodo. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettoMTOM
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef
Crittografia 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. È possibile assegnare a diversi destinatari autorizzazioni diverse per il documento. Molti aspetti della crittografia sono resi possibili dalla tecnologia a chiave pubblica. Un algoritmo viene utilizzato per generare due numeri grandi, noti come tasti, 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 e le informazioni di identificazione di un utente. Il formato X.509 viene utilizzato per l’archiviazione dei certificati. I certificati vengono 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 CRL vengono 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, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un oggetto API client di crittografia.
- Ottieni un documento PDF da crittografare.
- Fai riferimento al certificato.
- Impostare le opzioni di runtime della crittografia.
- Crea 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, accertati 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 sul server applicazioni JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito sul server applicazioni JBoss)
Creare un oggetto API client di crittografia
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia. Se utilizzi l’API Java Encryption Service, crea un’ EncrytionServiceClient
oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un’ EncryptionServiceService
oggetto.
Ottieni un documento PDF da crittografare
Ottieni un documento PDF non crittografato da crittografare. Se si tenta di proteggere un documento PDF già crittografato, viene generata un'eccezione.
Fai riferimento al certificato
Per crittografare un documento PDF con un certificato, fare riferimento a un certificato utilizzato per crittografare un documento PDF. Il certificato è un file cer, crt o 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 che un utente che apre un documento PDF crittografato con certificato può eseguire.
Impostare le opzioni di runtime della crittografia
Specificare le risorse del documento PDF da crittografare. È possibile crittografare l’intero documento PDF, tutto tranne i metadati del documento o solo gli allegati del documento.
Creazione di un documento PDF crittografato con certificato
Dopo aver recuperato un documento di PDF non protetto, aver fatto riferimento al certificato e aver impostato le opzioni di runtime, è possibile creare un documento di PDF crittografato con certificato. Dopo aver crittografato il documento PDF, è necessario utilizzare la 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 della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Crittografia di 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
Crittografa un documento PDF con un certificato utilizzando l’API di crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, ad esempio adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un oggetto API client di crittografia.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni un documento PDF da crittografare.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF da crittografare utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Fai riferimento al certificato.
- Creare un
java.util.List
oggetto che memorizza le informazioni sulle autorizzazioni utilizzando il relativo costruttore. - Specificare l'autorizzazione associata al documento crittografato richiamando
java.util.List
dell'oggettoadd
e il passaggio di unCertificateEncryptionPermissions
valore di enumerazione che rappresenta le autorizzazioni concesse all'utente che apre il documento PDF protetto. Ad esempio, per specificare tutte le autorizzazioni, passareCertificateEncryptionPermissions.PKI_ALL_PERM
. - Creare un
Recipient
mediante il costruttore. - Creare un
java.io.FileInputStream
oggetto che rappresenta il certificato utilizzato per crittografare il documento PDF utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del certificato. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto che rappresenta il certificato. - Richiama
Recipient
dell'oggettosetX509Cert
e trasmettere ilcom.adobe.idp.Document
oggetto che contiene il certificato. (Inoltre, ilRecipient
L'oggetto può avere un alias del certificato Truststore o un URL LDAP come origine del certificato.) - Creare un
CertificateEncryptionIdentity
oggetto che memorizza le informazioni su autorizzazioni e certificati utilizzando il relativo costruttore. - Richiama
CertificateEncryptionIdentity
dell'oggettosetPerms
e trasmettere iljava.util.List
oggetto che memorizza le informazioni sulle autorizzazioni. - Richiama
CertificateEncryptionIdentity
dell'oggettosetRecipient
e trasmettere ilRecipient
oggetto che memorizza le informazioni sul certificato. - Creare un
java.util.List
oggetto che memorizza le informazioni sul certificato utilizzando il relativo costruttore. - Richiama
java.util.List
metodo add dell'oggetto e passare ilCertificateEncryptionIdentity
oggetto. (Questojava.util.List
l'oggetto viene passato come parametro alencryptPDFUsingCertificates
metodo.)
- Creare un
-
Impostare le opzioni di runtime della crittografia.
- Creare un
CertificateEncryptionOptionSpec
richiamando il relativo costruttore. - Specificare le risorse del documento PDF da crittografare richiamando
CertificateEncryptionOptionSpec
dell'oggettosetOption
e il passaggio di unCertificateEncryptionOption
valore di enumerazione che specifica le risorse del documento da crittografare. Ad esempio, per crittografare l'intero documento PDF, inclusi i metadati e gli allegati, specificareCertificateEncryptionOption.ALL
. - Specifica l’opzione di compatibilità per Acrobat richiamando
CertificateEncryptionOptionSpec
dell'oggettosetCompat
e il passaggio di unCertificateEncryptionCompatibility
valore di enumerazione che specifica il livello di compatibilità di Acrobat. Ad esempio, puoi specificareCertificateEncryptionCompatibility.ACRO_7
.
- Creare un
-
Crea un documento PDF crittografato con certificato.
Crittografare il documento PDF con un certificato richiamando il
EncryptionServiceClient
dell'oggettoencryptPDFUsingCertificates
e fornendo i seguenti valori:- Il
com.adobe.idp.Document
oggetto che contiene il documento PDF da crittografare. - Il
java.util.List
oggetto che memorizza le informazioni sul certificato. - Il
CertificateEncryptionOptionSpec
oggetto contenente opzioni di crittografia in fase di esecuzione.
Il
encryptPDFUsingCertificates
il metodo restituisce uncom.adobe.idp.Document
oggetto contenente un documento PDF crittografato con certificato. - Il
-
Salvare il documento PDF crittografato come file PDF.
- Creare un
java.io.File
e assicurarsi che l'estensione del nome file sia .pdf. - Richiama
com.adobe.idp.Document
dell'oggettocopyToFile
metodo per copiare il contenuto delcom.adobe.idp.Document
al file. Assicurati di utilizzarecom.adobe.idp.Document
oggetto restituito daencryptPDFUsingCertificates
metodo.
- Creare un
Consulta anche
Guida rapida (modalità SOAP): crittografia di un documento PDF con un certificato tramite l’API Java
Inclusione dei file della 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
Crittografa un documento PDF con un certificato utilizzando l’API di crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un oggetto API client di crittografia.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni un documento PDF da crittografare.
- Creare un
BLOB
mediante il costruttore. IlBLOB
L'oggetto viene utilizzato per memorizzare un documento PDF crittografato con un certificato. - Creare un
System.IO.FileStream
richiamando il costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF da crittografare e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
oggetto assegnando il relativoMTOM
con il contenuto della matrice di byte.
- Creare un
-
Fai riferimento al certificato.
- Creare un
Recipient
mediante il costruttore. Questo oggetto memorizzerà le informazioni sul certificato. - Creare un
BLOB
mediante il costruttore. QuestoBLOB
L'oggetto memorizzerà il certificato che crittografa il documento PDF. - Creare un
System.IO.FileStream
richiamando il costruttore e passando un valore stringa che rappresenta la posizione del file del certificato e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati. - Assegna la
BLOB
oggetto che memorizza il certificato inRecipient
dell'oggettox509Cert
membro dati. - Creare un
CertificateEncryptionIdentity
oggetto che memorizza le informazioni sul certificato utilizzando il relativo costruttore. - Assegna la
Recipient
oggetto che memorizza il certificato inCertificateEncryptionIdentity
membro dati destinatario dell'oggetto. - Creare un
Object
e assegna ilCertificateEncryptionIdentity
oggetto al primo elemento delObject
array. QuestoObject
viene passato come parametro alencryptPDFUsingCertificates
metodo.
- Creare un
-
Impostare le opzioni di runtime della crittografia.
- Creare un
CertificateEncryptionOptionSpec
mediante il costruttore. - Specificare le risorse del documento PDF da crittografare assegnando un
CertificateEncryptionOption
valore di enumerazione perCertificateEncryptionOptionSpec
dell'oggettooption
membro dati. Per crittografare l'intero documento PDF, inclusi i metadati e gli allegati, assegnareCertificateEncryptionOption.ALL
a questo membro dati. - Specifica l’opzione di compatibilità per Acrobat assegnando un
CertificateEncryptionCompatibility
valore di enumerazione perCertificateEncryptionOptionSpec
dell'oggettocompat
membro dati. Ad esempio, assegnaCertificateEncryptionCompatibility.ACRO_7
a questo membro dati.
- Creare un
-
Crea un documento PDF crittografato con certificato.
Crittografare il documento PDF con un certificato richiamando il
EncryptionServiceService
dell'oggettoencryptPDFUsingCertificates
e fornendo i seguenti valori:- Il
BLOB
oggetto che contiene il documento PDF da crittografare. - Il
Object
array che memorizza le informazioni sui certificati. - Il
CertificateEncryptionOptionSpec
oggetto contenente opzioni di crittografia in fase di esecuzione.
Il
encryptPDFUsingCertificates
il metodo restituisce unBLOB
oggetto contenente un documento PDF crittografato con certificato. - Il
-
Salvare il documento PDF crittografato come file PDF.
- Creare un
System.IO.FileStream
richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF protetto. - Creare una matrice di byte che memorizza il contenuto dei dati
BLOB
oggetto restituito daencryptPDFUsingCertificates
metodo. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettobinaryData
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef
Rimozione della crittografia basata su certificati removing-certificate-based-encryption
La crittografia basata su certificato può essere rimossa da un documento PDF PDF in modo che gli utenti possano aprirlo 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 da un documento PDF, la crittografia non è più protetta.
Riepilogo dei passaggi summary_of_steps-2
Per rimuovere la crittografia basata su certificato da un documento PDF, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un client del servizio di crittografia.
- Ottieni il documento PDF crittografato.
- Rimuovi la 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, accertati 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 sul server applicazioni JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito sul server applicazioni JBoss)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia. Se utilizzi l’API Java Encryption Service, crea un’ EncrytionServiceClient
oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un’ EncryptionServiceService
oggetto.
Ottieni il documento PDF crittografato
Ottieni un documento PDF crittografato per rimuovere la crittografia basata su certificati. 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 di un documento PDF crittografato e della chiave privata corrispondente alla chiave utilizzata per crittografare il documento PDF. Il valore alias della chiave privata viene specificato quando si rimuove la crittografia basata su certificati da un documento di PDF crittografato. Per informazioni sulla chiave pubblica, vedi Crittografia di documenti PDF con certificati.
Salva il documento PDF
Dopo aver rimosso la crittografia basata su certificati 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 certificati utilizzando l’API Java
Rimuovi la crittografia basata su certificati utilizzando l’API del servizio web
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Rimuovere la crittografia basata su certificati utilizzando l’API Java remove-certificate-based-encryption-using-the-java-api
Rimuovi la crittografia basata su certificato da un documento PDF utilizzando l’API di crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, ad esempio adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un client del servizio di crittografia.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni il documento PDF crittografato.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF crittografato. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Rimuovi la crittografia.
Rimuovere la crittografia basata su certificato dal documento PDF richiamando
EncryptionServiceClient
dell'oggettoremovePDFCertificateSecurity
e fornendo i seguenti valori:- Il
com.adobe.idp.Document
oggetto che contiene il documento PDF crittografato. - Valore stringa che specifica il nome alias della chiave privata corrispondente alla chiave utilizzata per crittografare il documento PDf.
Il
removePDFCertificateSecurity
il metodo restituisce uncom.adobe.idp.Document
oggetto contenente un documento PDF non protetto. - Il
-
Salvare il documento PDF.
- Creare un
java.io.File
e assicurarsi che l'estensione del file sia .pdf. - Richiama
com.adobe.idp.Document
dell'oggettocopyToFile
metodo per copiare il contenuto delDocument
al file. Assicurati di utilizzarecom.adobe.idp.Document
oggetto restituito daremovePDFCredentialSecurity
metodo.
- Creare un
Consulta anche
Quick Start (modalità SOAP): rimozione della crittografia basata su certificati tramite l’API Java
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Rimuovi la crittografia basata su certificati 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 crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un client del servizio di crittografia.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni il documento PDF crittografato.
- Creare un
BLOB
mediante il costruttore. IlBLOB
L'oggetto viene utilizzato per memorizzare il documento PDF crittografato. - Creare un
System.IO.FileStream
oggetto richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati.
- Creare un
-
Rimuovi la crittografia.
Richiama
EncryptionServiceClient
dell'oggettoremovePDFCertificateSecurity
e trasmettere i seguenti valori:- Il
BLOB
oggetto contenente dati di flusso di file che rappresenta un documento PDF crittografato. - Valore string che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDf.
Il
removePDFCredentialSecurity
il metodo restituisce unBLOB
oggetto contenente un documento PDF non protetto. - Il
-
Salvare il documento PDF.
- Creare un
System.IO.FileStream
richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento di PDF non protetto. - Creare una matrice di byte che memorizza il contenuto della
BLOB
oggetto restituito daremovePDFPasswordSecurity
metodo. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettoMTOM
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef
Rimozione di Crittografia password removing-password-encryption
La crittografia basata su password può essere rimossa da un documento PDF PDF in modo che gli utenti possano aprirlo 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, effettuare le seguenti operazioni:
- Includi file di progetto
- Creare un client del servizio di crittografia.
- Ottieni 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, accertati 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 è implementato su JBoss)
- jbossall-client.jar (obbligatorio se AEM Forms è distribuito su JBoss)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia. Se utilizzi l’API Java Encryption Service, crea un’ EncrytionServiceClient
oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un’ EncryptionServiceService
oggetto.
Ottieni il documento PDF crittografato
Ottieni un documento PDF crittografato per rimuovere la crittografia basata su password. Se si tenta di rimuovere la crittografia da un documento PDF non crittografato, viene generata un'eccezione.
Rimuovi la password
Per rimuovere la crittografia basata su password da un documento PDF crittografato, è necessario disporre di un documento PDF crittografato e di un valore di 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. Quando il documento PDF viene crittografato con una password, viene specificata una password master. (vedere Crittografia di documenti PDF con una password.)
Salva il documento PDF
Dopo che il servizio Crittografia rimuove la 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 della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Crittografia di documenti PDF con una password
Rimuovere la crittografia basata su password utilizzando l’API Java remove-password-based-encryption-using-the-java-api
Rimuovi la crittografia basata su password da un documento PDF utilizzando l’API di crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, come adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un client del servizio di crittografia.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni il documento PDF crittografato.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Rimuovi la password.
Rimuovere la crittografia basata su password dal documento PDF richiamando
EncryptionServiceClient
dell'oggettoremovePDFPasswordSecurity
e fornendo i seguenti valori:- A
com.adobe.idp.Document
oggetto che contiene il documento PDF crittografato. - Valore string che specifica il valore della password master utilizzato per rimuovere la crittografia dal documento PDF.
Il
removePDFPasswordSecurity
il metodo restituisce uncom.adobe.idp.Document
oggetto contenente un documento PDF non protetto. - A
-
Salvare il documento PDF.
- Creare un
java.io.File
e assicurarsi che l'estensione del nome file sia .pdf. - Richiama
com.adobe.idp.Document
dell'oggettocopyToFile
metodo per copiare il contenuto delDocument
al file. Assicurati di utilizzareDocument
oggetto restituito daremovePDFPasswordSecurity
metodo.
- Creare un
Consulta anche
Quick Start (modalità SOAP): rimozione della crittografia basata su password tramite API Java
Rimuovi la crittografia basata su password tramite l’API del servizio web remove-password-based-encryption-using-the-web-service-api
Rimuovi la crittografia basata su password utilizzando l’API di crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un client del servizio di crittografia.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni il documento PDF crittografato.
- Creare un
BLOB
mediante il costruttore. IlBLOB
L'oggetto viene utilizzato per memorizzare un documento PDF crittografato con password. - Creare un
System.IO.FileStream
oggetto richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati.
- Creare un
-
Rimuovi la password.
Richiama
EncryptionServiceService
dell'oggettoremovePDFPasswordSecurity
e trasmettere i seguenti valori:- Il
BLOB
oggetto contenente dati di flusso di file che rappresenta un documento PDF crittografato. - Valore stringa che specifica il valore della password utilizzato per rimuovere la crittografia dal documento PDF. Questo valore viene specificato quando si crittografa il documento PDF con una password.
Il
removePDFPasswordSecurity
il metodo restituisce unBLOB
oggetto contenente un documento PDF non protetto. - Il
-
Salvare il documento PDF.
- Creare un
System.IO.FileStream
richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento di PDF non protetto. - Creare una matrice di byte che memorizza il contenuto della
BLOB
oggetto restituito daremovePDFPasswordSecurity
metodo. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettoMTOM
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef
Sblocco di documenti PDF crittografati unlocking-encrypted-pdf-documents
Un documento PDF crittografato con password o con certificato deve essere sbloccato prima di poter essere sottoposto a un’altra operazione AEM Forms. Se si tenta di eseguire un'operazione su un documento di PDF crittografato, verrà generata un'eccezione. Dopo aver sbloccato un documento PDF crittografato, è possibile eseguirvi una o più operazioni. Queste operazioni possono appartenere ad altri servizi, come il servizio Acrobat Reader DC extensions.
Riepilogo dei passaggi summary_of_steps-4
Per sbloccare un documento PDF crittografato, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un client del servizio di crittografia.
- Ottieni il documento PDF crittografato.
- Sblocca il documento.
- Eseguire 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, accertati 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 sul server applicazioni JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito sul server applicazioni JBoss)
Creare un client del servizio di crittografia
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia. Se utilizzi l’API Java Encryption Service, crea un’ EncrytionServiceClient
oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un’ EncryptionServiceService
oggetto.
Ottieni il documento PDF crittografato
Ottieni un documento PDF crittografato per sbloccarlo. 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 di un documento PDF crittografato e di un valore di password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato quando si crittografa il documento PDF con una password. (vedere Crittografia di documenti PDF con una password.)
Per sbloccare un documento PDF crittografato con certificato, è necessario sia un documento PDF crittografato che il valore alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDF.
Eseguire un’operazione AEM Forms
Dopo lo sblocco di un documento PDF crittografato, è possibile eseguire un'altra operazione di servizio su di esso, ad esempio l'applicazione dei diritti di utilizzo. Questa operazione appartiene al servizio Acrobat Reader DC Extensions.
Consulta anche
Sbloccare un documento PDF crittografato utilizzando l’API Java
Sblocca un documento PDF crittografato utilizzando l’API del servizio web
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Sbloccare 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 crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, ad esempio adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Creare un client del servizio di crittografia.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni il documento PDF crittografato.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF crittografato utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF crittografato. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Sblocca il documento.
Sblocca un documento PDF crittografato richiamando
EncryptionServiceClient
dell'oggettounlockPDFUsingPassword
ounlockPDFUsingCredential
metodo.Per sbloccare un documento PDF crittografato con una password, richiamare
unlockPDFUsingPassword
e trasmettere i seguenti valori:- A
com.adobe.idp.Document
oggetto contenente il documento PDF crittografato con password. - Valore string che specifica il valore della password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato quando si crittografa il documento PDF con una password.
Per sbloccare un documento PDF crittografato con un certificato, richiama
unlockPDFUsingCredential
e trasmettere i seguenti valori:- A
com.adobe.idp.Document
oggetto che contiene il documento PDF crittografato con certificato. - Valore string che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDF.
Il
unlockPDFUsingPassword
eunlockPDFUsingCredential
entrambi i metodi restituiscono uncom.adobe.idp.Document
oggetto passato a un altro metodo Java AEM Forms per eseguire un'operazione. - A
-
Eseguire un’operazione AEM Forms.
Esegui un’operazione AEM Forms sul documento PDF sbloccato per soddisfare i requisiti aziendali. Se ad esempio si desidera applicare i diritti di utilizzo a un documento di PDF non bloccato, passare il
com.adobe.idp.Document
oggetto restituito da uno dei dueunlockPDFUsingPassword
ounlockPDFUsingCredential
metodi perReaderExtensionsServiceClient
dell'oggettoapplyUsageRights
metodo.
Consulta anche
Guida rapida (modalità SOAP): sblocco di un documento PDF crittografato tramite l’API Java (modalità SOAP)
Applicazione dei diritti di utilizzo ai documenti di PDF
Inclusione dei file della 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 crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un client del servizio di crittografia.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni un documento PDF crittografato.
- Creare un
BLOB
mediante il costruttore. - Creare un
System.IO.FileStream
oggetto richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati.
- Creare un
-
Sblocca il documento.
Sblocca un documento PDF crittografato richiamando
EncryptionServiceClient
dell'oggettounlockPDFUsingPassword
ounlockPDFUsingCredential
metodo.Per sbloccare un documento PDF crittografato con una password, richiamare
unlockPDFUsingPassword
e trasmettere i seguenti valori:- A
BLOB
oggetto contenente il documento PDF crittografato con password. - Valore string che specifica il valore della password utilizzato per aprire un documento PDF crittografato con password. Questo valore viene specificato quando si crittografa il documento PDF con una password.
Per sbloccare un documento PDF crittografato con un certificato, richiama
unlockPDFUsingCredential
e trasmettere i seguenti valori:- A
BLOB
oggetto che contiene il documento PDF crittografato con certificato. - Valore string che specifica il nome alias della chiave pubblica corrispondente alla chiave privata utilizzata per crittografare il documento PDf.
Il
unlockPDFUsingPassword
eunlockPDFUsingCredential
entrambi i metodi restituiscono uncom.adobe.idp.Document
oggetto passato a un altro metodo AEM Forms per eseguire un'operazione. - A
-
Eseguire un’operazione AEM Forms.
Esegui un’operazione AEM Forms sul documento PDF sbloccato per soddisfare i requisiti aziendali. Se ad esempio si desidera applicare i diritti di utilizzo al documento di PDF sbloccato, passare il
BLOB
oggetto restituito da uno dei dueunlockPDFUsingPassword
ounlockPDFUsingCredential
metodi perReaderExtensionsServiceClient
dell'oggettoapplyUsageRights
metodo.
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef
Determinazione del tipo di crittografia determining-encryption-type
È possibile determinare a livello di programmazione il tipo di crittografia che protegge un documento PDF utilizzando l'API Servizio di crittografia Java o l'API Servizio di crittografia del servizio Web. A volte è necessario determinare dinamicamente se un documento PDF è crittografato e, in tal caso, il tipo di crittografia. Ad esempio, è possibile determinare se un documento PDF è protetto con una crittografia basata su password o con una policy di Rights Management.
Un documento PDF può essere protetto dai seguenti tipi di crittografia:
- Crittografia basata su password
- Crittografia basata su certificati
- Criterio creato dal servizio di 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, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un client del servizio di crittografia.
- Ottieni il documento PDF crittografato.
- Determinare 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, accertati 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 sul server applicazioni JBoss)
- jbossall-client.jar (richiesto se AEM Forms è distribuito sul server applicazioni JBoss)
Creare un client di servizio
Per eseguire un'operazione del servizio di crittografia a livello di programmazione, è necessario creare un client del servizio di crittografia. Se utilizzi l’API Java Encryption Service, crea un’ EncrytionServiceClient
oggetto. Se utilizzi l’API del servizio Web Encryption Service, crea un’ EncryptionServiceService
oggetto.
Ottieni il documento PDF crittografato
Ottieni 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 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 della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API servizio di crittografia
Protezione di documenti con 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 crittografia (Java):
-
Includi file di progetto.
Includi i file JAR dei client, ad esempio adobe-encryption-client.jar, nel percorso di classe del progetto Java.
-
Crea un client di servizio.
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
EncryptionServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Ottieni il documento PDF crittografato.
- Creare un
java.io.FileInputStream
oggetto che rappresenta il documento PDF utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Determinare il tipo di crittografia.
- Determinare il tipo di crittografia richiamando
EncryptionServiceClient
dell'oggettogetPDFEncryption
e passando ilcom.adobe.idp.Document
oggetto che contiene il documento PDF. Questo metodo restituisce unEncryptionTypeResult
oggetto. - Richiama
EncryptionTypeResult
dell'oggettogetEncryptionType
metodo. Questo metodo restituisce unEncryptionType
valore enum che specifica il tipo di crittografia. Se, ad esempio, il documento PDF è protetto con la crittografia basata su password, questo metodo restituiràEncryptionType.PASSWORD
.
- Determinare il tipo di crittografia richiamando
Consulta anche
Quick Start (modalità SOAP): determinazione del tipo di crittografia tramite l’API Java
Inclusione dei file della 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
Determina il tipo di crittografia che protegge un documento PDF utilizzando l’API di crittografia (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Crea un client di servizio.
-
Creare un
EncryptionServiceClient
utilizzando il costruttore predefinito. -
Creare un
EncryptionServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/EncryptionService?WSDL
.) Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delEncryptionServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
System.ServiceModel.BasicHttpBinding
dell'oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegna al campo il nome utente dei moduli AEM
EncryptionServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegna al campo il nome utente dei moduli AEM
-
-
Ottieni il documento PDF crittografato.
- Creare un
BLOB
mediante il costruttore. - Creare un
System.IO.FileStream
oggetto richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF crittografato e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
mediante l'assegnazione del contenuto della matrice di byteBLOB
dell'oggettoMTOM
membro dati.
- Creare un
-
Determinare il tipo di crittografia.
- Richiama
EncryptionServiceClient
dell'oggettogetPDFEncryption
e trasmettere ilBLOB
oggetto che contiene il documento PDF. Questo metodo restituisce unEncryptionTypeResult
oggetto. - Ottieni il valore di
EncryptionTypeResult
dell'oggettoencryptionType
metodo dati. Se, ad esempio, il documento PDF è protetto con la crittografia basata su password, il valore di questo membro dati èEncryptionType.PASSWORD
.
- Richiama
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef