API Quick Starts (Code Examples) > Encryption Service API Quick Starts > Quick Start: Encrypting a PDF document with a certificate using the Java API

Quick Start: Encrypting a PDF document with a certificate using the Java API
The following Java code example encrypts a PDF document named Loan.pdf with a certificate named Encryption.cer. The encrypted PDF document is saved as a PDF file named EncryptLoanCert.pdf. (See Encrypting PDF Documents with Certificates.)
/*
 * This Java Quick Start uses the following JAR files
 * 1. adobe-encryption-client.jar
 * 2. adobe-livecycle-client.jar
 * 3. adobe-usermanager-client.jar
 * 4. adobe-utilities.jar
 * 5. jbossall-client.jar (use a different JAR file if LiveCycle ES is not deployed on JBoss)
 * 
 *  These JAR files are located in the following path:
 * <install directory>/Adobe/LiveCycle8/LiveCycle_ES_SDK/client-libs
 * 
 * For complete details about the location of these JAR files, 
 * see "Including LiveCycle ES library files" in Programming 
 * with LiveCycle ES
 */
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
 
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.livecycle.encryption.client.*;
 
public class PKIEncryptPDF {
 
	public static void main(String[] args) {
		
		try{
			//Set connection properties required to invoke LiveCycle ES								
			Properties connectionProps = new Properties();
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://localhost:1099");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);          
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
			connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
		
			//Create a ServiceClientFactory instance
			ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
 
			//Create an EncryptionServiceClient object
			EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory); 
		
			//Specify the PDF document to encrypt with a certificate
			FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\\Loan.pdf");	
			Document inDoc = new Document (fileInputStream); 
 
			//Set the List that stores PKI information
			List pkiIdentities = new ArrayList(); 
				
			//Set the Permission List
			List permList = new ArrayList();
			permList.add(CertificateEncryptionPermissions.PKI_ALL_PERM) ;
				
			//Create a Recipient object to store certificate information
			Recipient recipient = new Recipient();
				
			//Specify the private key that is used to encrypt the document
			FileInputStream fileInputStreamCert = new FileInputStream("C:\\Adobe\\Encryption.cer");	
			Document privateKey = new Document (fileInputStreamCert); 
			recipient.setX509Cert(privateKey);
										
			//Create an EncryptionIdentity object
			CertificateEncryptionIdentity encryptionId = new CertificateEncryptionIdentity(); 
			encryptionId.setPerms(permList);
			encryptionId.setRecipient(recipient);
				
			//Add the EncryptionIdentity to the list
			pkiIdentities.add(encryptionId);
			
			//Set encryption run-time options
			CertificateEncryptionOptionSpec certOptionsSpec = new CertificateEncryptionOptionSpec(); 
			certOptionsSpec.setOption(CertificateEncryptionOption.ALL);
			certOptionsSpec.setCompat(CertificateEncryptionCompatibility.ACRO_7);
							
			//Encrypt the PDF document with a certificate
			Document encryptDoc = encryptClient.encryptPDFUsingCertificates(inDoc,pkiIdentities, certOptionsSpec); 
		
			//Save the encrypted PDF document
			File outFile = new File("C:\\Adobe\\EncryptLoanCert.pdf");
			encryptDoc.copyToFile (outFile);
 
			}catch (Exception e) {
				e.printStackTrace();
			}
	}
}
 

API Quick Starts (Code Examples) > Encryption Service API Quick Starts > Quick Start: Encrypting a PDF document with a certificate using the Java API

Programming with LiveCycle ES (LiveDocs)
Adobe LiveCycle ES Update 1

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/000056.html