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

Quick Start: Encrypting a PDF document with a certificate using the web service API
The following C# 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.)
/*
 * Ensure that you create a .NET client assembly that uses 
 * base64 encoding. This is required to populate a BLOB 
 * object with data or retrieve data from a BLOB object.
 * 
 * For information, see "Invoking LiveCycle ES using Base64 Encoding" 
 * in Programming with LiveCycle ES
 */
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.IO ;
 
namespace PKIEncryptPDF
{
class Class1
{
[STAThread]
 
static void Main(string[] args)
	{
	try
	{
		//Create an EncryptionServiceService client object
		EncryptionServiceService  encryptionClient = new EncryptionServiceService(); 
		encryptionClient.Credentials = new System.Net.NetworkCredential("administrator", "password");
 
		//Create a BLOB object to store the PDF document 
		BLOB inDoc = new BLOB();
 
		//Specify the PDF document to encrypt
		string path = "C:\\Adobe\\Loan.pdf";
		FileStream fs = new FileStream(path, FileMode.Open);
 
		//Get the length of the file stream 
		int len = (int)fs.Length; 
		byte[] ByteArray=new byte[len];
 
		//Populate the byte array with the contents of the FileStream object
		fs.Read(ByteArray, 0, len);
		inDoc.binaryData = ByteArray; 
 
		//Create a Recipient object to store certificate information
		Recipient recipient = new Recipient();
 
		//Create a BLOB object to store certificate information 
		BLOB cert = new BLOB();
 
		//Specify the location of the certificate
		string certPath = "C:\\Adobe\\Encryption.cer";
		FileStream fsCert = new FileStream(certPath, FileMode.Open);
 
		//Get the length of the file stream 
		int lenCert = (int)fsCert.Length; 
		byte[] cerByteArray=new byte[lenCert];
 
		//Populate the byte array with the contents of the FileStream object
		fsCert.Read(cerByteArray, 0, lenCert);
		cert.binaryData = cerByteArray; 
		
		//Assign the certificate to the Recipient object
		recipient.x509Cert=cert;
				
		//Create a CertificateEncryptionIdentity object
		CertificateEncryptionIdentity encryptionId = new CertificateEncryptionIdentity(); 
		encryptionId.recipient = recipient;
		
		//Create an Object array that is passed to the encryptPDFUsingCertificates method
		Object[] cerInfo = new Object[1];
		cerInfo[0] = encryptionId;
		
		//Create a CertificateEncryptionOptionSpec
		//object that stores encryption run-time values
		CertificateEncryptionOptionSpec pkiSpec = new CertificateEncryptionOptionSpec();
 
		//Specify the PDF document resource to encrypt
		pkiSpec.option=CertificateEncryptionOption.ALL;
 
		//Specify the Acrobat version
		pkiSpec.compat=CertificateEncryptionCompatibility.ACRO_7;
 
		//Encrypt the PDF document with a certificate
		BLOB outDoc = encryptionClient.encryptPDFUsingCertificates(inDoc,cerInfo,pkiSpec); 
 
		//Populate a byte array with a BLOB data
		byte[] outByteArray=outDoc.binaryData; 
 
		//Create a new file that represents the encrypted PDF document
		string FILE_NAME = "C:\\Adobe\\EncryptLoanCert.pdf" ; 
		FileStream fs2 = new FileStream(FILE_NAME, FileMode.OpenOrCreate);
 
		//Create a BinaryWriter object
		BinaryWriter w = new BinaryWriter(fs2);
		w.Write(outByteArray);
		w.Close();
		fs2.Close();
		}
 
	catch (Exception ee)
		{
			Console.WriteLine(ee.Message);  
		}
	}
 }
}
 

API Quick Starts (Code Examples) > Encryption Service API Quick Starts > Quick Start: Encrypting a PDF document with a certificate using the web service 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/000057.html