Codificar y descifrar documentos PDF encrypting-and-decrypting-pdf-documents
Las muestras y los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Acerca del servicio de cifrado
El servicio Encryption permite cifrar y descifrar documentos. Cuando se encripta un documento, su contenido se vuelve ilegible. Un usuario autorizado puede desencriptar el documento para obtener acceso a su contenido. Si un documento PDF está encriptado con una contraseña, el usuario debe escribir la contraseña para abrir y visualizar el documento en Adobe Reader o Adobe Acrobat. Del mismo modo, si un documento PDF está encriptado con un certificado, el usuario debe desencriptar el documento PDF con la clave pública que corresponde al certificado (clave privada) que se utilizó para encriptarlo.
Puede realizar estas tareas mediante el servicio Encryption:
- Cifrar un documento de PDF con una contraseña. (Consulte Cifrar documentos de PDF con una contraseña).
- Cifrar un documento de PDF con un certificado. (Consulte Cifrar documentos de PDF con certificados.)
- Quitar el cifrado basado en contraseña de un documento de PDF. (Consulte Quitar el cifrado de contraseña.)
- Quite el cifrado basado en certificados de un documento de PDF. (Consulte Quitar el cifrado basado en certificados.)
- Desbloquee el documento de PDF para que se puedan realizar otras operaciones de servicio. Por ejemplo, después de desbloquear un documento de PDF cifrado con contraseña, puede aplicarle una firma digital. (Consulte Desbloquear documentos cifrados de PDF.)
- Determine el tipo de cifrado de un documento de PDF protegido. (Consulte Determinación del tipo de cifrado.)
Cifrar documentos de 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 de PDF, se debe desbloquear un documento de PDF cifrado con contraseña.
Resumen de los pasos summary-of-steps
Para cifrar un documento de PDF con una contraseña, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto de API de cliente de cifrado.
- Obtenga un documento de PDF para cifrar.
- Establecer opciones de cifrado en tiempo de ejecución.
- Añada 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 (requerido si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Crear un objeto de API de cliente de cifrado
Para realizar mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption.
Obtener un documento de PDF para cifrar
Obtenga un documento de PDF sin cifrar para cifrar el documento con una contraseña. Si intenta proteger un documento de PDF que ya está cifrado, se producirá una excepción.
Establecer opciones de cifrado en tiempo de ejecución
Para cifrar un documento de 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 de PDF y debe especificarse al abrir el documento de PDF. El segundo valor de contraseña, denominado valor de contraseña maestra, se utiliza para quitar 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 iguales.
Especifique los recursos de documentos de PDF que desea cifrar. Puede cifrar todo el documento de PDF, todo excepto los metadatos del documento o solo los archivos adjuntos. Si cifra únicamente los datos adjuntos del documento, se pedirá al usuario una contraseña cuando intente obtener acceso a los datos adjuntos del archivo.
Al cifrar un documento de PDF, puede especificar los permisos asociados al documento protegido. Al especificar permisos, puede controlar las acciones que puede realizar un usuario que abre un documento de PDF cifrado con contraseña. Por ejemplo, para extraer correctamente datos de formulario, debe establecer 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 los valores de cifrado en tiempo de ejecución, puede agregar una contraseña al documento de PDF.
Guardar 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
Cifrar un documento de PDF mediante la API de Java
Cifrado de un documento de PDF mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Cifrar un documento de PDF mediante la API de Java encrypt-a-pdf-document-using-the-java-api
Cifrar un documento de PDF con una contraseña mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Crear una API de cliente de cifrado.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga un documento de PDF para cifrar.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF que se va a cifrar utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Establecer opciones de cifrado en tiempo de ejecución.
- Cree un objeto
PasswordEncryptionOptionSpecinvocando su constructor. - Especifique los recursos de documentos de PDF que se van a cifrar invocando el método
setEncryptOptiondel objetoPasswordEncryptionOptionSpecy pasando un valor de enumeraciónPasswordEncryptionOptionque especifica los recursos de documentos que se van a cifrar. Por ejemplo, para cifrar todo el documento de PDF, incluidos sus metadatos y sus archivos adjuntos, especifiquePasswordEncryptionOption.ALL. - Cree un objeto
java.util.Listque almacene los permisos de cifrado mediante el constructorArrayList. - Especifique un permiso invocando el método
adddel objetojava.util.Listy 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 en el documento de PDF, especifiquePasswordEncryptionPermission.PASSWORD_EDIT_COPY. (Repita este paso para cada permiso que desee establecer). - Especifique la opción de compatibilidad de Acrobat invocando el método
setCompatabilitydel objetoPasswordEncryptionOptionSpecy pasando un valor de enumeración que especifique el nivel de compatibilidad de Acrobat. Por ejemplo, puede especificarPasswordEncryptionCompatability.ACRO_7. - Especifique el valor de contraseña que permite a un usuario abrir el documento cifrado de PDF invocando el método
setDocumentOpenPassworddel objetoPasswordEncryptionOptionSpecy pasando un valor de cadena que representa la contraseña de apertura. - Especifique el valor de la contraseña maestra que permite a un usuario quitar el cifrado del documento de PDF invocando el método
setPermissionPassworddel objetoPasswordEncryptionOptionSpecy pasando un valor de cadena que representa la contraseña maestra.
- Cree un objeto
-
Añada la contraseña.
Cifre el documento de PDF invocando el método
encryptPDFUsingPassworddel objetoEncryptionServiceClienty pasando los siguientes valores:- El objeto
com.adobe.idp.Documentque contiene el documento de PDF que se va a cifrar con la contraseña. - El objeto
PasswordEncryptionOptionSpecque contiene opciones de cifrado en tiempo de ejecución.
El método
encryptPDFUsingPassworddevuelve un objetocom.adobe.idp.Documentque contiene un documento de PDF cifrado con contraseña. - El objeto
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un objeto
java.io.Filey asegúrese de que la extensión del archivo sea .pdf. - Invoque el método
copyToFiledel objetocom.adobe.idp.Documentpara copiar el contenido del objetocom.adobe.idp.Documenten el archivo. Asegúrese de utilizar el objetocom.adobe.idp.Documentdevuelto por el métodoencryptPDFUsingPassword.
- Cree un objeto
Consulte también
Inicio rápido (modo SOAP): cifrado de un documento de PDF mediante la API de Java
Cifrado de un documento de PDF mediante la API de servicio web encrypting-a-pdf-document-using-the-web-service-api
Cifrar un documento de PDF con una 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 de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto de API de cliente de cifrado.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga un documento de PDF para cifrar.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar un documento de PDF cifrado con una contraseña. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF que se va a cifrar y el modo en que se va a abrir el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB.
- Crear un objeto
-
Establecer opciones de cifrado en tiempo de ejecución.
- Crear un objeto
PasswordEncryptionOptionSpecmediante su constructor. - Especifique los recursos de documentos de PDF que desea cifrar asignando un valor de enumeración
PasswordEncryptionOptional miembro de datosencryptOptiondel objetoPasswordEncryptionOptionSpec. Para cifrar todo el PDF, incluidos sus metadatos y sus datos adjuntos, asignePasswordEncryptionOption.ALLa este miembro de datos. - Especifique la opción de compatibilidad de Acrobat asignando un valor de enumeración
PasswordEncryptionCompatabilityal miembro de datoscompatabilitydel objetoPasswordEncryptionOptionSpec. Por ejemplo, asignePasswordEncryptionCompatability.ACRO_7a este miembro de datos. - Especifique el valor de contraseña que permite a un usuario abrir el documento cifrado de PDF asignando un valor de cadena que representa la contraseña de apertura al miembro de datos
documentOpenPassworddel objetoPasswordEncryptionOptionSpec. - Especifique el valor de contraseña que permite a un usuario quitar el cifrado del documento de PDF asignando un valor de cadena que represente la contraseña maestra al miembro de datos
permissionPassworddel objetoPasswordEncryptionOptionSpec.
- Crear un objeto
-
Añada la contraseña.
Cifre el documento de PDF invocando el método
encryptPDFUsingPassworddel objetoEncryptionServiceClienty pasando los siguientes valores:- El objeto
BLOBque contiene el documento de PDF que se va a cifrar con la contraseña. - El objeto
PasswordEncryptionOptionSpecque contiene opciones de cifrado en tiempo de ejecución.
El método
encryptPDFUsingPassworddevuelve un objetoBLOBque contiene un documento de PDF cifrado con contraseña. - El objeto
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF protegido. - Cree una matriz de bytes que almacene el contenido de datos del objeto
BLOBdevuelto por el métodoencryptPDFUsingPassword. Rellene la matriz de bytes obteniendo el valor del miembro de datosMTOMdel objetoBLOB. - Cree un objeto
System.IO.BinaryWriterinvocando su constructor y pasando el objetoSystem.IO.FileStream. - Escriba el contenido de la matriz de bytes en un archivo PDF invocando el método
Writedel objetoSystem.IO.BinaryWritery pasando la matriz de bytes.
- Cree un objeto
Consulte también
Cifrar documentos de 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 usa un algoritmo 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, 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.
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 de PDF con un certificado, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto de API de cliente de cifrado.
- Obtenga un documento de PDF para cifrar.
- Haga referencia al certificado.
- Establecer opciones de cifrado en tiempo de ejecución.
- Cree un documento de PDF cifrado mediante 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 con 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 (requerido 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 objeto de API de cliente de cifrado
Para realizar mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption. Si está usando la API del servicio de cifrado de Java, cree un objeto EncrytionServiceClient. Si está usando la API del servicio de cifrado del servicio web, cree un objeto EncryptionServiceService.
Obtener un documento de PDF para cifrar
Obtenga un documento de PDF sin cifrar para cifrar. Si intenta proteger un documento de PDF que ya está cifrado, se generará una excepción.
Hacer referencia al certificado
Para cifrar un documento de PDF con un certificado, haga referencia a un certificado que se utiliza para cifrar un documento de PDF. El certificado es un archivo .cer, .crt o .pem. Se utiliza un archivo PKCS#12 para almacenar claves privadas con los certificados correspondientes.
Al cifrar un documento de PDF con un certificado, especifique los permisos asociados al documento protegido. Al especificar permisos, puede controlar las acciones que puede realizar un usuario que abre un documento de PDF cifrado mediante certificado.
Establecer opciones de cifrado en tiempo de ejecución
Especifique los recursos de documentos de PDF que desea cifrar. Puede cifrar todo el documento de PDF, todo excepto los metadatos del documento o solo los archivos adjuntos.
Crear un documento de PDF cifrado mediante certificado
Después de recuperar un documento de PDF no protegido, hacer referencia al certificado y establecer las opciones en tiempo de ejecución, puede crear un documento de PDF cifrado mediante certificado. Una vez cifrado el documento de PDF, se necesita la clave pública correspondiente para descifrarlo.
Guardar el documento de PDF cifrado como archivo de PDF
Puede guardar el documento cifrado de PDF como archivo de PDF.
Consulte también
Cifrar un documento de PDF con un certificado mediante la API de Java
Cifrar un documento de PDF con un certificado mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Cifrar un documento de PDF con un certificado mediante la API de Java encrypt-a-pdf-document-with-a-certificate-using-the-java-api
Cifrar un documento de PDF con un certificado mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Cree un objeto de API de cliente de cifrado.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga un documento de PDF para cifrar.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF que se va a cifrar utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Haga referencia al certificado.
- Cree un objeto
java.util.Listque almacene información de permisos mediante su constructor. - Especifique el permiso asociado con el documento cifrado invocando el método
adddel objetojava.util.Listy pasando un valor de enumeraciónCertificateEncryptionPermissionsque representa los permisos concedidos al usuario que abre el documento protegido de PDF. Por ejemplo, para especificar todos los permisos, paseCertificateEncryptionPermissions.PKI_ALL_PERM. - Crear un objeto
Recipientmediante su constructor. - Cree un objeto
java.io.FileInputStreamque represente el certificado que se usa para cifrar el documento de PDF usando su constructor y pasando un valor de cadena que especifique la ubicación del certificado. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStreamque representa el certificado. - Invoque el método
setX509Certdel objetoRecipienty pase el objetocom.adobe.idp.Documentque contiene el certificado. (Además, el objetoRecipientpuede tener un alias de certificado de Truststore o una URL LDAP como origen de certificado). - Cree un objeto
CertificateEncryptionIdentityque almacene información de permisos y certificados mediante su constructor. - Invoque el método
setPermsdel objetoCertificateEncryptionIdentityy pase el objetojava.util.Listque almacena la información de permisos. - Invoque el método
setRecipientdel objetoCertificateEncryptionIdentityy pase el objetoRecipientque almacena información de certificado. - Cree un objeto
java.util.Listque almacene información de certificado mediante su constructor. - Invoque el método add del objeto
java.util.Listy pase el objetoCertificateEncryptionIdentity. (Este objetojava.util.Listse pasa como parámetro al métodoencryptPDFUsingCertificates.)
- Cree un objeto
-
Establecer opciones de cifrado en tiempo de ejecución.
- Cree un objeto
CertificateEncryptionOptionSpecinvocando su constructor. - Especifique los recursos de documentos de PDF que se van a cifrar invocando el método
setOptiondel objetoCertificateEncryptionOptionSpecy pasando un valor de enumeraciónCertificateEncryptionOptionque especifica los recursos de documentos que se van a cifrar. Por ejemplo, para cifrar todo el documento de PDF, incluidos sus metadatos y sus archivos adjuntos, especifiqueCertificateEncryptionOption.ALL. - Especifique la opción de compatibilidad de Acrobat invocando el método
setCompatdel objetoCertificateEncryptionOptionSpecy pasando un valor de enumeraciónCertificateEncryptionCompatibilityque especifica el nivel de compatibilidad de Acrobat. Por ejemplo, puede especificarCertificateEncryptionCompatibility.ACRO_7.
- Cree un objeto
-
Cree un documento de PDF cifrado mediante certificado.
Cifre el documento de PDF con un certificado invocando el método
encryptPDFUsingCertificatesdel objetoEncryptionServiceClienty pasando los siguientes valores:- El objeto
com.adobe.idp.Documentque contiene el documento de PDF que se va a cifrar. - El objeto
java.util.Listque almacena información de certificado. - El objeto
CertificateEncryptionOptionSpecque contiene opciones de cifrado en tiempo de ejecución.
El método
encryptPDFUsingCertificatesdevuelve un objetocom.adobe.idp.Documentque contiene un documento de PDF cifrado mediante certificado. - El objeto
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un objeto
java.io.Filey asegúrese de que la extensión de nombre de archivo sea .pdf. - Invoque el método
copyToFiledel objetocom.adobe.idp.Documentpara copiar el contenido del objetocom.adobe.idp.Documenten el archivo. Asegúrese de utilizar el objetocom.adobe.idp.Documentdevuelto por el métodoencryptPDFUsingCertificates.
- Cree un objeto
Consulte también
Inicio rápido (modo SOAP): cifrado de un documento de PDF con un certificado mediante la API de Java
Cifrar 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
Cifrar 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 de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto de API de cliente de cifrado.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga un documento de PDF para cifrar.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar un documento de PDF cifrado con un certificado. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF que se va a cifrar y el modo en que se va a abrir el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando su propiedadMTOMcon el contenido de la matriz de bytes.
- Crear un objeto
-
Haga referencia al certificado.
- Crear un objeto
Recipientmediante su constructor. Este objeto almacenará información de certificado. - Crear un objeto
BLOBmediante su constructor. Este objetoBLOBalmacenará el certificado que cifra el documento de PDF. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del certificado y el modo en que se va a abrir el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB. - Asigne el objeto
BLOBque almacena el certificado al miembro de datosx509Certdel objetoRecipient. - Cree un objeto
CertificateEncryptionIdentityque almacene información de certificado mediante su constructor. - Asigne el objeto
Recipientque almacena el certificado al miembro de datos de destinatario del objetoCertificateEncryptionIdentity. - Cree una matriz
Objecty asigne el objetoCertificateEncryptionIdentityal primer elemento de la matrizObject. Esta matrizObjectse pasa como parámetro al métodoencryptPDFUsingCertificates.
- Crear un objeto
-
Establecer opciones de cifrado en tiempo de ejecución.
- Crear un objeto
CertificateEncryptionOptionSpecmediante su constructor. - Especifique los recursos de documentos de PDF que desea cifrar asignando un valor de enumeración
CertificateEncryptionOptional miembro de datosoptiondel objetoCertificateEncryptionOptionSpec. Para cifrar todo el documento de PDF, incluidos los metadatos y los datos adjuntos, asigneCertificateEncryptionOption.ALLa este miembro de datos. - Especifique la opción de compatibilidad de Acrobat asignando un valor de enumeración
CertificateEncryptionCompatibilityal miembro de datoscompatdel objetoCertificateEncryptionOptionSpec. Por ejemplo, asigneCertificateEncryptionCompatibility.ACRO_7a este miembro de datos.
- Crear un objeto
-
Cree un documento de PDF cifrado mediante certificado.
Cifre el documento de PDF con un certificado invocando el método
encryptPDFUsingCertificatesdel objetoEncryptionServiceServicey pasando los siguientes valores:- El objeto
BLOBque contiene el documento de PDF que se va a cifrar. - Matriz
Objectque almacena información de certificado. - El objeto
CertificateEncryptionOptionSpecque contiene opciones de cifrado en tiempo de ejecución.
El método
encryptPDFUsingCertificatesdevuelve un objetoBLOBque contiene un documento de PDF cifrado mediante certificado. - El objeto
-
Guarde el documento de PDF cifrado como archivo de PDF.
- Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF protegido. - Cree una matriz de bytes que almacene el contenido de datos del objeto
BLOBdevuelto por el métodoencryptPDFUsingCertificates. Rellene la matriz de bytes obteniendo el valor del miembro de datosbinaryDatadel objetoBLOB. - Cree un objeto
System.IO.BinaryWriterinvocando su constructor y pasando el objetoSystem.IO.FileStream. - Escriba el contenido de la matriz de bytes en un archivo PDF invocando el método
Writedel objetoSystem.IO.BinaryWritery pasando la matriz de bytes.
- Cree un objeto
Consulte también
Quitar el cifrado basado en certificados removing-certificate-based-encryption
El cifrado basado en certificados se puede quitar de un documento de PDF para que los usuarios puedan abrir el documento de PDF en Adobe Reader o Acrobat. Para quitar 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 quitar 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 cifrado de PDF.
- 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 (requerido 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 mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption. Si está usando la API del servicio de cifrado de Java, cree un objeto EncrytionServiceClient. Si está usando la API del servicio de cifrado del servicio web, cree un objeto EncryptionServiceService.
Obtener el documento cifrado de PDF
Obtenga un documento de PDF cifrado para quitar el cifrado basado en certificados. Si intenta quitar el cifrado de un documento de PDF que no está cifrado, se generará una excepción. Del mismo modo, si intenta quitar el cifrado basado en certificados de un documento cifrado con contraseña, se generará una excepción.
Quitar cifrado
Para quitar el cifrado basado en certificados de un documento de PDF cifrado, necesita un documento de PDF cifrado y la clave privada que corresponde a la clave utilizada para cifrar el documento de PDF. El valor de alias de la clave privada se especifica al eliminar el cifrado basado en certificados de un documento de PDF cifrado. Para obtener información acerca de la clave pública, vea Cifrar documentos de PDF con certificados.
Guardar el documento de PDF
Una vez eliminado el cifrado basado en certificados de un documento cifrado de PDF, puede guardar el documento de PDF como archivo de PDF. Los usuarios pueden abrir el documento de PDF en Adobe Reader o Acrobat.
Consulte también
Quite el cifrado basado en certificados mediante la API de Java
Quitar el cifrado basado en certificados mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Quite el 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 de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga el documento cifrado de PDF.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF cifrado. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Elimine el cifrado.
Quite el cifrado basado en certificados del documento de PDF invocando el método
removePDFCertificateSecuritydel objetoEncryptionServiceClienty pasando los siguientes valores:- El objeto
com.adobe.idp.Documentque contiene el documento de PDF cifrado. - Valor de cadena que especifica el nombre de alias de la clave privada que corresponde a la clave utilizada para cifrar el documento PDFf.
El método
removePDFCertificateSecuritydevuelve un objetocom.adobe.idp.Documentque contiene un documento de PDF no protegido. - El objeto
-
Guarde el documento de PDF.
- Cree un objeto
java.io.Filey asegúrese de que la extensión del archivo sea .pdf. - Invoque el método
copyToFiledel objetocom.adobe.idp.Documentpara copiar el contenido del objetoDocumenten el archivo. Asegúrese de utilizar el objetocom.adobe.idp.Documentdevuelto por el métodoremovePDFCredentialSecurity.
- Cree un objeto
Consulte también
Inicio rápido (modo SOAP): Quitar el cifrado basado en certificados mediante la API de Java
Quitar el cifrado basado en certificados mediante la API de servicio web remove-certificate-based-encryption-using-the-web-service-api
Quite el cifrado basado en certificados mediante la API Encryption (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga el documento cifrado de PDF.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar el documento cifrado de PDF. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF cifrado y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB.
- Crear un objeto
-
Elimine el cifrado.
Invoque el método
removePDFCertificateSecuritydel objetoEncryptionServiceClienty pase los siguientes valores:- El objeto
BLOBque contiene datos de secuencia de archivos que representa un documento de PDF cifrado. - Valor de cadena que especifica el nombre de alias de la clave pública correspondiente a la clave privada utilizada para cifrar el documento PDFf.
El método
removePDFCredentialSecuritydevuelve un objetoBLOBque contiene un documento de PDF no protegido. - El objeto
-
Guarde el documento de PDF.
- Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF no protegido. - Cree una matriz de bytes que almacene el contenido del objeto
BLOBdevuelto por el métodoremovePDFPasswordSecurity. Rellene la matriz de bytes obteniendo el valor del miembro de datosMTOMdel objetoBLOB. - Cree un objeto
System.IO.BinaryWriterinvocando su constructor y pasando el objetoSystem.IO.FileStream. - Escriba el contenido de la matriz de bytes en un archivo PDF invocando el método
Writedel objetoSystem.IO.BinaryWritery pasando la matriz de bytes.
- Cree un objeto
Consulte también
Quitar el cifrado 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. Una vez eliminado el cifrado basado en contraseña de un documento de PDF, el documento deja de ser seguro.
Resumen de los pasos summary_of_steps-3
Para quitar 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 cifrado de PDF.
- 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 (requerido 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 mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption. Si está usando la API del servicio de cifrado de Java, cree un objeto EncrytionServiceClient. Si está usando la API del servicio de cifrado del servicio web, cree un objeto EncryptionServiceService.
Obtener el documento cifrado de PDF
Obtenga un documento de PDF cifrado para quitar el cifrado basado en contraseña. Si intenta quitar el cifrado de un documento de PDF que no está cifrado, se generará una excepción.
Quitar la contraseña
Para quitar el cifrado basado en contraseña de un documento cifrado de PDF, necesita un documento cifrado de PDF y un valor de contraseña maestra que se utilice para quitar el cifrado del documento de PDF. La contraseña utilizada para abrir un documento de PDF cifrado con contraseña no se puede usar para quitar el cifrado. Se especifica una contraseña maestra cuando el documento de PDF se cifra con una contraseña. (Consulte Cifrar documentos de PDF con una contraseña).
Guardar el documento de PDF
Una vez que el servicio Encryption quita 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 de PDF en Adobe Reader o Acrobat sin especificar una contraseña.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
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 Encryption (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga el documento cifrado de PDF.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Elimine la contraseña.
Quite el cifrado basado en contraseña del documento de PDF invocando el método
removePDFPasswordSecuritydel objetoEncryptionServiceClienty pasando los siguientes valores:- Un objeto
com.adobe.idp.Documentque contiene el documento de PDF cifrado. - Valor de cadena que especifica el valor de la contraseña maestra que se utiliza para quitar el cifrado del documento de PDF.
El método
removePDFPasswordSecuritydevuelve un objetocom.adobe.idp.Documentque contiene un documento de PDF no protegido. - Un objeto
-
Guarde el documento de PDF.
- Cree un objeto
java.io.Filey asegúrese de que la extensión de nombre de archivo sea .pdf. - Invoque el método
copyToFiledel objetocom.adobe.idp.Documentpara copiar el contenido del objetoDocumenten el archivo. Asegúrese de utilizar el objetoDocumentdevuelto por el métodoremovePDFPasswordSecurity.
- Cree un objeto
Consulte también
Inicio rápido (modo SOAP): Eliminación del cifrado basado en contraseña mediante la API de Java
Quitar el cifrado basado en contraseña mediante la API de servicio web remove-password-based-encryption-using-the-web-service-api
Quite el cifrado basado en contraseña utilizando la API Encryption (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga el documento cifrado de PDF.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar un documento de PDF cifrado con contraseña. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF cifrado y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB.
- Crear un objeto
-
Elimine la contraseña.
Invoque el método
removePDFPasswordSecuritydel objetoEncryptionServiceServicey pase los siguientes valores:- El objeto
BLOBque contiene datos de secuencia de archivos que representa un documento de PDF cifrado. - Valor de cadena que especifica el valor de contraseña que se utiliza para quitar el cifrado del documento de PDF. Este valor se especifica al cifrar el documento de PDF con una contraseña.
El método
removePDFPasswordSecuritydevuelve un objetoBLOBque contiene un documento de PDF no protegido. - El objeto
-
Guarde el documento de PDF.
- Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF no protegido. - Cree una matriz de bytes que almacene el contenido del objeto
BLOBdevuelto por el métodoremovePDFPasswordSecurity. Rellene la matriz de bytes obteniendo el valor del miembro de datosMTOMdel objetoBLOB. - Cree un objeto
System.IO.BinaryWriterinvocando su constructor y pasando el objetoSystem.IO.FileStream. - Escriba el contenido de la matriz de bytes en un archivo PDF invocando el método
Writedel objetoSystem.IO.BinaryWritery pasando la matriz de bytes.
- Cree un objeto
Consulte también
Desbloquear documentos cifrados de PDF unlocking-encrypted-pdf-documents
Un documento de PDF cifrado con contraseña o con certificado debe estar desbloqueado para que se pueda realizar otra operación de AEM Forms en él. Si intenta realizar una operación en un documento cifrado de PDF, generará una excepción. Después de desbloquear un documento cifrado de PDF, puede realizar una o varias 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 cifrado de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente de servicio de cifrado.
- Obtenga el documento cifrado de PDF.
- Desbloquee el documento.
- Realice una operación de 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 (requerido 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 mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption. Si está usando la API del servicio de cifrado de Java, cree un objeto EncrytionServiceClient. Si está usando la API del servicio de cifrado del servicio web, cree un objeto EncryptionServiceService.
Obtener el documento cifrado de PDF
Obtenga un documento de PDF cifrado para desbloquearlo. Si intenta desbloquear un documento de PDF que no esté cifrado, se generará una excepción.
Desbloquear el documento
Para desbloquear un documento de PDF cifrado con contraseña, necesita un documento de PDF cifrado y un valor de contraseña que se utilice para abrir un documento de PDF cifrado con contraseña. Este valor se especifica al cifrar el documento de PDF con una contraseña. (Consulte Cifrar documentos de PDF con una contraseña).
Para desbloquear un documento de PDF cifrado mediante certificado, se necesita un documento de PDF cifrado y el valor de alias de la clave pública que corresponde a la clave privada que se utilizó para cifrar el documento de PDF.
Realizar una operación de AEM Forms
Una vez desbloqueado un documento cifrado de PDF, puede realizar otra operación de servicio en él, como aplicarle derechos de uso. Esta operación pertenece al servicio Acrobat Reader DC Extensions.
Consulte también
Desbloquear un documento cifrado de PDF mediante la API de Java
Desbloquear un documento cifrado de PDF mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Desbloquear un documento cifrado de PDF mediante la API de Java unlock-an-encrypted-pdf-document-using-the-java-api
Desbloquee un documento cifrado de PDF mediante la API de cifrado (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente de servicio de cifrado.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga el documento cifrado de PDF.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF cifrado utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF cifrado. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Desbloquee el documento.
Desbloquee un documento de PDF cifrado invocando el método
unlockPDFUsingPasswordounlockPDFUsingCredentialdel objetoEncryptionServiceClient.Para desbloquear un documento de PDF cifrado con una contraseña, invoque el método
unlockPDFUsingPasswordy pase los siguientes valores:- Un objeto
com.adobe.idp.Documentque contiene el documento de PDF cifrado con contraseña. - Valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento de PDF cifrado con contraseña. Este valor se especifica al cifrar el documento de PDF con una contraseña.
Para desbloquear un documento de PDF cifrado con un certificado, invoque el método
unlockPDFUsingCredentialy pase los siguientes valores:- Un objeto
com.adobe.idp.Documentque contiene el documento de PDF cifrado mediante certificado. - 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 de PDF.
Los métodos
unlockPDFUsingPasswordyunlockPDFUsingCredentialdevuelven un objetocom.adobe.idp.Documentque se pasa a otro método Java de AEM Forms para realizar una operación. - Un objeto
-
Realice una operación de AEM Forms.
Realice una operación de AEM Forms en el documento de PDF desbloqueado para satisfacer sus necesidades empresariales. Por ejemplo, suponiendo que desea aplicar derechos de uso a un documento de PDF desbloqueado, pase el objeto
com.adobe.idp.Documentdevuelto por los métodosunlockPDFUsingPasswordounlockPDFUsingCredentialal métodoapplyUsageRightsdel objetoReaderExtensionsServiceClient.
Consulte también
Inicio rápido (modo SOAP): desbloquear un documento de PDF cifrado mediante la API de Java (modo SOAP)
Aplicar derechos de uso a documentos de PDF
Desbloquear un documento cifrado de PDF mediante la API de servicio web unlock-an-encrypted-pdf-document-using-the-web-service-api
Desbloquee un documento cifrado 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 de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicio de cifrado.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga un documento de PDF cifrado.
- Crear un objeto
BLOBmediante su constructor. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF cifrado y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB.
- Crear un objeto
-
Desbloquee el documento.
Desbloquee un documento de PDF cifrado invocando el método
unlockPDFUsingPasswordounlockPDFUsingCredentialdel objetoEncryptionServiceClient.Para desbloquear un documento de PDF cifrado con una contraseña, invoque el método
unlockPDFUsingPasswordy pase los siguientes valores:- Un objeto
BLOBque contiene el documento de PDF cifrado con contraseña. - Valor de cadena que especifica el valor de contraseña que se utiliza para abrir un documento de PDF cifrado con contraseña. Este valor se especifica al cifrar el documento de PDF con una contraseña.
Para desbloquear un documento de PDF cifrado con un certificado, invoque el método
unlockPDFUsingCredentialy pase los siguientes valores:- Un objeto
BLOBque contiene el documento de PDF cifrado mediante certificado. - Valor de cadena que especifica el nombre de alias de la clave pública correspondiente a la clave privada utilizada para cifrar el documento PDFf.
Los métodos
unlockPDFUsingPasswordyunlockPDFUsingCredentialdevuelven un objetocom.adobe.idp.Documentque se pasa a otro método AEM Forms para realizar una operación. - Un objeto
-
Realice una operación de AEM Forms.
Realice una operación de AEM Forms en el documento de PDF desbloqueado para satisfacer sus necesidades empresariales. Por ejemplo, suponiendo que desea aplicar derechos de uso al documento de PDF desbloqueado, pase el objeto
BLOBdevuelto por los métodosunlockPDFUsingPasswordounlockPDFUsingCredentialal métodoapplyUsageRightsdel objetoReaderExtensionsServiceClient.
Consulte también
Determinar el tipo de cifrado determining-encryption-type
Puede determinar mediante programación el tipo de cifrado que protege un documento de PDF mediante la API del servicio de cifrado de Java o la API del servicio de cifrado del servicio web. A veces es necesario determinar dinámicamente si un documento de PDF está cifrado y, si es así, 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 de PDF puede protegerse con los siguientes tipos de cifrado:
- Cifrado basado en contraseña
- Cifrado basado en certificados
- Una directiva creada por el servicio 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 cifrado de PDF.
- 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 (requerido 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 mediante programación una operación de servicio Encryption, debe crear un cliente de servicio Encryption. Si está usando la API del servicio de cifrado de Java, cree un objeto EncrytionServiceClient. Si está usando la API del servicio de cifrado del servicio web, cree un objeto EncryptionServiceService.
Obtener el documento cifrado de PDF
Obtenga un documento de PDF para determinar el tipo de cifrado que lo protege.
Determinar el tipo de cifrado
Puede determinar el tipo de cifrado que protege un documento de PDF. Si el documento de PDF no está protegido, el servicio Encryption le informa de que el documento de PDF no está protegido.
Consulte también
Determine el tipo de cifrado mediante la API de Java
Determinar el tipo de cifrado mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Determine 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 de cliente, como adobe-encryption-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente de servicios.
- Cree un objeto
ServiceClientFactoryque contenga propiedades de conexión. - Cree un objeto
EncryptionServiceClientutilizando su constructor y pasando el objetoServiceClientFactory.
- Cree un objeto
-
Obtenga el documento cifrado de PDF.
- Cree un objeto
java.io.FileInputStreamque represente el documento de PDF utilizando su constructor y pasando un valor de cadena que especifique la ubicación del documento de PDF. - Cree un objeto
com.adobe.idp.Documentutilizando su constructor y pasando el objetojava.io.FileInputStream.
- Cree un objeto
-
Determine el tipo de cifrado.
- Determine el tipo de cifrado invocando el método
getPDFEncryptiondel objetoEncryptionServiceClienty pasando el objetocom.adobe.idp.Documentque contiene el documento de PDF. Este método devuelve un objetoEncryptionTypeResult. - Invoque el método
getEncryptionTypedel objetoEncryptionTypeResult. Este método devuelve un valor de enumeraciónEncryptionTypeque especifica el tipo de cifrado. Por ejemplo, si el documento de PDF está protegido con cifrado basado en contraseña, este método devuelveEncryptionType.PASSWORD.
- Determine el tipo de cifrado invocando el método
Consulte también
Inicio rápido (modo SOAP): Determinación del tipo de cifrado mediante la API de Java
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 de WSDL:
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de servicios.
-
Cree un objeto
EncryptionServiceClientutilizando su constructor predeterminado. -
Cree un objeto
EncryptionServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/EncryptionService?WSDL). No necesita utilizar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio). -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoEncryptionServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asigne el nombre de usuario de los formularios AEM Forms al campo
EncryptionServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
EncryptionServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asigne el nombre de usuario de los formularios AEM Forms al campo
-
-
Obtenga el documento cifrado de PDF.
- Crear un objeto
BLOBmediante su constructor. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento de PDF cifrado y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando el contenido de la matriz de bytes al miembro de datosMTOMdel objetoBLOB.
- Crear un objeto
-
Determine el tipo de cifrado.
- Invoque el método
getPDFEncryptiondel objetoEncryptionServiceClienty pase el objetoBLOBque contiene el documento de PDF. Este método devuelve un objetoEncryptionTypeResult. - Obtenga el valor del método de datos
encryptionTypedel objetoEncryptionTypeResult. Por ejemplo, si el documento de PDF está protegido con cifrado basado en contraseña, el valor de este miembro de datos esEncryptionType.PASSWORD.
- Invoque el método
Consulte también
Invocar AEM Forms mediante MTOM
Invocar AEM Forms mediante SwaRef