Acrobat JavaScript Scripting Guide
221
Security
Digital IDs and Certification Methods
12
An example is given below:
// Obtain the security handler:
var ppklite = security.getHandler("Adobe.PPKLite");
// Create the relative distinguished name:
var newRDN = {
cn: "newUser",
c: "US"
};
// Create the certificate policy information:
var newCPS = {
oid: "1.2.3.4.5",
url: "http://newca.com/newCPS.html",
notice: "This is a self-generated certificate"
};
// Create the new user’s certificate:
security.newUser({
cPassword: "newUserPassword",
cDIPath: "/C/newUser.pfx",
oRDN: newRDN,
oCPS: newCPS,
bUI: false
});
The 
securityHandler
object has a 
DigitalIDs
property that contains the 
certificates associated with the currently selected digital IDs for the security handler. The 
DigitalIDs
property is a generic object containing the following properties:
oEndUserSignCert
: the certificate used when signing
oEndUserCryptCert
: the certificate used when encrypting
certs
: an array of certificates corresponding to all the digital IDs
stores
: an array of strings (one for every 
certificate
object) indicating where the 
digital IDs are stored
You may use the 
security
object’s 
exportToFile
method to save a certificate file to 
disk. In the following example, the signing certificate is written to disk:
// Obtain the security handler:
var sh = security.getHandler("Adobe.PPKMS");
// Obtain the certificates:
var ids = sh.DigitalIDs;
// Write the signing certificate to disk:
security.exportToFile(ids.oEndUserSignCert, "/C/mySignCert.cer");
Create pdf bookmarks from word - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark page in pdf; pdf bookmark
Create pdf bookmarks from word - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
convert excel to pdf with bookmarks; how to bookmark a page in pdf document
Security
Digital IDs and Certification Methods
12
222
Acrobat JavaScript Scripting Guide
Using Digital IDs (Default Certificate Security)
As you learned earlier, you may obtain signature information from a signature field by 
invoking its 
signatureInfo
method. In addition to this, you may also use an existing 
certificate to create a digital ID. To do this, obtain the certificate from an existing, signed 
field and create the relative distinguished name using the information it contains, as shown 
in the following example:
// Obtain the security handler:
var ppklite = security.getHandler("Adobe.PPKLite");
// Obtain the signature field:
var f = this.getField("existingSignature");
// Validate the signature:
f.signatureValidate();
// Obtain the signature information:
var sigInfo = f.signatureInfo();
// Obtain the certificates and distinguished name information
var certs = sigInfo.certificates;
var rdn = certs[0].subjectDN;
// Now create the digital signature:
ppklite.newUser({
cPassword: "newUserPassword",
cDIPath: "/C/newUser.pfx",
oRDN: rdn,
});
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
copy pdf bookmarks to another pdf; add bookmarks to pdf preview
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmarks in pdf reader; acrobat split pdf bookmark
Acrobat JavaScript Scripting Guide
223
Security
Digital IDs and Certification Methods
12
Managing Digital IDs (Windows Certificate Security)
directory
object is a repository of user information, including public key certificates. 
On Windows, the 
Adobe.PPKMS
security handler provides access, through the Microsoft 
Active Directory Script Interface (ADSI), to the directories created by the user. These are 
created sequentially with the names 
Adobe.PPKMS.ADSI.dir0
Adobe.PPKMS.ADSI.dir1
, etc. In this case, the 
Adobe.PPKMS.ADSI
directory 
handler includes the directory information object properties shown below in Table 12.6:
For example, the following code displays information for an existing directory:
// Obtain the security handler:
var ppkms = security.getHandler("Adobe.PPKMS");
// Obtain the directory information object:
var info = ppkms.directories[0].info;
// Display some of the directory information:
console.println("Directory: " + info.dirStdEntryName);
console.println("Address: " + info.server + ":" + info.port);
T
ABLE
12.6
Adobe.PPKMS.ADSI Directory Handler Object Properties
Property
Description
server
The server hosting the data
port
The port number (standard LDAP port is 389)
searchBase
Used to narrow the search to a section of the directory
maxNumEntries
Maximum number of entries retrieved from search
timeout
Maximum time allowed for search
VB.NET PDF File Split Library: Split, seperate PDF into multiple
how to split a PDF file into multiple ones by PDF bookmarks or outlines Valid value for each index: 1 to (Page Count - 1). ' Create output PDF file path
create bookmark pdf; editing bookmarks in pdf
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
create bookmarks in pdf; how to add bookmarks to a pdf
Security
Digital IDs and Certification Methods
12
224
Acrobat JavaScript Scripting Guide
Managing Digital ID Certificates
Sharing Digital ID Certificates
You may share a self-signed digital ID certificate by exporting it as an FDF file. To do this, 
sign the FDF file by invoking the 
FDF
object’s 
signatureSign
method, which works 
similarly to that of the 
doc
object. Its usage is illustrated in the example below:
// Obtain the security handler:
var eng = security.getHandler("Adobe.PPKLite");
// Access the digital ID:
eng.login("myPassword", "/C/myID.pfx");
// Open the FDF:
var myFDF = app.openFDF("/C/myFDF.fdf");
// Sign the FDF:
if (!myFDF.isSigned) {
// Sign the FDF
myFDF.signatureSign({
oSig: eng,
nUI: 1,
cUISignTitle: "Sign Embedded File FDF",
cUISelectMsg: "Please select a digital ID"
});
// Save the FDF
myFDF.save("/C/myFDF.fdf");
}
Building a List of Trusted Identities
The trust level associated with a digital ID is stored in the 
trustFlags
property defined in 
the 
signatureInfo
object’s public key security handler properties. The bits in this 
number indicate the level of trust associated with the signer, and are valid only when the 
status
property has a value of 
4
. These trust settings are derived from those in the 
recipient’s trust database, such as the Acrobat Address Book (
Adobe.AAB
). The following 
bit assignments are described below:
1
: trusted for signatures
2
: trusted for certifying documents
3
: trusted for dynamic content such as multimedia
4
: Adobe internal use
5
: the JavaScript in the PDF file is trusted to operate outside the normal PDF restrictions
C# Create PDF Library SDK to convert PDF from other file formats
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
pdf reader with bookmarks; bookmarks pdf
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
create bookmark pdf file; bookmark pdf reader
Acrobat JavaScript Scripting Guide
225
Security
Digital IDs and Certification Methods
12
Checking Information on Certificates
As you learned earlier, you may obtain a certificates through the 
certificates
property 
of a 
signatureInfo
object, which is returned by a call to the signature field’s 
signatureInfo
method. The certificate properties are described above in Table 12.3, 
and the relative distinguished name properties are defined in Table 12.5
In the following example, the signer’s common name, the certificate’s serial number, and 
the distinguished name information are displayed:
// Obtain the signature field:
var f = this.getField("mySignatureField");
// Validate the signature field:
var status = f.signatureValidate();
// Obtain the signature information
var sigInfo = f.signatureInfo();
// Obtain the certificate:
var cert = sigInfo.certificates[0];
console.println("signer’s common name: " + cert.subjectCN);
console.println("serial number: " + cert.serialNumber);
// Distinguished name information:
console.println("distinguished common name: " + cert.subjectDN.cn);
console.println("distinguished organization: " + cert.subjectDN.o);
.NET PDF SDK - Description of All PDF Processing Control Feastures
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create. Create PDF from Word (docx, doc
create pdf bookmarks online; export pdf bookmarks to text file
VB.NET Create PDF Library SDK to convert PDF from other file
Create multipage PDF from OpenOffice and CSV file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc.
add bookmark to pdf reader; add bookmarks to pdf file
Security
Digital IDs and Certification Methods
12
226
Acrobat JavaScript Scripting Guide
Tokenized Acrobat JavaScript Security Model
In order to maintain security for cases in which Acrobat JavaScript connects to data sources 
external to the current document without user interaction (excluding console and batch 
sequences), a token-based security scheme is used to match and validate JavaScript 
resources and operations (a resource is defined as the combination of a protocol and a host). 
Each JavaScript is provisionally granted a token, which is matched against the resource.
The methods and properties shown below in Table 12.7 use this token-based security 
model:
T
ABLE
12.7
Methods and Properties Using Tokenized Security Model
Method/Property
Description
doc.submitForm
Get/send
doc.getURL
Send
doc.mailDoc
Send when 
bUI
is 
false
doc.mailForm
Send when 
bUI
is 
false
doc.save
May mark doc with data sources
doc.saveAs
May mark doc with data sources
soap.connect
Get/send
soap.request
Get/send
soap.response
Get/send
ADBC.newConnection Get/send
app.activeDocs
Get
app.openDoc
Get
app.global
Get
Acrobat JavaScript Scripting Guide
227
13
Rights-Enabled PDF Files
Introduction
When creating a PDF document, it is possible to create certified documents by assigning 
special rights to it that enable users of Adobe Reader to fill in forms, participate in online 
reviews, and attach files. LiveCycle Reader Extensions
®
may be used to activate additional 
functionality within Adobe Reader for a particular document, thereby enabling the user to 
save, fill in, annotate, sign, certify, authenticate, and submit the document, thus 
streamlining collaboration for document reviews and automating data capture with 
electronic forms. In addition, users of Acrobat Professional can Reader-enable 
collaboration.
Chapter Goals
At the end of this chapter, you will be able to:
List the additional usage rights that can be enabled in a PDF document.
Understand the roles of Adobe Document Server and LiveCycle Reader Extensions.
Understand how Reader-enabled PDF documents affect the usage of Acrobat 
JavaScript.
Understand how to enable collaboration
Understand how the security model is related to additional usage rights.
Contents
Topics
Additional Usage Rights
LiveCycle Reader Extensions
Writing Acrobat JavaScript for Reader
Enabling Collaboration
Rights-Enabled PDF Files
Additional Usage Rights
13
228
Acrobat JavaScript Scripting Guide
Additional Usage Rights
Livecycle Reader Extensions sets permissions within a PDF document that would otherwise 
be disabled through the usage of a certificate issued by the Adobe Reader-Extension Root 
Certificate Authority. Permissions for Reader-enabled PDF files (also known as certified PDF 
documents) are determined by the combination of the user rights settings in the PDF file 
and and a special Object Identifier (OID), embedded within the certificate, specifying the 
additional permissions to be made available. The permissions are listed below:
Form: fill-in and document full-save
Form: import and export
Form: add and delete
Form: submit standalone
Form: spawn template
Signature: modify
Annotation: create, delete, modify, and copy
Annotation: import and export
Form: barcode plain text
Annotation: online
Form: online
Embedded File: create, delete, modify, copy, and import
LiveCycle Reader Extensions
During the design process, a PDF document may be created through the usage of LiveCycle 
Designer
®
, LiveCycle Forms
®
, or Adobe Document Server
®
. Then the document creator 
may assign appropriate usage rights using the LiveCycle Reader Extensions. The PDF 
document is made available on the Web, and users may complete the form on the web site, 
or save it locally and subsequently complete and annotate it, digitally sign it, add 
attachments, and return it.
In effect, LiveCycle Reader Extensions will enable functionality within Adobe Reader for a 
given document that is not normally available. After the user has finished working with the 
document, those functions will be disabled until the user receives another rights-enabled 
PDF file.
One major advantage of LiveCycle Reader Extensions is that it supports data automation 
through XML-based representation and transfer via SOAP, thus ensuring seamless 
integration with business logic and advanced data transport capabilities available within 
enterprise applications.
Acrobat JavaScript Scripting Guide
229
Rights-Enabled PDF Files
Writing Acrobat JavaScript for Reader
13
Writing Acrobat JavaScript for Reader
It is possible to access or assign additional usage rights within a PDF file by using the 
LiveCycle Reader Extensions API or its Web user interface.
N
OTE
:
For rights-enabled documents, certain editing features normally available within 
the Acrobat Standard and Professional products will be disabled. This will ensure 
that the user does not inadvertantly invalidate the additional usage rights in a 
document under managed review before passing the document on to an Adobe 
Reader user for further commenting.
The methods shown below in Table 13.1 will be disabled by LiveCycle Reader Extensions:
T
ABLE
13.1
Features Disabled by Livecycle Reader Extensions
Features
Methods
delete, add, replace, and move pages doc.deletePages
,
doc.newPage
,
doc.replacePages
,
doc.movePage
,
doc.insertPage
modify page content
doc.addWatermarkFromText
,
doc.addWatermarkFromFile
,
doc.flattenPages
,
doc.deleteSound
add or modify JavaScripts
doc.setAction
,
doc.setPageAction
,
field.setAction
,
link.setAction
,
ocg.setAction
,
bookmark.setAction
,
this.importAnFDF
Rights-Enabled PDF Files
Writing Acrobat JavaScript for Reader
13
230
Acrobat JavaScript Scripting Guide
In Acrobat Standard and Professional, the following controls will be disabled for rights-
enabled documents:
Menu items under Advanced > JavaScript that allow the addition or modification of 
JavaScripts (except for the Debugger).
Menu items under Advanced > Forms that allow the creation, modification, or deletion 
of form fields (except the Import and Export menu items).
Certain operations within Document Properties > Security Panel will be marked as 
Not Allowed.
In addition, since the following menu operations will be affected in Acrobat Standard and 
Professional, so will their corresponding JavaScript methods, indicated below in Table 13.2:
T
ABLE
13.2
Controls Affected by Livecycle Reader Extensions in Acrobat Standard and 
Professional
Menu Operation
Equivalent JavaScript Method
File > Reduce File Size
app.execMenuItem
Document > Pages > Insert
doc.insertPage
Document > Pages > Replace
doc.replacePages
Document > Pages > Delete
doc.deletePages
Document > Pages > Crop
doc.setPageBoxes
Document > Pages > Rotate
doc.setPageRotations
Document > Pages > Set Page 
Transitions
app.defaultTransitions 
(read-only),
doc.setPageTransitions
Document > Pages > Number 
Pages
doc.setPageLabels
Document > Add Watermark & 
Background
doc.addWatermarkFromText
,
doc.addWatermarkFromFile
Edit > Add Bookmark
bookmark.createChild
Documents you may be interested
Documents you may be interested