Protect Your Code with Password Encryption

You can have forms in several ways in your application, from pretty straight forward input forms to very complex forms with lots of business logic in them. A great feature of a PDF-form is that you open this in Designer and can edit / view all the code inside your form. Although this is a great feature, you don’t want to expose your code to external developers.
This blogpost will explain how to protect your code with password encryption which is standard available in the Livecycle foundation.

I start with a simple render form process with a reader extensions operation after it

 

 

 

 

This will generate you a Reader extended form, which you just can open in Designer.

Adding password encryption

Next step is to add the step with the password encryption; in here you also have the option to assign a DocumentOpen password. This will prompt all users to enter a password when they want to open the form. What we want is that a user is only prompted whenever the form is opened in Designer. This is done via “Permissions Password”, you can enter the password here that is required to edit the form.

 

 

 

 

 

Here you see the step added in the process

 

 

When you open this document now in Reader / Acrobat, you will see a change in the title bar, it says now (SECURED).

 

Opening this document in Designer will prompt you now for a password.

 

 

 

 

Taking it a step further

When you have multiple processes that render forms you don’t want to maintain all the password encryption settings in every process. What you can to is to create a sub-process with encryption step in it, via a configuration parameter you can maintain the password you want to assign. Then you have no hardcoded passwords, and the system-administrator can maintain this via /adminui without the involvement of a developer.

Here you see the sub-process and the original process that is now calling the subprocess.

 

 

 

 

 

And now via /adminui you can set the password of the password encryption.

 

 

 

 

 

I have attached the lca-file to this blogpost so you can have a look at the processes yourself.

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

About Feike Visser

Feike Visser (@heervisscher) is an experienced consultant working in the EMEA-region. Feike has done live implementations at large enterprises like NATO, BBC, Philips, Deutsche Bank, HMRC, HSBC.
This entry was posted in Adobe LiveCycle ES2 (9.0.x) and tagged . Bookmark the permalink.

Comments are closed.