Show Menu
TEMAS×

Cifrar y descifrar Documentos PDF

Acerca del servicio de cifrado
El servicio Cifrado le 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 abierta para que el documento se pueda ver en Adobe Reader o Adobe Acrobat. Del mismo modo, si un documento PDF está cifrado con un certificado, el usuario debe descifrar el documento PDF con la clave pública correspondiente al certificado (clave privada) que se utilizó para cifrar el documento PDF.
Puede realizar estas tareas mediante el servicio Cifrado:
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Cifrado de Documentos PDF con contraseña

Al cifrar un documento PDF con una contraseña, el usuario debe 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 la firma digital del documento PDF, en el documento, se debe desbloquear un documento PDF con contraseña cifrada.
Si carga un documento PDF cifrado en el repositorio de AEM Forms, no podrá descifrar el documento PDF ni extraer el contenido XDP. Se recomienda no cifrar un documento antes de cargarlo en el repositorio de AEM Forms. (Consulte Escritura de recursos ).
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para cifrar un documento PDF con una contraseña, lleve a cabo los siguientes pasos:
  1. Incluir archivos de proyecto.
  2. Cree un objeto de API de cliente de cifrado.
  3. Obtenga un documento PDF para cifrar.
  4. Configure las opciones de tiempo de ejecución de cifrado.
  5. Añada la contraseña.
  6. Guarde el documento PDF codificado como archivo PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa en JBoss)
Creación de un objeto de API de cliente de codificación
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 cifrar para cifrar el documento con una contraseña. Si intenta proteger un documento PDF que ya está cifrado, puede provocar una excepción.
Configurar 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 PDF y debe especificarse al abrir el documento PDF. El segundo valor de contraseña, denominado valor de contraseña maestro, se utiliza para eliminar la codificación del documento 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 de documento PDF que desea cifrar. Puede cifrar todo el documento PDF, todo excepto los metadatos del documento o solo los datos adjuntos del documento. Si sólo cifra los datos adjuntos del documento, se solicita al usuario una contraseña cuando intente acceder a los datos adjuntos del archivo.
Al cifrar un documento PDF, puede especificar los permisos asociados al documento seguro. Al especificar permisos, puede controlar las acciones que un usuario que abre un documento PDF con contraseña cifrada puede realizar. Por ejemplo, para extraer correctamente los datos del formulario, debe establecer los siguientes permisos:
  • PASSWORD_EDIT_ADD
  • PASSWORD_EDIT_MODIFY
Los permisos se especifican como valores PasswordEncryptionPermission de lista desglosada.
Añadir la contraseña
Después de recuperar un documento PDF no seguro y establecer valores de tiempo de ejecución de codificación, puede agregar una contraseña al documento PDF.
Guardar el documento PDF codificado como archivo PDF
Puede guardar el documento PDF con contraseña cifrada como archivo PDF.
Consulte también

Cifrar un documento PDF mediante la API de Java

Cifrar un documento PDF con una contraseña mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Crear una API de cliente de cifrado.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga un documento PDF para cifrar.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF que se va a codificar utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Configure las opciones de tiempo de ejecución de cifrado.
    • Cree un PasswordEncryptionOptionSpec objeto invocando su constructor.
    • Especifique los recursos de documento PDF que desea cifrar invocando el PasswordEncryptionOptionSpec método setEncryptOption del objeto y pasando un valor de PasswordEncryptionOption lista desglosada que especifica los recursos de documento que desea cifrar. Por ejemplo, para cifrar todo el documento PDF, incluidos sus metadatos y sus archivos adjuntos, especifique PasswordEncryptionOption.ALL .
    • Cree un java.util.List objeto que almacene los permisos de codificación mediante el ArrayList constructor.
    • Especifique un permiso invocando el java.util.List método s add del objeto y pasando un valor de lista desglosada que corresponda al permiso que desea establecer. Por ejemplo, para establecer el permiso que permite a un usuario copiar datos ubicados en el documento PDF, especifique PasswordEncryptionPermission.PASSWORD_EDIT_COPY . (Repita este paso para cada permiso que desee establecer).
    • Especifique la opción de compatibilidad con Acrobat invocando el PasswordEncryptionOptionSpec método del setCompatability objeto y pasando un valor de lista desglosada que especifica el nivel de compatibilidad de Acrobat. For example, you can specify PasswordEncryptionCompatability.ACRO_7 .
    • Especifique el valor de la contraseña que permite al usuario abrir el documento PDF cifrado invocando el PasswordEncryptionOptionSpec método setDocumentOpenPassword del objeto y 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 PDF invocando el PasswordEncryptionOptionSpec método setPermissionPassword del objeto y pasando un valor de cadena que representa la contraseña maestra.
  5. Añada la contraseña.
    Cifre el documento PDF invocando el EncryptionServiceClient método encryptPDFUsingPassword del objeto y pasando los siguientes valores:
    • El com.adobe.idp.Document objeto que contiene el documento PDF que se va a cifrar con la contraseña.
    • El PasswordEncryptionOptionSpec objeto que contiene opciones de tiempo de ejecución de codificación.
    El encryptPDFUsingPassword método devuelve un com.adobe.idp.Document objeto que contiene un documento PDF con contraseña cifrada.
  6. Guarde el documento PDF codificado como archivo PDF.
    • Cree un java.io.File objeto y asegúrese de que la extensión del archivo sea .pdf.
    • Invocar el com.adobe.idp.Document método del copyToFile objeto para copiar el contenido del com.adobe.idp.Document objeto en el archivo. Asegúrese de utilizar el com.adobe.idp.Document objeto devuelto por el encryptPDFUsingPassword método .
Consulte también

Cifrado de un documento PDF mediante la API de servicio Web

Cifre un documento PDF con una contraseña mediante la API de cifrado (servicio web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un objeto de API de cliente de cifrado.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga un documento PDF para cifrar.
    • Cree un BLOB objeto con su constructor. El BLOB objeto se utiliza para almacenar un documento PDF codificado con una contraseña.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF que desea cifrar y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
  4. Configure las opciones de tiempo de ejecución de cifrado.
    • Cree un PasswordEncryptionOptionSpec objeto con su constructor.
    • Especifique los recursos de documento PDF que desea cifrar asignando un valor de PasswordEncryptionOption lista desglosada al miembro de PasswordEncryptionOptionSpec datos del encryptOption objeto. Para cifrar todo el PDF, incluidos sus metadatos y sus archivos adjuntos, asigne PasswordEncryptionOption.ALL a este miembro de datos.
    • Especifique la opción de compatibilidad de Acrobat asignando un valor de PasswordEncryptionCompatability lista desglosada al miembro de PasswordEncryptionOptionSpec datos del compatability objeto. Por ejemplo, asigne PasswordEncryptionCompatability.ACRO_7 a este miembro de datos.
    • Especifique el valor de la contraseña que permite al usuario abrir el documento PDF cifrado asignando un valor de cadena que representa la contraseña abierta al miembro de PasswordEncryptionOptionSpec datos del documentOpenPassword objeto.
    • Especifique el valor de la contraseña que permite al usuario eliminar el cifrado del documento PDF asignando un valor de cadena que representa la contraseña maestra al miembro de PasswordEncryptionOptionSpec datos del permissionPassword objeto.
  5. Añada la contraseña.
    Cifre el documento PDF invocando el EncryptionServiceClient método encryptPDFUsingPassword del objeto y pasando los siguientes valores:
    • El BLOB objeto que contiene el documento PDF que se va a cifrar con la contraseña.
    • El PasswordEncryptionOptionSpec objeto que contiene opciones de tiempo de ejecución de codificación.
    El encryptPDFUsingPassword método devuelve un BLOB objeto que contiene un documento PDF con contraseña cifrada.
  6. Guarde el documento PDF codificado como archivo PDF.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF protegido.
    • Cree una matriz de bytes que almacene el contenido de datos del BLOB objeto devuelto por el encryptPDFUsingPassword método. Rellene la matriz de bytes obteniendo el valor del miembro de BLOB datos del MTOM objeto.
    • Cree un System.IO.BinaryWriter objeto invocando su constructor y pasando el System.IO.FileStream objeto.
    • Escriba el contenido de la matriz de bytes en un archivo PDF invocando el System.IO.BinaryWriter método Write del objeto y pasando la matriz de bytes.
Consulte también

Codificación de Documentos PDF con certificados

El cifrado basado en certificados permite cifrar un documento para destinatarios específicos mediante tecnología de clave pública. Se pueden otorgar diferentes permisos a varios destinatarios para el documento. Muchos aspectos de la encriptación son posibles gracias a la tecnología de claves públicas. Un algoritmo se utiliza para generar dos números grandes, conocidos como claves , que tienen las siguientes propiedades:
  • Se utiliza una clave para cifrar un conjunto de datos. Posteriormente, sólo 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 del 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. El formato X.509 se utiliza para almacenar certificados. Los certificados suelen ser emitidos y firmados digitalmente por una autoridad de certificación (CA), que es una entidad reconocida que proporciona una medida de 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 son publicadas periódicamente por las autoridades de certificación. 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.
Si carga un documento PDF cifrado en el repositorio de AEM Forms, no podrá descifrar el documento PDF ni extraer el contenido XDP. Se recomienda no cifrar un documento antes de cargarlo en el repositorio de AEM Forms. (Consulte Escritura de recursos ).
Para poder cifrar un documento PDF con un certificado, debe asegurarse de agregar el certificado a AEM Forms. Se agrega un certificado mediante la consola de administración o mediante programación mediante la API del administrador de confianza. (Consulte Importación de credenciales mediante la API del Administrador de confianza).
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para cifrar un documento PDF con un certificado, lleve a cabo los siguientes pasos:
  1. Incluir archivos de proyecto.
  2. Cree un objeto de API de cliente de cifrado.
  3. Obtenga un documento PDF para cifrar.
  4. Haga referencia al certificado.
  5. Configure las opciones de tiempo de ejecución de cifrado.
  6. Cree un documento PDF con cifrado de certificado.
  7. Guarde el documento PDF codificado como archivo PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en el servidor de aplicaciones JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa en el servidor de aplicaciones JBoss)
Creación de un objeto de API de cliente de codificación
Para realizar una operación de servicio de cifrado mediante programación, debe crear un cliente de servicio de cifrado. Si utiliza la API de servicio de cifrado Java, cree un EncrytionServiceClient objeto. Si está utilizando la API de servicio de cifrado de servicio Web, cree un EncryptionServiceService objeto.
Obtener un documento PDF para cifrar
Debe obtener un documento PDF no cifrado para cifrar. Si intenta proteger un documento PDF que ya está cifrado, se genera una excepción.
Hacer referencia al certificado
Para cifrar un documento PDF con un certificado, haga referencia a un certificado que se utilice para cifrar 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 seguro. Si especifica permisos, puede controlar las acciones que puede realizar un usuario que abre un documento PDF con cifrado de certificado.
Configurar opciones de tiempo de ejecución de cifrado
Especifique los recursos de documento PDF que desea cifrar. Puede cifrar todo el documento PDF, todo excepto los metadatos del documento o solo los archivos adjuntos del documento.
Creación de un documento PDF con cifrado de certificado
Después de recuperar un documento PDF no seguro, hacer referencia al certificado y definir las opciones en tiempo de ejecución, puede crear un documento PDF con cifrado de certificado. Una vez cifrado el documento PDF, necesita la clave pública correspondiente para descifrarlo.
Guardar el documento PDF codificado como archivo PDF
Puede guardar el documento PDF codificado como archivo PDF.
Consulte también

Cifrar un documento PDF con un certificado mediante la API de Java

Cifrar un documento PDF con un certificado mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Cree un objeto de API de cliente de cifrado.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga un documento PDF para cifrar.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF que se va a codificar utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Haga referencia al certificado.
    • Cree un java.util.List objeto que almacene información de permisos mediante su constructor.
    • Especifique el permiso asociado al documento cifrado invocando el java.util.List método add del objeto y pasando un valor de CertificateEncryptionPermissions lista desglosada que represente los permisos concedidos al usuario que abre el documento PDF protegido. Por ejemplo, para especificar todos los permisos, pase CertificateEncryptionPermissions.PKI_ALL_PERM .
    • Cree un Recipient objeto con su constructor.
    • Cree un java.io.FileInputStream objeto que represente el certificado que se utiliza para cifrar el documento PDF utilizando su constructor y pasando un valor de cadena que especifique la ubicación del certificado.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto que representa el certificado.
    • Invoque el Recipient método del setX509Cert objeto y pase el com.adobe.idp.Document objeto que contiene el certificado. (Además, el Recipient objeto puede tener un alias de certificado Truststore o una URL LDAP como origen de certificado).
    • Cree un CertificateEncryptionIdentity objeto que almacene información de permisos y certificados mediante su constructor.
    • Invoque el CertificateEncryptionIdentity método del setPerms objeto y pase el java.util.List objeto que almacena información de permisos.
    • Invoque el CertificateEncryptionIdentity método del setRecipient objeto y pase el Recipient objeto que almacena la información del certificado.
    • Cree un java.util.List objeto que almacene información de certificado mediante su constructor.
    • Invoque el método add del java.util.List objeto y pase el CertificateEncryptionIdentity objeto. (Este java.util.List objeto se pasa como parámetro al encryptPDFUsingCertificates método).
  5. Configure las opciones de tiempo de ejecución de cifrado.
    • Cree un CertificateEncryptionOptionSpec objeto invocando su constructor.
    • Especifique los recursos de documento PDF que desea cifrar invocando el CertificateEncryptionOptionSpec método setOption del objeto y pasando un valor de CertificateEncryptionOption lista desglosada que especifica los recursos de documento que desea cifrar. Por ejemplo, para cifrar todo el documento PDF, incluidos sus metadatos y sus archivos adjuntos, especifique CertificateEncryptionOption.ALL .
    • Especifique la opción de compatibilidad de Acrobat invocando el CertificateEncryptionOptionSpec método setCompat del objeto y pasando un valor de CertificateEncryptionCompatibility lista desglosada que especifica el nivel de compatibilidad de Acrobat. For example, you can specify CertificateEncryptionCompatibility.ACRO_7 .
  6. Cree un documento PDF con cifrado de certificado.
    Cifre el documento PDF con un certificado invocando el EncryptionServiceClient método encryptPDFUsingCertificates del objeto y pasando los valores siguientes:
    • El com.adobe.idp.Document objeto que contiene el documento PDF que se va a codificar.
    • El java.util.List objeto que almacena la información del certificado.
    • El CertificateEncryptionOptionSpec objeto que contiene opciones de tiempo de ejecución de codificación.
    El encryptPDFUsingCertificates método devuelve un com.adobe.idp.Document objeto que contiene un documento PDF con cifrado de certificado.
  7. Guarde el documento PDF codificado como archivo PDF.
    • Cree un java.io.File objeto y asegúrese de que la extensión del nombre de archivo sea .pdf.
    • Invocar el com.adobe.idp.Document método del copyToFile objeto para copiar el contenido del com.adobe.idp.Document objeto en el archivo. Asegúrese de utilizar el com.adobe.idp.Document objeto devuelto por el encryptPDFUsingCertificates método .
Consulte también

Cifrar un documento PDF con un certificado mediante la API de servicio Web

Cifre un documento PDF con un certificado mediante la API de cifrado (servicio web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un objeto de API de cliente de cifrado.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga un documento PDF para cifrar.
    • Cree un BLOB objeto con su constructor. El BLOB objeto se utiliza para almacenar un documento PDF codificado con un certificado.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF que desea cifrar y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando su MTOM propiedad con el contenido de la matriz de bytes.
  4. Haga referencia al certificado.
    • Cree un Recipient objeto con su constructor. Este objeto almacenará información de certificado.
    • Cree un BLOB objeto con su constructor. Este BLOB objeto almacenará el certificado que cifra el documento PDF.
    • Cree un System.IO.FileStream objeto invocando 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.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
    • Asigne el BLOB objeto que almacena el certificado al miembro de datos del Recipient objeto x509Cert .
    • Cree un CertificateEncryptionIdentity objeto que almacene información de certificado mediante su constructor.
    • Asigne el Recipient objeto que almacena el certificado al miembro de datos de destinatario del CertificateEncryptionIdentity objeto.
    • Cree una Object matriz y asigne el CertificateEncryptionIdentity objeto al primer elemento de la Object matriz. Esta Object matriz se pasa como parámetro al encryptPDFUsingCertificates método.
  5. Configure las opciones de tiempo de ejecución de cifrado.
    • Cree un CertificateEncryptionOptionSpec objeto con su constructor.
    • Especifique los recursos de documento PDF que desea cifrar asignando un valor de CertificateEncryptionOption lista desglosada al miembro de CertificateEncryptionOptionSpec datos del option objeto. Para cifrar todo el documento PDF, incluidos sus metadatos y sus archivos adjuntos, asigne CertificateEncryptionOption.ALL a este miembro de datos.
    • Especifique la opción de compatibilidad de Acrobat asignando un valor de CertificateEncryptionCompatibility lista desglosada al miembro de CertificateEncryptionOptionSpec datos del compat objeto. Por ejemplo, asigne CertificateEncryptionCompatibility.ACRO_7 a este miembro de datos.
  6. Cree un documento PDF con cifrado de certificado.
    Cifre el documento PDF con un certificado invocando el EncryptionServiceService método encryptPDFUsingCertificates del objeto y pasando los valores siguientes:
    • El BLOB objeto que contiene el documento PDF que se va a codificar.
    • Matriz Object que almacena información de certificado.
    • El CertificateEncryptionOptionSpec objeto que contiene opciones de tiempo de ejecución de codificación.
    El encryptPDFUsingCertificates método devuelve un BLOB objeto que contiene un documento PDF con cifrado de certificado.
  7. Guarde el documento PDF codificado como archivo PDF.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF protegido.
    • Cree una matriz de bytes que almacene el contenido de datos del BLOB objeto devuelto por el encryptPDFUsingCertificates método. Rellene la matriz de bytes obteniendo el valor del miembro de BLOB datos del binaryData objeto.
    • Cree un System.IO.BinaryWriter objeto invocando su constructor y pasando el System.IO.FileStream objeto.
    • Escriba el contenido de la matriz de bytes en un archivo PDF invocando el System.IO.BinaryWriter método Write del objeto y pasando la matriz de bytes.
Consulte también

Eliminación de la codificación basada en certificados

El cifrado basado en certificados se puede eliminar de un documento PDF para que los usuarios puedan abrir el documento PDF en Adobe Reader o Acrobat. Para eliminar la codificación de un documento PDF cifrado con un certificado, se debe hacer referencia a una clave pública. Después de eliminar la codificación de un documento PDF, ya no es segura.
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para eliminar la codificación basada en certificados de un documento PDF, lleve a cabo los siguientes pasos:
  1. Incluir archivos de proyecto.
  2. Cree un cliente de servicio de cifrado.
  3. Obtenga el documento PDF cifrado.
  4. Eliminar cifrado.
  5. Guarde el documento PDF como archivo PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en el servidor de aplicaciones JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa 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 de servicio de cifrado Java, cree un EncrytionServiceClient objeto. Si está utilizando la API de servicio de cifrado de servicio Web, cree un EncryptionServiceService objeto.
Obtener el documento PDF cifrado
Debe obtener un documento PDF cifrado para eliminar el cifrado basado en certificados. Si intenta eliminar la codificación 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 PDF cifrado, se requiere un documento PDF cifrado y la clave privada que corresponda a la clave utilizada para cifrar el documento PDF. El valor de alias de la clave privada se especifica al eliminar la codificación basada en certificados de un documento PDF cifrado. Para obtener información sobre la clave pública, consulte Cifrado de Documentos PDF con certificados .
Una clave privada se almacena en el almacén de confianza de AEM Forms. Cuando se coloca un certificado allí, se especifica un valor de alias.
Guardar el documento PDF
Una vez que el cifrado basado en certificados se haya eliminado de un documento PDF cifrado, puede guardar el documento PDF como archivo PDF. Los usuarios pueden abrir el documento PDF en Adobe Reader o Acrobat.
Consulte también

Eliminar el cifrado basado en certificados mediante la API de Java

Elimine el cifrado basado en certificados de un documento PDF mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Cree un cliente de servicio de cifrado.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga el documento PDF cifrado.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF codificado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF cifrado.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Eliminar cifrado.
    Elimine la codificación basada en certificados del documento PDF invocando el EncryptionServiceClient método del removePDFCertificateSecurity objeto y pasando los valores siguientes:
    • El com.adobe.idp.Document objeto que contiene el documento 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.
    El removePDFCertificateSecurity método devuelve un com.adobe.idp.Document objeto que contiene un documento PDF no seguro.
  5. Guarde el documento PDF.
    • Cree un java.io.File objeto y asegúrese de que la extensión del archivo sea .pdf.
    • Invocar el com.adobe.idp.Document método del copyToFile objeto para copiar el contenido del Document objeto en el archivo. Asegúrese de utilizar el com.adobe.idp.Document objeto devuelto por el removePDFCredentialSecurity método .
Consulte también

Eliminar el cifrado basado en certificados mediante la API de servicio Web

Elimine el cifrado basado en certificados mediante la API de cifrado (servicio web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un cliente de servicio de cifrado.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga el documento PDF cifrado.
    • Cree un BLOB objeto con su constructor. El BLOB objeto se utiliza para almacenar el documento PDF cifrado.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF cifrado y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
  4. Eliminar cifrado.
    Invoque el EncryptionServiceClient método del removePDFCertificateSecurity objeto y pase los valores siguientes:
    • El BLOB objeto que contiene datos de flujo de archivos que representa 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.
    El removePDFCredentialSecurity método devuelve un BLOB objeto que contiene un documento PDF no seguro.
  5. Guarde el documento PDF.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF no seguro.
    • Cree una matriz de bytes que almacene el contenido del BLOB objeto devuelto por el removePDFPasswordSecurity método. Rellene la matriz de bytes obteniendo el valor del miembro de BLOB datos del MTOM objeto.
    • Cree un System.IO.BinaryWriter objeto invocando su constructor y pasando el System.IO.FileStream objeto.
    • Escriba el contenido de la matriz de bytes en un archivo PDF invocando el System.IO.BinaryWriter método Write del objeto y pasando la matriz de bytes.
Consulte también

Eliminación del cifrado de contraseña

El cifrado basado en contraseña se puede eliminar de un documento PDF para que los usuarios puedan abrir el documento PDF en Adobe Reader o Acrobat sin tener que especificar una contraseña. Una vez que se elimina la codificación basada en contraseña de un documento PDF, el documento ya no es seguro.
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para eliminar la codificación basada en contraseña de un documento PDF, lleve a cabo los siguientes pasos:
  1. Incluir archivos de proyecto
  2. Cree un cliente de servicio de cifrado.
  3. Obtenga el documento PDF cifrado.
  4. Quite la contraseña.
  5. Guarde el documento PDF como archivo PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa 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 de servicio de cifrado Java, cree un EncrytionServiceClient objeto. Si está utilizando la API de servicio de cifrado de servicio Web, cree un EncryptionServiceService objeto.
Obtener el documento PDF cifrado
Debe obtener un documento PDF cifrado para eliminar la codificación basada en contraseña. Si intenta eliminar la codificación de un documento PDF que no está cifrado, se genera una excepción.
Quitar la contraseña
Para eliminar la codificación basada en contraseña de un documento PDF cifrado, se necesita un documento PDF cifrado y un valor de contraseña maestro que se utilicen para eliminar la codificación del documento PDF. La contraseña que se utiliza para abrir un documento PDF con contraseña cifrada no se puede utilizar para eliminar la codificación. Se especifica una contraseña maestra cuando el documento PDF se cifra con una contraseña. (Consulte Codificación de Documentos PDF con una contraseña ).
Guardar el documento PDF
Después de que el servicio de cifrado elimine la codificación basada en contraseña de un documento PDF, puede guardar el documento PDF como archivo PDF. Los usuarios pueden abrir el documento PDF en Adobe Reader o Acrobat sin especificar una contraseña.
Consulte también

Eliminar el cifrado basado en contraseña mediante la API de Java

Elimine la codificación basada en contraseña de un documento PDF mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Cree un cliente de servicio de cifrado.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga el documento PDF cifrado.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF codificado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Quite la contraseña.
    Elimine la codificación basada en contraseña del documento PDF invocando el EncryptionServiceClient método removePDFPasswordSecurity del objeto y pasando los valores siguientes:
    • Un com.adobe.idp.Document objeto que contiene el documento PDF cifrado.
    • Un valor de cadena que especifica el valor de contraseña principal que se utiliza para eliminar la codificación del documento PDF.
    El removePDFPasswordSecurity método devuelve un com.adobe.idp.Document objeto que contiene un documento PDF no seguro.
  5. Guarde el documento PDF.
    • Cree un java.io.File objeto y asegúrese de que la extensión del nombre de archivo sea .pdf.
    • Invocar el com.adobe.idp.Document método del copyToFile objeto para copiar el contenido del Document objeto en el archivo. Asegúrese de utilizar el Document objeto devuelto por el removePDFPasswordSecurity método .
Consulte también

Eliminar el cifrado basado en contraseña mediante la API de servicio Web

Elimine el cifrado basado en contraseña mediante la API de cifrado (servicio web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un cliente de servicio de cifrado.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga el documento PDF cifrado.
    • Cree un BLOB objeto con su constructor. El BLOB objeto se utiliza para almacenar un documento PDF con contraseña cifrada.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF cifrado y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
  4. Quite la contraseña.
    Invoque el EncryptionServiceService método del removePDFPasswordSecurity objeto y pase los valores siguientes:
    • El BLOB objeto que contiene datos de flujo de archivos que representa un documento PDF cifrado.
    • Un valor de cadena que especifica el valor de contraseña que se utiliza para eliminar la codificación del documento PDF. Este valor se especifica al cifrar el documento PDF con una contraseña.
    El removePDFPasswordSecurity método devuelve un BLOB objeto que contiene un documento PDF no seguro.
  5. Guarde el documento PDF.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF no seguro.
    • Cree una matriz de bytes que almacene el contenido del BLOB objeto devuelto por el removePDFPasswordSecurity método. Rellene la matriz de bytes obteniendo el valor del miembro de BLOB datos del MTOM objeto.
    • Cree un System.IO.BinaryWriter objeto invocando su constructor y pasando el System.IO.FileStream objeto.
    • Escriba el contenido de la matriz de bytes en un archivo PDF invocando el System.IO.BinaryWriter método Write del objeto y pasando la matriz de bytes.
Consulte también

Desbloqueo de Documentos PDF cifrados

Un documento PDF con cifrado de 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 PDF cifrado, puede realizar una o varias operaciones en él. Estas operaciones pueden pertenecer a otros servicios, como el servicio de extensiones de Acrobat Reader DC.
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para desbloquear un documento PDF cifrado, realice los siguientes pasos:
  1. Incluir archivos de proyecto.
  2. Cree un cliente de servicio de cifrado.
  3. Obtenga el documento PDF cifrado.
  4. Desbloquee el documento.
  5. Realice una operación de AEM Forms.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en el servidor de aplicaciones JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa 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 de servicio de cifrado Java, cree un EncrytionServiceClient objeto. Si está utilizando la API de servicio de cifrado de servicio Web, cree un EncryptionServiceService objeto.
Obtener el documento PDF cifrado
Debe obtener un documento PDF cifrado para desbloquearlo. Si intenta desbloquear un documento PDF que no está cifrado, se genera una excepción.
Desbloquear el documento
Para desbloquear un documento PDF con contraseña cifrada, necesita un documento PDF cifrado y un valor de contraseña que se utilicen para abrir un documento PDF con contraseña cifrada. Este valor se especifica al cifrar el documento PDF con una contraseña. (Consulte Codificación de Documentos PDF con una contraseña ).
Para desbloquear un documento PDF con cifrado de certificado, necesita un documento PDF cifrado y el valor de alias de la clave pública correspondiente a la clave privada que se utilizó para cifrar el documento PDF.
Realizar una operación de AEM Forms
Después de desbloquear un documento PDF cifrado, puede realizar otra operación de servicio en él, como aplicarle derechos de uso. Esta operación pertenece al servicio Extensiones de Acrobat Reader DC.
Consulte también

Desbloquear un documento PDF cifrado mediante la API de Java

Desbloquear un documento PDF cifrado mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Cree un cliente de servicio de cifrado.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga el documento PDF cifrado.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF codificado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF cifrado.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Desbloquee el documento.
    Desbloquee un documento PDF codificado invocando el EncryptionServiceClient método unlockPDFUsingPassword o unlockPDFUsingCredential del objeto.
    Para desbloquear un documento PDF codificado con una contraseña, invoque el unlockPDFUsingPassword método y pase los valores siguientes:
    • Un com.adobe.idp.Document objeto que contiene el documento PDF con contraseña cifrada.
    • Un valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento PDF con contraseña cifrada. Este valor se especifica al cifrar el documento PDF con una contraseña.
    Para desbloquear un documento PDF codificado con un certificado, invoque el unlockPDFUsingCredential método y pase los valores siguientes:
    • Un com.adobe.idp.Document objeto que contiene el documento PDF con cifrado de 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.
    Los métodos unlockPDFUsingPassword y unlockPDFUsingCredential devuelven un com.adobe.idp.Document objeto que se pasa a otro método Java de AEM Forms para realizar una operación.
  5. Realice una operación de AEM Forms.
    Realice una operación de AEM Forms en el documento PDF desbloqueado para cumplir los requisitos comerciales. Por ejemplo, suponiendo que desea aplicar derechos de uso a un documento PDF desbloqueado, pase el com.adobe.idp.Document objeto devuelto por los métodos unlockPDFUsingPassword o unlockPDFUsingCredential al método del ReaderExtensionsServiceClient objeto applyUsageRights .
Consulte también

Desbloquear un documento PDF cifrado mediante la API de servicio web

Desbloquear un documento PDF cifrado mediante la API de cifrado (servicio web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un cliente de servicio de cifrado.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga un documento PDF cifrado.
    • Cree un BLOB objeto con su constructor.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF cifrado y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
  4. Desbloquee el documento.
    Desbloquee un documento PDF codificado invocando el EncryptionServiceClient método unlockPDFUsingPassword o unlockPDFUsingCredential del objeto.
    Para desbloquear un documento PDF codificado con una contraseña, invoque el unlockPDFUsingPassword método y pase los valores siguientes:
    • Un BLOB objeto que contiene el documento PDF con contraseña cifrada.
    • Un valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento PDF con contraseña cifrada. Este valor se especifica al cifrar el documento PDF con una contraseña.
    Para desbloquear un documento PDF codificado con un certificado, invoque el unlockPDFUsingCredential método y pase los valores siguientes:
    • Un BLOB objeto que contiene el documento PDF con cifrado de 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.
    Los métodos unlockPDFUsingPassword y unlockPDFUsingCredential devuelven un com.adobe.idp.Document objeto que se pasa a otro método de AEM Forms para realizar una operación.
  5. Realice una operación de AEM Forms.
    Realice una operación de AEM Forms en el documento PDF desbloqueado para cumplir los requisitos comerciales. Por ejemplo, suponiendo que desea aplicar derechos de uso al documento PDF desbloqueado, pase el BLOB objeto devuelto por los métodos unlockPDFUsingPassword o unlockPDFUsingCredential al método del ReaderExtensionsServiceClient objeto applyUsageRights .
Consulte también

Determinación del tipo de cifrado

Puede determinar mediante programación el tipo de codificación que protege un documento 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 codificación. Por ejemplo, puede determinar si un documento PDF está protegido con codificación basada en contraseña o con una política de Rights Management.
Un documento PDF puede protegerse mediante los siguientes tipos de codificación:
  • Cifrado basado en contraseña
  • Cifrado basado en certificados
  • Directiva creada por el servicio Rights Management
  • Otro tipo de cifrado
Para obtener más información sobre el servicio de cifrado, consulte Referencia de servicios para AEM Forms .

Resumen de los pasos

Para determinar el tipo de codificación que protege un documento PDF, lleve a cabo los siguientes pasos:
  1. Incluir archivos de proyecto.
  2. Cree un cliente de servicio de cifrado.
  3. Obtenga el documento PDF cifrado.
  4. Determine el tipo de codificación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-encryption-client.jar
  • adobe-utilities.jar (obligatorio si AEM Forms se implementa en el servidor de aplicaciones JBoss)
  • jbossall-client.jar (obligatorio si AEM Forms se implementa 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 de servicio de cifrado Java, cree un EncrytionServiceClient objeto. Si está utilizando la API de servicio de cifrado de servicio Web, cree un EncryptionServiceService objeto.
Obtener el documento PDF cifrado
Debe obtener un documento PDF para determinar el tipo de codificación que la protege.
Determinar el tipo de codificación
Puede determinar el tipo de codificación que protege un documento PDF. Si el documento PDF no está protegido, el servicio Cifrado le informa de que el documento PDF no está seguro.
Consulte también

Determinar el tipo de codificación mediante la API de Java

Determine el tipo de codificación que protege un documento PDF mediante la API de cifrado (Java):
  1. Incluir archivos de proyecto.
    Incluya archivos JAR de cliente, como adobe-encoding-client.jar, en la ruta de clases del proyecto Java.
  2. Cree un cliente de servicio.
    • Cree un ServiceClientFactory objeto que contenga propiedades de conexión.
    • Cree un EncryptionServiceClient objeto utilizando su constructor y pasando el ServiceClientFactory objeto.
  3. Obtenga el documento PDF cifrado.
    • Cree un java.io.FileInputStream objeto que represente el documento PDF utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF.
    • Cree un com.adobe.idp.Document objeto utilizando su constructor y pasando el java.io.FileInputStream objeto.
  4. Determine el tipo de codificación.
    • Determine el tipo de codificación invocando el EncryptionServiceClient método getPDFEncryption del objeto y pasando el com.adobe.idp.Document objeto que contiene el documento PDF. Este método devuelve un EncryptionTypeResult objeto.
    • Invocar el EncryptionTypeResult método del getEncryptionType objeto. Este método devuelve un valor EncryptionType enum que especifica el tipo de codificación. Por ejemplo, si el documento PDF está protegido con codificación basada en contraseña, este método devuelve EncryptionType.PASSWORD .
Consulte también

Determinar el tipo de codificación mediante la API de servicio Web

Determine el tipo de codificación que protege un documento PDF mediante la API de cifrado (servicio Web):
  1. 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 .
    Reemplazar localhost por la dirección IP del servidor que aloja AEM Forms.
  2. Cree un cliente de servicio.
    • Cree un EncryptionServiceClient objeto utilizando su constructor predeterminado.
    • Cree un EncryptionServiceClient.Endpoint.Address objeto mediante el System.ServiceModel.EndpointAddress constructor. 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 usar el lc_version atributo. Este atributo se utiliza al crear una referencia de servicio).
    • Cree un System.ServiceModel.BasicHttpBinding objeto obteniendo el valor del EncryptionServiceClient.Endpoint.Binding campo. Convierta el valor devuelto a BasicHttpBinding .
    • Establezca el System.ServiceModel.BasicHttpBinding campo del MessageEncoding objeto en WSMessageEncoding.Mtom . Este valor garantiza que se utilice MTOM.
    • Habilite la autenticación HTTP básica realizando las siguientes tareas:
      • Asigne el nombre de usuario de los formularios AEM al campo EncryptionServiceClient.ClientCredentials.UserName.UserName .
      • Asigne el valor de contraseña correspondiente al campo EncryptionServiceClient.ClientCredentials.UserName.Password .
      • Asigne el valor constante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Obtenga el documento PDF cifrado.
    • Cree un BLOB objeto con su constructor.
    • Cree un System.IO.FileStream objeto invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF cifrado y el modo en que se abre el archivo.
    • Cree una matriz de bytes que almacene el contenido del System.IO.FileStream objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la System.IO.FileStream propiedad del Length objeto.
    • Rellene la matriz de bytes con datos de flujo invocando el System.IO.FileStream método Read del objeto y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.
    • Rellene el BLOB objeto asignando el contenido de la matriz de bytes al miembro de BLOB datos del MTOM objeto.
  4. Determine el tipo de codificación.
    • Invoque el EncryptionServiceClient método del getPDFEncryption objeto y pase el BLOB objeto que contiene el documento PDF. Este método devuelve un EncryptionTypeResult objeto.
    • Obtenga el valor del método de datos del EncryptionTypeResult objeto encryptionType . Por ejemplo, si el documento PDF está protegido con codificación basada en contraseña, el valor de este miembro de datos es EncryptionType.PASSWORD .
Consulte también