Codificar y descifrar documentos PDF encrypting-and-decrypting-pdf-documents
Acerca del servicio de cifrado
El servicio Encryption permite cifrar y descifrar documentos. Cuando se cifra un documento, su contenido se vuelve ilegible. Un usuario autorizado puede descifrar el documento para obtener acceso al contenido. Si un documento PDF está cifrado con una contraseña, el usuario debe especificar la contraseña de apertura antes de que el documento se pueda ver en Adobe Reader o Adobe Acrobat. Del mismo modo, si un documento de PDF está cifrado con un certificado, el usuario debe descifrar el documento de PDF con la clave pública correspondiente al certificado (clave privada) que se utilizó para cifrar el documento de PDF.
Puede realizar estas tareas mediante el servicio de cifrado:
-
Codifique un documento PDF con una contraseña. (Consulte Codificación de documentos del PDF con una contraseña.)
-
Codificar un documento PDF con un certificado. (Consulte Codificación de documentos del PDF con certificados.)
-
Elimine el cifrado basado en contraseña de un documento de PDF. (Consulte Eliminación de la codificación de contraseña.)
-
Elimine el cifrado basado en certificados de un documento de PDF. (Consulte Eliminación de la codificación basada en certificados.)
-
Desbloquee el documento del PDF para que se puedan realizar otras operaciones de servicio. Por ejemplo, una vez desbloqueado un documento PDF cifrado con contraseña, puede aplicarle una firma digital. (Consulte Desbloquear documentos PDF cifrados.)
-
Determine el tipo de cifrado de un documento de PDF protegido. (Consulte Determinación del tipo de codificación.)
note note NOTE Para obtener más información sobre el servicio Cifrado, consulte Referencia de servicios para AEM Forms.
Codificación de documentos del PDF con una contraseña encrypting-pdf-documents-with-a-password
Cuando se cifra un documento PDF con una contraseña, cualquier usuario deberá especificar la contraseña para abrir el documento PDF en Adobe Reader o Acrobat. Además, antes de que se pueda realizar otra operación de AEM Forms, como firmar digitalmente el documento del PDF, un documento del PDF cifrado con contraseña debe desbloquearse.
Resumen de los pasos summary-of-steps
Para cifrar un documento PDF con una contraseña, realice los pasos siguientes:
- Incluir archivos de proyecto.
- Cree un objeto de API de cliente de cifrado.
- Obtenga un documento PDF para cifrar.
- Establezca las opciones de tiempo de ejecución del cifrado.
- Agregue la contraseña.
- Guarde el documento de PDF cifrado como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Creación de un objeto de API de cliente de cifrado
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado.
Obtener un documento PDF para cifrar
Debe obtener un documento PDF sin encriptar para cifrar el documento con una contraseña. Si intenta proteger un documento de PDF que ya está cifrado, debe hacer una excepción.
Establecer opciones de tiempo de ejecución de cifrado
Para cifrar un documento PDF con una contraseña, debe especificar cuatro valores, incluidos dos valores de contraseña. El primer valor de contraseña se utiliza para cifrar el documento del PDF y debe especificarse al abrir el documento del PDF. El segundo valor de contraseña, denominado valor de contraseña maestro, se utiliza para eliminar el cifrado del documento de PDF. Los valores de contraseña distinguen entre mayúsculas y minúsculas y estos dos valores de contraseña no pueden ser los mismos.
Debe especificar los recursos del documento del PDF que desea codificar. Puede cifrar todo el documento del PDF, todo menos los metadatos del documento o solo los archivos adjuntos del documento. Si sólo cifra los archivos adjuntos del documento, se solicita al usuario una contraseña cuando intente acceder a los archivos adjuntos.
Al cifrar un documento de PDF, puede especificar los permisos asociados al documento protegido. Si especifica permisos, puede controlar las acciones que puede realizar un usuario que abre un documento PDF cifrado con contraseña. Por ejemplo, para extraer correctamente los datos del formulario, debe definir los siguientes permisos:
- PASSWORD_EDIT_ADD
- PASSWORD_EDIT_MODIFY
PasswordEncryptionPermission valores de enumeración.Agregar la contraseña
Después de recuperar un documento de PDF no protegido y establecer valores de tiempo de ejecución de cifrado, puede agregar una contraseña al documento de PDF.
Guarde el documento de PDF cifrado como archivo de PDF
Puede guardar el documento de PDF cifrado con contraseña como archivo de PDF.
Consulte también
Codificación de un documento de PDF mediante la API de Java
Codificación de un documento de PDF mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Codificación de documentos del PDF con certificados
Codificación de un documento de PDF mediante la API de Java encrypt-a-pdf-document-using-the-java-api
Codificar un documento PDF con una contraseña mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree una API de cliente de cifrado.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga un documento PDF para cifrar.
- Cree un
java.io.FileInputStreamobjeto que representa el documento del PDF que se va a cifrar usando su constructor y pasando un valor de cadena que especifica la ubicación del documento del PDF. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Establezca las opciones de tiempo de ejecución del cifrado.
- Cree un
PasswordEncryptionOptionSpecinvocando su constructor. - Especifique los recursos del documento del PDF que desea cifrar invocando la variable
PasswordEncryptionOptionSpecdel objetosetEncryptOptionmétodo y pasar unaPasswordEncryptionOptionvalor de enumeración que especifica los recursos de documento que se van a cifrar. Por ejemplo, para cifrar todo el documento del PDF, incluidos sus metadatos y sus archivos adjuntos, especifiquePasswordEncryptionOption.ALL. - Cree un
java.util.Listobjeto que almacena los permisos de codificación utilizando la variableArrayListconstructor. - Especifique un permiso invocando la variable
java.util.Listobjeto ‘saddy pasando un valor de enumeración que corresponda al permiso que desea establecer. Por ejemplo, para establecer el permiso que permite a un usuario copiar datos ubicados en el documento del PDF, especifiquePasswordEncryptionPermission.PASSWORD_EDIT_COPY. (Repita este paso para cada permiso que desee establecer). - Especifique la opción de compatibilidad con Acrobat invocando la variable
PasswordEncryptionOptionSpecdel objetosetCompatabilityy pasando un valor de enumeración que especifica el nivel de compatibilidad de Acrobat. Por ejemplo, puede especificarPasswordEncryptionCompatability.ACRO_7. - Especifique el valor de la contraseña que permite a un usuario abrir el documento del PDF cifrado invocando la variable
PasswordEncryptionOptionSpecdel objetosetDocumentOpenPasswordy pasando un valor de cadena que representa la contraseña abierta. - Especifique el valor de la contraseña maestra que permite al usuario eliminar el cifrado del documento del PDF invocando la variable
PasswordEncryptionOptionSpecdel objetosetPermissionPasswordy pasando un valor de cadena que representa la contraseña maestra.
- Cree un
-
Agregue la contraseña.
Codificar el documento del PDF invocando la variable
EncryptionServiceClientdel objetoencryptPDFUsingPasswordy pasando los siguientes valores:- La variable
com.adobe.idp.Documentobjeto que contiene el documento del PDF que se va a cifrar con la contraseña. - La variable
PasswordEncryptionOptionSpecobjeto que contiene opciones de tiempo de ejecución de cifrado.
La variable
encryptPDFUsingPasswordel método devuelve uncom.adobe.idp.Documentobjeto que contiene un documento de PDF cifrado con contraseña. - La variable
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un
java.io.Filey asegúrese de que la extensión de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo. Asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elencryptPDFUsingPasswordmétodo.
- Cree un
Consulte también
Inicio rápido (modo SOAP): Codificación de un documento de PDF mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Codificación de un documento de PDF mediante la API de servicio web encrypting-a-pdf-document-using-the-web-service-api
Cifre un documento PDF con una contraseña utilizando la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto de API de cliente de cifrado.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga un documento PDF para cifrar.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar un documento de PDF cifrado con una contraseña. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF que se va a cifrar y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos.
- Cree un
-
Establezca las opciones de tiempo de ejecución del cifrado.
- Cree un
PasswordEncryptionOptionSpecusando su constructor. - Especifique los recursos del documento del PDF que desea cifrar asignando una
PasswordEncryptionOptionvalor de enumeración a la variablePasswordEncryptionOptionSpecdel objetoencryptOptionmiembro de datos. Para cifrar todo el PDF, incluidos sus metadatos y sus archivos adjuntos, asignePasswordEncryptionOption.ALLa este miembro de datos. - Especifique la opción de compatibilidad con Acrobat asignando una
PasswordEncryptionCompatabilityvalor de enumeración a la variablePasswordEncryptionOptionSpecdel objetocompatabilitymiembro de datos. Por ejemplo, asignePasswordEncryptionCompatability.ACRO_7a este miembro de datos. - Especifique el valor de la contraseña que permite a un usuario abrir el documento del PDF cifrado asignando un valor de cadena que represente la contraseña de apertura al
PasswordEncryptionOptionSpecdel objetodocumentOpenPasswordmiembro de datos. - Especifique el valor de la contraseña que permite al usuario eliminar el cifrado del documento del PDF asignando un valor de cadena que represente la contraseña maestra al
PasswordEncryptionOptionSpecdel objetopermissionPasswordmiembro de datos.
- Cree un
-
Agregue la contraseña.
Codificar el documento del PDF invocando la variable
EncryptionServiceClientdel objetoencryptPDFUsingPasswordy pasando los siguientes valores:- La variable
BLOBobjeto que contiene el documento del PDF que se va a cifrar con la contraseña. - La variable
PasswordEncryptionOptionSpecobjeto que contiene opciones de tiempo de ejecución de cifrado.
La variable
encryptPDFUsingPasswordel método devuelve unBLOBobjeto que contiene un documento de PDF cifrado con contraseña. - La variable
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento de PDF protegido. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto devuelto por elencryptPDFUsingPasswordmétodo. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Codificación de documentos del PDF con certificados encrypting-pdf-documents-with-certificates
El cifrado basado en certificados permite cifrar un documento para destinatarios específicos mediante tecnología de clave pública. Se pueden otorgar permisos a varios destinatarios diferentes para el documento. Muchos aspectos del cifrado son posibles gracias a la tecnología de claves públicas. Se utiliza un algoritmo para generar dos números grandes, conocidos como keys, que tienen las siguientes propiedades:
- Se utiliza una clave para cifrar un conjunto de datos. Posteriormente, solo se puede utilizar la otra clave para descifrar los datos.
- Es imposible distinguir una clave de la otra.
Una de las claves actúa como clave privada de un usuario. Es importante que solo el usuario tenga acceso a esta clave. La otra clave es la clave pública del usuario, que se puede compartir con otros usuarios.
Un certificado de clave pública contiene la clave pública y la información de identificación del usuario. Se utiliza el formato X.509 para almacenar certificados. Los certificados los suele emitir y firmar digitalmente una autoridad de certificación (CA), que es una entidad reconocida que proporciona confianza en la validez del certificado. Los certificados tienen una fecha de caducidad tras la cual ya no son válidos. Además, las listas de revocación de certificados (CRL) proporcionan información sobre los certificados revocados antes de su fecha de caducidad. Las listas CRL las publican periódicamente las autoridades certificadoras. El estado de revocación de un certificado también se puede recuperar mediante el Protocolo de estado de certificado en línea (OCSP) a través de la red.
Resumen de los pasos summary_of_steps-1
Para cifrar un documento PDF con un certificado, realice los pasos siguientes:
- Incluir archivos de proyecto.
- Cree un objeto de API de cliente de cifrado.
- Obtenga un documento PDF para cifrar.
- Haga referencia al certificado.
- Establezca las opciones de tiempo de ejecución del cifrado.
- Cree un documento de PDF cifrado por certificado.
- Guarde el documento de PDF cifrado como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en el servidor de aplicaciones JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en el servidor de aplicaciones JBoss)
Creación de un objeto de API de cliente de cifrado
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API del servicio de cifrado de Java, cree un EncrytionServiceClient objeto. Si está utilizando la API del servicio de cifrado del servicio web, cree un EncryptionServiceService objeto.
Obtener un documento PDF para cifrar
Debe obtener un documento PDF sin cifrar para cifrar. Si intenta proteger un documento PDF que ya está cifrado, se genera una excepción.
Referencia al certificado
Para codificar un documento PDF con un certificado, haga referencia a un certificado que se utilice para codificar un documento PDF. El certificado es un archivo .cer, un archivo .crt o un archivo .pem. Se utiliza un archivo PKCS#12 para almacenar claves privadas con los certificados correspondientes.
Al cifrar un documento PDF con un certificado, especifique los permisos asociados al documento protegido. Si especifica permisos, puede controlar las acciones que puede realizar un usuario que abra un documento de PDF cifrado por certificado.
Establecer opciones de tiempo de ejecución de cifrado
Especifique los recursos del documento del PDF que desea codificar. Puede cifrar todo el documento del PDF, todo lo que no sean los metadatos del documento o solo los archivos adjuntos del documento.
Creación de un documento de PDF cifrado por certificado
Después de recuperar un documento de PDF no protegido, hacer referencia al certificado y establecer las opciones de tiempo de ejecución, puede crear un documento de PDF cifrado por certificado. Una vez cifrado el documento del PDF, se necesita la clave pública correspondiente para descifrarlo.
Guarde el documento de PDF cifrado como archivo de PDF
Puede guardar el documento de PDF cifrado como un archivo de PDF.
Consulte también
Codificar un documento de PDF con un certificado mediante la API de Java
Codificar un documento de PDF con un certificado mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Codificación de documentos del PDF con una contraseña
Codificar un documento de PDF con un certificado mediante la API de Java encrypt-a-pdf-document-with-a-certificate-using-the-java-api
Codificar un documento de PDF con un certificado mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto de API de cliente de cifrado.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga un documento PDF para cifrar.
- Cree un
java.io.FileInputStreamobjeto que representa el documento del PDF que se va a cifrar usando su constructor y pasando un valor de cadena que especifica la ubicación del documento del PDF. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Haga referencia al certificado.
- Cree un
java.util.Listobjeto que almacena información de permisos utilizando su constructor. - Especifique el permiso asociado al documento cifrado invocando la variable
java.util.Listdel objetoaddmétodo y pasar unaCertificateEncryptionPermissionsvalor de enumeración que representa los permisos otorgados al usuario que abre el documento de PDF protegido. Por ejemplo, para especificar todos los permisos, paseCertificateEncryptionPermissions.PKI_ALL_PERM. - Cree un
Recipientusando su constructor. - Cree un
java.io.FileInputStreamobjeto que representa el certificado que se utiliza para cifrar el documento del PDF utilizando su constructor y pasando un valor de cadena que especifica la ubicación del certificado. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamque representa el certificado. - Invocar el
Recipientdel objetosetX509Certy pase elcom.adobe.idp.Documentque contiene el certificado. (Además, la variableRecipientpuede tener un alias de certificado Truststore o una URL LDAP como origen de certificado). - Cree un
CertificateEncryptionIdentityobjeto que almacena información de permisos y certificados usando su constructor. - Invocar el
CertificateEncryptionIdentitydel objetosetPermsy pase eljava.util.Listobjeto que almacena información de permisos. - Invocar el
CertificateEncryptionIdentitydel objetosetRecipienty pase elRecipientobjeto que almacena información de certificado. - Cree un
java.util.Listobjeto que almacena información de certificado usando su constructor. - Invocar el
java.util.Listmétodo add del objeto y pase elCertificateEncryptionIdentityobjeto. (Estajava.util.Listse pasa como parámetro a la variableencryptPDFUsingCertificatesmétodo).
- Cree un
-
Establezca las opciones de tiempo de ejecución del cifrado.
- Cree un
CertificateEncryptionOptionSpecinvocando su constructor. - Especifique los recursos del documento del PDF que desea cifrar invocando la variable
CertificateEncryptionOptionSpecdel objetosetOptionmétodo y pasar unaCertificateEncryptionOptionvalor de enumeración que especifica los recursos de documento que se van a cifrar. Por ejemplo, para cifrar todo el documento del PDF, incluidos sus metadatos y sus archivos adjuntos, especifiqueCertificateEncryptionOption.ALL. - Especifique la opción de compatibilidad con Acrobat invocando la variable
CertificateEncryptionOptionSpecdel objetosetCompatmétodo y pasar unaCertificateEncryptionCompatibilityvalor de enumeración que especifica el nivel de compatibilidad de Acrobat. Por ejemplo, puede especificarCertificateEncryptionCompatibility.ACRO_7.
- Cree un
-
Cree un documento de PDF cifrado por certificado.
Codificar el documento del PDF con un certificado invocando la variable
EncryptionServiceClientdel objetoencryptPDFUsingCertificatesy pasando los siguientes valores:- La variable
com.adobe.idp.Documentobjeto que contiene el documento PDF que se va a codificar. - La variable
java.util.Listobjeto que almacena información de certificado. - La variable
CertificateEncryptionOptionSpecobjeto que contiene opciones de tiempo de ejecución de cifrado.
La variable
encryptPDFUsingCertificatesel método devuelve uncom.adobe.idp.Documentobjeto que contiene un documento de PDF cifrado con certificado. - La variable
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un
java.io.Filey asegúrese de que la extensión del nombre de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo. Asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elencryptPDFUsingCertificatesmétodo.
- Cree un
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Codificar un documento de PDF con un certificado mediante la API de servicio web encrypt-a-pdf-document-with-a-certificate-using-the-web-service-api
Cifre un documento de PDF con un certificado mediante la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto de API de cliente de cifrado.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga un documento PDF para cifrar.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar un documento de PDF cifrado con un certificado. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF que se va a cifrar y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando suMTOMcon el contenido de la matriz de bytes.
- Cree un
-
Haga referencia al certificado.
- Cree un
Recipientusando su constructor. Este objeto almacenará información de certificado. - Cree un
BLOBusando su constructor. EstaBLOBalmacenará el certificado que codifica el documento PDF. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del certificado y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos. - Asigne la variable
BLOBobjeto que almacena el certificado en elRecipientdel objetox509Certmiembro de datos. - Cree un
CertificateEncryptionIdentityobjeto que almacena información de certificado usando su constructor. - Asigne la variable
Recipientobjeto que almacena el certificado en elCertificateEncryptionIdentitymiembro de datos del destinatario del objeto. - Cree un
Objecty asigne laCertificateEncryptionIdentityal primer elemento delObjectmatriz. EstaObjectse pasa como parámetro a la matrizencryptPDFUsingCertificatesmétodo.
- Cree un
-
Establezca las opciones de tiempo de ejecución del cifrado.
- Cree un
CertificateEncryptionOptionSpecusando su constructor. - Especifique los recursos del documento del PDF que desea cifrar asignando una
CertificateEncryptionOptionvalor de enumeración a la variableCertificateEncryptionOptionSpecdel objetooptionmiembro de datos. Para cifrar todo el documento del PDF, incluidos sus metadatos y sus archivos adjuntos, asigneCertificateEncryptionOption.ALLa este miembro de datos. - Especifique la opción de compatibilidad con Acrobat asignando una
CertificateEncryptionCompatibilityvalor de enumeración a la variableCertificateEncryptionOptionSpecdel objetocompatmiembro de datos. Por ejemplo, asigneCertificateEncryptionCompatibility.ACRO_7a este miembro de datos.
- Cree un
-
Cree un documento de PDF cifrado por certificado.
Codificar el documento del PDF con un certificado invocando la variable
EncryptionServiceServicedel objetoencryptPDFUsingCertificatesy pasando los siguientes valores:- La variable
BLOBobjeto que contiene el documento PDF que se va a codificar. - La variable
Objectmatriz que almacena información de certificado. - La variable
CertificateEncryptionOptionSpecobjeto que contiene opciones de tiempo de ejecución de cifrado.
La variable
encryptPDFUsingCertificatesel método devuelve unBLOBobjeto que contiene un documento de PDF cifrado con certificado. - La variable
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento de PDF protegido. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto devuelto por elencryptPDFUsingCertificatesmétodo. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetobinaryDatamiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Eliminación de la codificación basada en certificados removing-certificate-based-encryption
El cifrado basado en certificados se puede eliminar de un documento de PDF para que los usuarios puedan abrir el documento de PDF en Adobe Reader o Acrobat. Para eliminar el cifrado de un documento de PDF cifrado con un certificado, se debe hacer referencia a una clave pública. Una vez eliminado el cifrado de un documento de PDF, ya no es seguro.
Resumen de los pasos summary_of_steps-2
Para eliminar el cifrado basado en certificados de un documento de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente de servicio de cifrado.
- Obtenga el documento de PDF cifrado.
- Elimine el cifrado.
- Guarde el documento de PDF como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en el servidor de aplicaciones JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en el servidor de aplicaciones JBoss)
Crear un cliente de servicio de cifrado
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API del servicio de cifrado de Java, cree un EncrytionServiceClient objeto. Si está utilizando la API del servicio de cifrado del servicio web, cree un EncryptionServiceService objeto.
Obtener el documento de PDF cifrado
Debe obtener un documento de PDF cifrado para eliminar el cifrado basado en certificados. Si intenta eliminar el cifrado de un documento PDF que no está cifrado, se genera una excepción. Del mismo modo, si intenta eliminar el cifrado basado en certificados de un documento cifrado con contraseña, se genera una excepción.
Eliminar cifrado
Para eliminar el cifrado basado en certificados de un documento de PDF cifrado, se requiere un documento de PDF cifrado y la clave privada que corresponda a la clave utilizada para cifrar el documento de PDF. El valor de alias de la clave privada se especifica al quitar el cifrado basado en certificado de un documento de PDF cifrado. Para obtener información sobre la clave pública, consulte Codificación de documentos del PDF con certificados.
Guardar el documento del PDF
Una vez eliminado el cifrado basado en certificados de un documento de PDF cifrado, puede guardar el documento de PDF como archivo de PDF. Los usuarios pueden abrir el documento del PDF en Adobe Reader o Acrobat.
Consulte también
Eliminación del cifrado basado en certificados mediante la API de Java
Eliminación del cifrado basado en certificados mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Eliminación del cifrado basado en certificados mediante la API de Java remove-certificate-based-encryption-using-the-java-api
Elimine el cifrado basado en certificados de un documento de PDF mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga el documento de PDF cifrado.
- Cree un
java.io.FileInputStreamobjeto que representa el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifica la ubicación del documento de PDF cifrado. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Elimine el cifrado.
Elimine el cifrado basado en certificados del documento de PDF invocando la variable
EncryptionServiceClientdel objetoremovePDFCertificateSecurityy pasando los siguientes valores:- La variable
com.adobe.idp.Documentobjeto que contiene el documento de PDF cifrado. - Un valor de cadena que especifica el nombre de alias de la clave privada que corresponde a la clave utilizada para cifrar el documento PDf.
La variable
removePDFCertificateSecurityel método devuelve uncom.adobe.idp.Documentobjeto que contiene un documento PDF no protegido. - La variable
-
Guarde el documento del PDF.
- Cree un
java.io.Filey asegúrese de que la extensión de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delDocumental archivo. Asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elremovePDFCredentialSecuritymétodo.
- Cree un
Consulte también
Inicio rápido (modo SOAP): Eliminación del cifrado basado en certificados mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Eliminación del cifrado basado en certificados mediante la API de servicio web remove-certificate-based-encryption-using-the-web-service-api
Elimine el cifrado basado en certificados mediante la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga el documento de PDF cifrado.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar el documento de PDF cifrado. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento del PDF cifrado y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos.
- Cree un
-
Elimine el cifrado.
Invocar el
EncryptionServiceClientdel objetoremovePDFCertificateSecurityy pase los siguientes valores:- La variable
BLOBobjeto que contiene datos de flujo de archivos que representan un documento PDF cifrado. - Un valor de cadena que especifica el nombre de alias de la clave pública que corresponde a la clave privada utilizada para cifrar el documento PDf.
La variable
removePDFCredentialSecurityel método devuelve unBLOBobjeto que contiene un documento PDF no protegido. - La variable
-
Guarde el documento del PDF.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF no protegido. - Cree una matriz de bytes que almacene el contenido del
BLOBobjeto devuelto por elremovePDFPasswordSecuritymétodo. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Eliminación de la codificación de contraseña removing-password-encryption
El cifrado basado en contraseña se puede eliminar de un documento de PDF para que los usuarios puedan abrir el documento de PDF en Adobe Reader o Acrobat sin tener que especificar una contraseña. Después de eliminar el cifrado basado en contraseña de un documento de PDF, el documento ya no es seguro.
Resumen de los pasos summary_of_steps-3
Para eliminar el cifrado basado en contraseña de un documento de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto
- Cree un cliente de servicio de cifrado.
- Obtenga el documento de PDF cifrado.
- Elimine la contraseña.
- Guarde el documento de PDF como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Crear un cliente de servicio de cifrado
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API del servicio de cifrado de Java, cree un EncrytionServiceClient objeto. Si está utilizando la API del servicio de cifrado del servicio web, cree un EncryptionServiceService objeto.
Obtener el documento de PDF cifrado
Debe obtener un documento de PDF cifrado para eliminar el cifrado basado en contraseña. Si intenta eliminar el cifrado de un documento PDF que no está cifrado, se genera una excepción.
Quitar la contraseña
Para eliminar el cifrado basado en contraseña de un documento de PDF cifrado, se requiere un documento de PDF cifrado y un valor de contraseña maestro que se utilicen para eliminar el cifrado del documento de PDF. La contraseña utilizada para abrir un documento PDF cifrado con contraseña no se puede usar para eliminar el cifrado. Se especifica una contraseña maestra cuando el documento PDF está cifrado con una contraseña. (Consulte Codificación de documentos del PDF con una contraseña.)
Guardar el documento del PDF
Una vez que el servicio de cifrado elimina el cifrado basado en contraseña de un documento de PDF, puede guardar el documento de PDF como archivo de PDF. Los usuarios pueden abrir el documento del PDF en Adobe Reader o Acrobat sin especificar una contraseña.
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Codificación de documentos del PDF con una contraseña
Eliminación del cifrado basado en contraseña mediante la API de Java remove-password-based-encryption-using-the-java-api
Elimine el cifrado basado en contraseña de un documento de PDF mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga el documento de PDF cifrado.
- Cree un
java.io.FileInputStreamobjeto que representa el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifica la ubicación del documento de PDF. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Elimine la contraseña.
Elimine el cifrado basado en contraseña del documento de PDF invocando la variable
EncryptionServiceClientdel objetoremovePDFPasswordSecurityy pasando los siguientes valores:- A
com.adobe.idp.Documentobjeto que contiene el documento de PDF cifrado. - Un valor de cadena que especifica el valor de la contraseña maestra que se utiliza para eliminar el cifrado del documento del PDF.
La variable
removePDFPasswordSecurityel método devuelve uncom.adobe.idp.Documentobjeto que contiene un documento PDF no protegido. - A
-
Guarde el documento del PDF.
- Cree un
java.io.Filey asegúrese de que la extensión del nombre de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delDocumental archivo. Asegúrese de usar la variableDocumentobjeto devuelto por elremovePDFPasswordSecuritymétodo.
- Cree un
Consulte también
Inicio rápido (modo SOAP): Eliminación del cifrado basado en contraseña mediante la API de Java
Eliminación del cifrado basado en contraseña mediante la API de servicio web remove-password-based-encryption-using-the-web-service-api
Elimine el cifrado basado en contraseña mediante la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga el documento de PDF cifrado.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar un documento PDF cifrado con contraseña. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento del PDF cifrado y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos.
- Cree un
-
Elimine la contraseña.
Invocar el
EncryptionServiceServicedel objetoremovePDFPasswordSecurityy pase los siguientes valores:- La variable
BLOBobjeto que contiene datos de flujo de archivos que representan un documento PDF cifrado. - Un valor de cadena que especifica el valor de contraseña que se utiliza para eliminar el cifrado del documento del PDF. Este valor se especifica al cifrar el documento PDF con una contraseña.
La variable
removePDFPasswordSecurityel método devuelve unBLOBobjeto que contiene un documento PDF no protegido. - La variable
-
Guarde el documento del PDF.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF no protegido. - Cree una matriz de bytes que almacene el contenido del
BLOBobjeto devuelto por elremovePDFPasswordSecuritymétodo. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Desbloquear documentos PDF cifrados unlocking-encrypted-pdf-documents
Un documento PDF cifrado con contraseña o certificado debe desbloquearse antes de poder realizar otra operación de AEM Forms en él. Si intenta realizar una operación en un documento PDF cifrado, generará una excepción. Después de desbloquear un documento de PDF cifrado, puede realizar una o más operaciones en él. Estas operaciones pueden pertenecer a otros servicios, como el servicio de extensiones de Acrobat Reader DC.
Resumen de los pasos summary_of_steps-4
Para desbloquear un documento de PDF cifrado, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente de servicio de cifrado.
- Obtenga el documento de PDF cifrado.
- Desbloquee el documento.
- Realice una operación AEM Forms.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en el servidor de aplicaciones JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en el servidor de aplicaciones JBoss)
Crear un cliente de servicio de cifrado
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API del servicio de cifrado de Java, cree un EncrytionServiceClient objeto. Si está utilizando la API del servicio de cifrado del servicio web, cree un EncryptionServiceService objeto.
Obtener el documento de PDF cifrado
Debe obtener un documento PDF cifrado para desbloquearlo. Si intenta desbloquear un documento de PDF que no está cifrado, se genera una excepción.
Desbloquear el documento
Para desbloquear un documento de PDF cifrado con contraseña, se requiere un documento de PDF cifrado y un valor de contraseña que se utilicen para abrir un documento de PDF cifrado con contraseña. Este valor se especifica al cifrar el documento PDF con una contraseña. (Consulte Codificación de documentos del PDF con una contraseña.)
Para desbloquear un documento de PDF cifrado por certificado, se requiere un documento de PDF cifrado y el valor de alias de la clave pública correspondiente a la clave privada que se utilizó para codificar el documento de PDF.
Realizar una operación de AEM Forms
Una vez desbloqueado un documento de PDF cifrado, puede realizar otra operación de servicio, como aplicarle derechos de uso. Esta operación pertenece al servicio Acrobat Reader DC Extensions.
Consulte también
Desbloquear un documento PDF cifrado mediante la API de Java
Desbloquear un documento PDF cifrado mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Desbloquear un documento PDF cifrado mediante la API de Java unlock-an-encrypted-pdf-document-using-the-java-api
Desbloquee un documento de PDF cifrado mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga el documento de PDF cifrado.
- Cree un
java.io.FileInputStreamobjeto que representa el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifica la ubicación del documento de PDF cifrado. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Desbloquee el documento.
Desbloquee un documento de PDF cifrado invocando la variable
EncryptionServiceClientdel objetounlockPDFUsingPasswordounlockPDFUsingCredentialmétodo.Para desbloquear un documento de PDF cifrado con una contraseña, invoque la función
unlockPDFUsingPasswordy pase los siguientes valores:- A
com.adobe.idp.Documentobjeto que contiene el documento PDF cifrado con contraseña. - Valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento PDF cifrado con contraseña. Este valor se especifica al cifrar el documento PDF con una contraseña.
Para desbloquear un documento de PDF cifrado con un certificado, invoque la función
unlockPDFUsingCredentialy pase los siguientes valores:- A
com.adobe.idp.Documentobjeto que contiene el documento de PDF cifrado con certificado. - Un valor de cadena que especifica el nombre de alias de la clave pública que corresponde a la clave privada utilizada para cifrar el documento del PDF.
La variable
unlockPDFUsingPasswordyunlockPDFUsingCredentiallos dos métodos devuelven uncom.adobe.idp.Documentobjeto que pasa a otro método Java de AEM Forms para realizar una operación. - A
-
Realice una operación AEM Forms.
Realice una operación de AEM Forms en el documento PDF desbloqueado para satisfacer los requisitos empresariales. Por ejemplo, suponiendo que desea aplicar derechos de uso a un documento de PDF desbloqueado, pase el
com.adobe.idp.Documentobjeto devuelto por cualquiera de losunlockPDFUsingPasswordounlockPDFUsingCredentialmétodos deReaderExtensionsServiceClientdel objetoapplyUsageRightsmétodo.
Consulte también
Inicio rápido (modo SOAP): Desbloqueo de un documento PDF cifrado mediante la API de Java (modo SOAP)
Aplicación de derechos de uso a documentos de PDF
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Desbloquear un documento PDF cifrado mediante la API de servicio web unlock-an-encrypted-pdf-document-using-the-web-service-api
Desbloquee un documento de PDF cifrado mediante la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga un documento PDF cifrado.
- Cree un
BLOBusando su constructor. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento del PDF cifrado y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos.
- Cree un
-
Desbloquee el documento.
Desbloquee un documento de PDF cifrado invocando la variable
EncryptionServiceClientdel objetounlockPDFUsingPasswordounlockPDFUsingCredentialmétodo.Para desbloquear un documento de PDF cifrado con una contraseña, invoque la función
unlockPDFUsingPasswordy pase los siguientes valores:- A
BLOBobjeto que contiene el documento PDF cifrado con contraseña. - Valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento PDF cifrado con contraseña. Este valor se especifica al cifrar el documento PDF con una contraseña.
Para desbloquear un documento de PDF cifrado con un certificado, invoque la función
unlockPDFUsingCredentialy pase los siguientes valores:- A
BLOBobjeto que contiene el documento de PDF cifrado con certificado. - Un valor de cadena que especifica el nombre de alias de la clave pública que corresponde a la clave privada utilizada para cifrar el documento PDf.
La variable
unlockPDFUsingPasswordyunlockPDFUsingCredentiallos dos métodos devuelven uncom.adobe.idp.Documentobjeto que se pasa a otro método de AEM Forms para realizar una operación. - A
-
Realice una operación AEM Forms.
Realice una operación de AEM Forms en el documento PDF desbloqueado para satisfacer los requisitos empresariales. Por ejemplo, suponiendo que desea aplicar derechos de uso al documento del PDF desbloqueado, pase el
BLOBobjeto devuelto por cualquiera de losunlockPDFUsingPasswordounlockPDFUsingCredentialmétodos deReaderExtensionsServiceClientdel objetoapplyUsageRightsmétodo.
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Determinación del tipo de codificación determining-encryption-type
Puede determinar mediante programación el tipo de cifrado que protege un documento de PDF mediante la API de servicio de cifrado de Java o la API de servicio de cifrado de servicio web. A veces es necesario determinar dinámicamente si un documento PDF está cifrado y, en caso afirmativo, el tipo de cifrado. Por ejemplo, puede determinar si un documento de PDF está protegido con cifrado basado en contraseña o con una directiva de Rights Management.
Un documento PDF puede estar protegido por los siguientes tipos de codificación:
- Cifrado basado en contraseña
- Cifrado basado en certificados
- Una directiva que crea el servicio de Rights Management
- Otro tipo de cifrado
Resumen de los pasos summary_of_steps-5
Para determinar el tipo de cifrado que protege un documento de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente de servicio de cifrado.
- Obtenga el documento de PDF cifrado.
- Determine el tipo de cifrado.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en el servidor de aplicaciones JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en el servidor de aplicaciones JBoss)
Crear un cliente de servicio
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API del servicio de cifrado de Java, cree un EncrytionServiceClient objeto. Si está utilizando la API del servicio de cifrado del servicio web, cree un EncryptionServiceService objeto.
Obtener el documento de PDF cifrado
Debe obtener un documento de PDF para determinar el tipo de cifrado que la protege.
Determinar el tipo de codificación
Puede determinar el tipo de cifrado que protege un documento PDF. Si el documento del PDF no está protegido, el servicio Encryption le informa de que el documento del PDF no está protegido.
Consulte también
Determinar el tipo de cifrado mediante la API de Java
Determinar el tipo de cifrado mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de cifrado
Proteger documentos mediante directivas
Determinar el tipo de cifrado mediante la API de Java determine-the-encryption-type-using-the-java-api
Determine el tipo de cifrado que protege un documento de PDF mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-encryption-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un cliente de servicio.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
EncryptionServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Obtenga el documento de PDF cifrado.
- Cree un
java.io.FileInputStreamobjeto que representa el documento PDF utilizando su constructor y pasando un valor de cadena que especifica la ubicación del documento PDF. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Determine el tipo de cifrado.
- Determine el tipo de cifrado invocando la variable
EncryptionServiceClientdel objetogetPDFEncryptiony pasando elcom.adobe.idp.Documentobjeto que contiene el documento PDF. Este método devuelve unEncryptionTypeResultobjeto. - Invocar el
EncryptionTypeResultdel objetogetEncryptionTypemétodo. Este método devuelve unEncryptionTypevalor de enumeración que especifica el tipo de codificación. Por ejemplo, si el documento del PDF está protegido con cifrado basado en contraseña, este método devuelveEncryptionType.PASSWORD.
- Determine el tipo de cifrado invocando la variable
Consulte también
Inicio rápido (modo SOAP): Determinación del tipo de cifrado mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Determinar el tipo de cifrado mediante la API de servicio web determine-the-encryption-type-using-the-web-service-api
Determine el tipo de cifrado que protege un documento de PDF mediante la API de cifrado (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio.
-
Cree un
EncryptionServiceClientusando su constructor predeterminado. -
Cree un
EncryptionServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deEncryptionServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Obtenga el documento de PDF cifrado.
- Cree un
BLOBusando su constructor. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento del PDF cifrado y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando el contenido de la matriz de bytes a la variableBLOBdel objetoMTOMmiembro de datos.
- Cree un
-
Determine el tipo de cifrado.
- Invocar el
EncryptionServiceClientdel objetogetPDFEncryptiony pase elBLOBobjeto que contiene el documento PDF. Este método devuelve unEncryptionTypeResultobjeto. - Obtener el valor de la variable
EncryptionTypeResultdel objetoencryptionTypemétodo de datos. Por ejemplo, si el documento del PDF está protegido con cifrado basado en contraseña, el valor de este miembro de datos esEncryptionType.PASSWORD.
- Invocar el
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef