for smart cards and single sign-on
Edition 1
Legal Notice
Abstract
- About This Guide
- 1. Introduction to the Enterprise Security Client
- 2. Installing the Enterprise Security Client
- 3. Using the Enterprise Security Client
- 4. Using Security Officer Mode
- 5. Using Smart Cards for Web and Mail Clients
- 6. Setting up Enterprise Security Client
- Public-key cryptography and the Secure Sockets Layer (SSL) protocol
- Intranet, extranet, Internet security, and the role of digital certificates in a secure enterprise
- LDAP and Red Hat Directory Server
- Chapter 1, Introduction to the Enterprise Security Client provides an introduction to the Certificate System.
- Section 2.1, “Supported Platforms for the Client” provides information about supported platforms for the Enterprise Security Client.
- Chapter 2, Installing the Enterprise Security Client provides information on how to install and uninstall the Enterprise Security Client on the supported platforms.
- Chapter 3, Using the Enterprise Security Client provides instructions on using the Enterprise Security Client for token enrollment, formatting, and password reset operations.
- Chapter 5, Using Smart Cards for Web and Mail Clients describes how to use the Enterprise Security Client keys for SSL and S/MIME authentication.
- Chapter 6, Setting up Enterprise Security Client provides information on configuring the Enterprise Security Client.
/usr/bin directory. These tools can be run from any location without specifying the tool location.
| Formatting Style | Purpose |
|---|---|
Monospace font
| Monospace is used for commands, package names, files and directory paths, and any text displayed in a prompt. |
Monospace with a background | This type of formatting is used for anything entered or returned in a command prompt. |
| Italicized text | Any text which is italicized is a variable, such as instance_name or hostname. Occasionally, this is also used to emphasize a new term or other phrase. |
| Bolded text | Most phrases which are in bold are application names, such as Cygwin, or are fields or options in a user interface, such as a User Name Here: field or button. |
NOTE
IMPORTANT
WARNING
- Select the Red Hat Certificate System product.
- Set the component to
Doc - enterprise-security-guide. - Set the version number to 8.1.
- For errors, give the page number (for the PDF) or URL (for the HTML), and give a succinct description of the problem, such as incorrect procedure or typo.For enhancements, put in what information needs to be added and why.
- Give a clear title for the bug. For example,
"Incorrect command example for setup script options"is better than"Bad example".
| Revision History | |||
|---|---|---|---|
| Revision 8.1-5.400 | 2013-10-31 | ||
| |||
| Revision 8.1-5 | May 26, 2011 | ||
| |||
| Revision 8.1-0 | March 21, 2011 | ||
| |||
- Supports Global Platform-compliant smart cards like Gemalto 64K V2 and Safenet 300J Java smart cards.
- Enrolls security tokens so they are recognized by TPS.
- Maintains the security token, such as re-enrolling a token with TPS.
- Provides information about the current status of the token or tokens being managed.
- Supports server-side key generation through the TPS and DRM subsystems so that keys can be archived and recovered on a separate token if a token is lost.
- A user inserts a smart card into the card reader. This is detected by the pluggable authentication modules (PAM) on Red Hat Enterprise Linux.
- The system maps the certificate to the user entry and then compares the presented certificates on the smart card to the certificates stored in the user entry.
- If the certificate is successfully validated against the key distribution center (KDC), then the user is allowed to log in.
- The Token Processing System (TPS) interacts with smart cards to help them generate and store keys and certificates for a specific entity, such as a user or device. Smart card operations go through the TPS and are forwarded to the appropriate subsystem for action, such as the Certificate Authority to generate certificates or the Data Recovery Manager to archive and recover keys.
- The Token Key Service (TKS) generates, or derives, symmetric keys used for communication between the TPS and smart card. Each set of keys generated by the TKS is unique because they are based on the card's unique ID. The keys are formatted on the smart card and are used to encrypt communications, or provide authentication, between the smart card and TPS.
- The Certificate Authority (CA) creates and revokes user certificates stored on the smart card.
- Optionally, the Data Recovery Manager (DRM) archives and recovers keys for the smart card.
- Send and receive encrypted and signed emails with Microsoft Outlook.
- Visit SSL-protected websites with Microsoft Internet Explorer.
- Access certain VPN clients using the smart card, which provides secure access to protected networks.
- Log into a Windows server or domain using the smart card, as long as the infrastructure required for smart card login has been properly set up.
- When a smart card is enrolled with the Enterprise Security Client, the newly created certificates are automatically inserted into the user's CAPI store.
- When a smart card is formatted, the certificates associated with that card are removed from the CAPI store.
- When a user inserts a properly enrolled card, the certificates on that card are automatically written to the CAPI store. The certificates are then removed when the card is removed from the computer.
- When using applications such as Microsoft Outlook or Microsoft Internet Explorer, the user may be prompted to enter the smart card's password. This is required when the smart card is asked to perform protected cryptographic operations such as creating digital signatures.
- The Mac Keychain Access utility can be used to view the certificates and keys on Certificate System tokens.
- The Apple Mail client can be used to send and view signed and encrypted emails using Certificate System tokens.
- The Apple Safari browser can use Certificate System tokens to log onto secure SSL web sites.
- Red Hat Enterprise Linux 5.x (x86)
- Red Hat Enterprise Linux 5.x (x86_64)
- Red Hat Enterprise Linux 6.x (x86)
- Red Hat Enterprise Linux 6.x (x86_64)
- Microsoft Windows Vista 32-bit
- Microsoft Windows Vista 64-bit
- Microsoft Windows XP 32-bit
- Microsoft Windows XP 64-bit
- Apple Mac OS X 10.5.8 and higher (Leopard)
- Safenet 330J Java smart cards
- Gemalto 64K V2 tokens, both as a smart card and GemPCKey USB form factor key
- Gemalto GCx4 72K and TOPDLGX4 144K common access cards (CAC)
- Oberthur ID One V5.2 common access cards (CAC)
- Personal identity verification (PIV) cards, compliant with FIPS 201
NOTE
- SCM SCR331 CCID
- OMNIKEY 3121
- Downloading an ISO image or packages through the Red Hat Network channel
- Using the Red Hat
yumutility
yum command-line utility, as follows:
# yum install esc
yum command completes successfully, all of the necessary Enterprise Security Client RPMs will be installed and ready for use.
NOTE
yum utility was used to install the Enterprise Security Client, there is no need for further installation; the client has already been installed. The following procedure is for installing from a CD image.
- As
root, install the Enterprise Security Client packages. On Red Hat Enterprise Linux 5.6 (32-bit), these packages are already installed, and can be updated usingyum. For example:yum install esc coolkey Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package esc.x86_64 0:1.1.0-9.el5 set to be updated ---> Package coolkey.x86_64 0:1.1.0-9.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: esc x86_64 1.1.0-9.el5 base 522 k Installing for dependencies: coolkey x86_64 1.1.0-9.el5 base 90 k Transaction Summary ============================================================================= Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 612 k Is this ok [y/N]: y
/usr/lib/esc-1.1.0 on Red Hat Enterprise Linux 32-bit systems and /usr/lib64/esc-1.1.0 on Red Hat Enterprise Linux 64-bit system. The esc shell script is installed in /usr/bin/esc. The Enterprise Security Client can be launched by typing esc at a command prompt.
escd) which runs silently, waiting for a smart card to be inserted. When an unenrolled smart card is inserted, the daemon automatically launches the client UI, and the Enterprise Security Client guides the user through the enrollment process. The client can also be launched manually by selecting System Settings, then Smart Card Manager, from the menu.
- Unplug all USB tokens.
- Stop the Enterprise Security Client.
- Log in as
root, and userpm -evto remove the Enterprise Security Client RPMs in the following order:NOTE
Update the version numbers of the RPM files to match your version.# rpm -ev coolkey # rpm -ev esc
- Remove any remaining files in the installation directory.
SmartCardManagerSetup-1.1.0-X.win32.i386.exe.
CoolKeySetup-version.win64.x64.exe, to use the Enterprise Security Client to manage certificates for email and browser clients.
NOTE
- In the Red Hat Network page for Certificate System, select the 32-bit or 64-bit channel.

- Click the tab in the channel.
- Download the Enterprise Security Client installer and (for 64-bit systems) CoolKey libraries.

- Next, double-click the
SmartCardManagerSetup-1.1.0-X.win32.i386.exefile to launch the Enterprise Security Client installation program. - Click Next to being going through the installer, and then accept the license agreement.

- The wizard displays the list of packages that will be installed.

- The wizard prompts for the installation directory for the Enterprise Security Client. The default directory is
C:\Program Files\Red Hat\ESC.
- The wizard prompts for the Start Menu directory for the Enterprise Security Client. The default directory is
Red Hat.
- Proceed through the Enterprise Security Client installation wizard. Click to begin installing the Enterprise Security Client components.
NOTE
The installation process also installs the CoolKey PKCS #11 driver needed for Certificate System-supported keys and automatically installs the Certificate System PKCS #11 module in any Mozilla browsers it can locate. The installer places the Certificate System Cryptographic Service Provider (CSP) on the user's system to allow users to use their smart cards with Microsoft products such as Outlook and Internet Explorer.
- When the installation has completed, the Enterprise Security Client will prompt the user to insert a token, and can then be launched for immediate use.

- Click to complete the installation. The machine has to be restarted after installing the Enterprise Security Client, so, if possible, select the Yes radio button to restart the machine immediately.

- For 64-bit systems only. Last, double-click the
CoolKeySetup-version.win64.x64.exefile to install the required 64-bit CoolKey libraries.
esc-prefs.js file. This contains all of the customization for the client, like using a CAPI store, setting a Phone Home URL, and disabling the password prompt. The esc-prefs.js parameters are listed in Table 6.1, “esc-prefs.js Parameters”.
/EscConfig= argument with the installer. This can be used multiple times in the same invocation to set multiple parameters. For example:
./SmartCardManagerSetup-1.1.0-11.win32.exe /EscConfig=esc.global.alt.nss.db=c:\common-nss-db /EscConfig=esc.global.phone.home.url=http:/test.host.com:7888/cgi-bin/home/index.cgi /EscConfig=esc.tps.message.timeout=60
- Unplug all USB tokens.
- Stop the Enterprise Security Client.
- Open the Control Panel, and click the Add Remove Programs icon.
- In the list of available programs, click Smart Card Manager, and click .
- When the uninstallation is complete, remove any remaining files in the installation directory.
SmartCardManagerversion.dmg.
- Download the
SmartCardManager-1.1.0-X.OSX4.darwin.dmgfile from the Red Hat Network channel. - Double-click the
SmartCardManager-1.1.0-X.OSX4.darwin.dmgfile to display the Enterprise Security Client Volume.Inside the Volume is theSmartCardManager-1.1.X.pkgfile. - Drag the
SmartCardManager-1.1.X.pkgfile to an accessible location (for example, the desktop), to install the Enterprise Security Client. - Install the Enterprise Security Client package, as follows:
- Double-click the
SmartCardManager-1.1.X.pkgfile to launch the installer.
- Read the software license agreement, and click if you accept the terms.
- Select the installation destination.

- Click (or , if shown), to begin the installation.

- Enter the administrator password, and click to start the installation.

- When the installation is complete, click .

- Windows. When right-clicked, the tray icon shows a simple menu with options to Manage Smart Card, which opens the Enterprise Security Client interface, and to Exit Smart Card Manager, which stops the Enterprise Security Client process. Clicking the X in the top right corner minimizes Enterprise Security Client to the tray. Double-clicking the tray icon brings Enterprise Security Client to the front. There are also notification messages, shown as standard balloon tool tips, on events like inserting or removing a card.
- Linux. The tray icon appears only if the notification area in Gnome has been enabled. The tray icon options are identical to the Windows options. Clicking the X in the top left corner closes the current window and minimizes Enterprise Security Client to the tray.
- Mac. On Mac, the tray is called the dock. Since Enterprise Security Client is based on Mozilla, right-clicking on the Enterprise Security Client dock icon reveals all the standard Mozilla Firefox menu options, including options to hide, show, and quit the client. The Enterprise Security Client also has a menu item called Manage Smart Cards in the dock menu, which opens the card management UI. The top level application menu has a menu under Go, Manage Smart Card, which also opens the card management window.
escd) from the command line:
esc

NOTE
op.format.userKey.issuerinfo.enable=true op.format.userKey.issuerinfo.value=http://server.example.com
esc-prefs.js file for the esc.global.phone.home.url parameter.
esc-prefs.js, has a parameter which allows a global Phone Home URL default to be set. This parameter is esc.global.phone.home.url and is not in the file by default.
- Remove any existing Enterprise Security Client user profile directory. Profile directories are created automatically when a smart card is inserted.
- On Red Hat Enterprise Linux, the profile directory is
~/.redhat/esc. - On Windows, the profile directory is
C:\Documents and Settings\user_name\Application Data\RedHat\ESC. - On Mac, the profile directory is
~/Library/Application Support/ESC.
- Open the
esc-prefs.jsfile.- On Red Hat Enterprise Linux 5.6 (32-bit), the profile directory is
/usr/lib/esc-1.1.0/defaults/preferences. On 64-bit systems, this is/usr/lib64/esc-1.1.0/defaults/preferences. - On Windows, the profile directory is
C:\Program Files\Red Hat\ESC\defaults\preferences. - On Mac, the profile directory is
/Applications/ESC.app/Contents/Resources/defaults/preferences.
- Add the global Phone Home parameter line to the
esc-prefs.jsfile. For example:pref("esc.global.phone.home.url","http://server.example.com:7888/cgi-bin/home/index.cgi");The URL can reference a machine name, a fully-qualified domain name, or an IPv4 or IPv6 address, depending on the DNS and network configuration.
- The preferred method is that the information is burned onto the token at the factory. When the tokens are ordered from the manufacturer, the company supplies detailed information on how the tokens should be configured when shipped.
- If tokens are blank, the company IT department can supply the information when formatting small groups of tokens.
~/.redhat/esc/alphanumeric_string.default/prefs.js file:
- The TPS server and port. For example:
"esc.key.
token_ID.tps.url" = "http://server.example.com:7888/nk_service" - The TPS enrollment interface URL. For example:
"esc.key.
token_ID.tps.enrollment-ui.url" = "http://server.example.com:7888/cgi_bin/esc.cgi?" - The issuing company name or ID. For example:
"esc.key.
token_ID.issuer.name" = "Example Corp" - The Phone Home URL. For example:
"esc.key.
token_ID.phone.home.url" = "http://server.example.com:7888/cgi-bin/home/index.cgi?" - Optionally, a default browser URL to access when an enrolled smart card is inserted.
"esc.key.
token_ID.EnrolledTokenBrowserURL" = "http://www.test.example.com"
prefs.js file are listed in Table 6.2, “prefs.js Parameters”.
NOTE
index.cgi in the /var/lib/pki-tps/cgi-bin/home directory; this prints the Phone Home information to XML.
Example 3.1. TPS Phone Home Configuration File
<ServiceInfo><IssuerName>Example Corp</IssuerName>
<Services>
<Operation>http://server.example.com:7888/nk_service ## TPS server URL
</Operation>
<UI>http://server.example.com:7888/cgi_bin/esc.cgi ## Optional
Enrollment UI
</UI>
<EnrolledTokenBrowserURL>http://www.test.url.com ## Optional
enrolled token url
</EnrolledTokenBrowserURL>
</Services>
</ServiceInfo>http://server.example.com:7888/cgi-bin/home/index.cgi; the URL can reference the machine name, fully-qualified domain name, or an IPv4 or IPv6 address, as appropriate. When the TPS configuration URI is accessed, the TPS server is prompted to return all of the Phone Home information to the Enterprise Security Client.
CS.cfg:
auth.instance.0.baseDN=dc=example,dc=comauth.instance.0.hostport=server.example.com:389
/usr/bin/ldapmodify -a -D "cn=Directory Manager" -w secret-p 389 -h server.example.comdn: uid=jsmith,ou=People,dc=example,dc=comobjectclass: person objectclass: inetorgperson objectclass: top uid: jsmith cn: John Smith email: jsmith@example.com userPassword: secret
NOTE
- Ensure that the Enterprise Security Client is running.
- Insert an uninitialized smart card, pre-formatted with the Phone Home information for the TPS and the enrollment interface URL for the user's organization.The smart card can be added either by placing a USB form factor smart card into a free USB slot, or by inserting a standard, full-sized smart card into a smart card reader.When the system recognizes the smart card, it displays a message indicating it has detected an uninitialized smart card.

- Click to display the smart card enrollment form.
NOTE
If you remove the card at this point, a message displays stating that the smart card can no longer be detected. Reinsert the card to continue with the enrollment process.The enrollment files are accessed remotely; they reside on the TPS instance. If the network connection is bad or broken, then, an error may come up saying Check the Network Connection and Try Again. It is also possible that the enrollment window appears to open but the enrollment process doesn't proceed. The enrollment pages can be cached if the Enterprise Security Client previously connect to them successfully, so the enrollment UI opens even if the network is offline. Try restarting Enterprise Security Client and check the network connection. - Because the Smart Card Manager now knows where the enrollment UI is located (it is included in the Phone Home information), the enrollment form is displayed for the user to enter the required information.
This illustration shows the default enrollment UI included with the TPS server. This UI is a standard HTML form, which you can customize to suit your own deployment requirements. This could include adding a company logo or adding and changing field text.See Section 6.4, “Customizing the Smart Card Enrollment User Interface” for information on customizing the UI. - The sample enrollment UI requires the following information for the TPS server to process the smart card enrollment operation:
- LDAP User ID. This is the LDAP user ID of the user enrolling the smart card; this can also be a screen name or employee or customer ID number.
- LDAP Password. This is the password corresponding to the user ID entered; this can be a simple password or a customer number.
NOTE
The LDAP user ID and password are related to the Directory Server user. The TPS server is usually associated with a Directory Server, which stores user information and through which the TPS authenticates users.Passwords must conform to the password policy configured in the Directory Server.NOTE
If the password is stored using the SSHA hash, then any exclamation point (!) and dollar sign ($) characters in the password must be properly escaped for a user to bind successfully to the Enterprise Security Client on Windows XP and Vista systems.- For the dollar sign ($) character, escape the dollar sign when the password is created:
\$
Then, enter only the dollar sign ($) character when logging into the Enterprise Security Client. - For the exclamation point (!) character, escape the character when the password is created and when the password is entered to log into the Enterprise Security Client.
\!
- Password and Re-Enter Password. These fields set and confirm the smart card's password, used to protect the card information.
- After you have entered all required information, click Enroll My Smart Card to submit the information and enroll the card.
- When the enrollment process is complete, a message page opens which shows that the card was successfully enrolled and can offer custom instructions on using the newly-enrolled smart card.

- Insert a supported smart card into the computer. Ensure that the card is listed in the Active Smart Cards table.
- In the Smart Card Functions section of the Manage Smart Cards screen, click .
- If the TPS has been configured for user authentication, enter the user credentials in the authentication dialog, and click .
- During the formatting process, the status of the card changes to BUSY and a progress bar is displayed. A success message is displayed when the formatting process is complete. Click to close the message box.
- When the formatting process is complete, the Active Smart Cards table shows the card status as UNINITIALIZED.
- Insert a supported smart card into the computer. Ensure that the card is listed in the Active Smart Cards table.
- In the Smart Card Functions section of the Manage Smart Cards screen, click to display the Password dialog.
- Enter a new smart card password in the Enter new password field.
- Confirm the new smart card password in the Re-Enter password field, and then click .

- If the TPS has been configured for user authentication, enter the user credentials in the authentication dialog, and click .
- Wait for the password to finish being reset.
- Insert a supported smart card into the computer. Ensure that the card is listed in the Active Smart Cards table.
- Select the card from the list, and click .
This displays basic information about the certificates stored on the card, including the serial number, certificate nickname, and validity dates. - To view more detailed information about a certificate, select the certificate from the list and click .

- Open the CA's end user pages in a web browser.
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab at the top.
- In the left menu, click the Import CA Certificate Chain link.
- Choose the radio button to download the chain as a file, and remember the location and name of the downloaded file.
- Open the Enterprise Security Client.

- Click the button.

- Click the Authorities tab.
- Click Import.

- Browse to the CA certificate chain file, and select it.
- When prompted, confirm that you want to trust the CA.
- Open the Enterprise Security Client.

- Click the button.

- Click the Servers tab.
- Click Add Exception.

- Enter the URL, including any port numbers, for the site or service which the smart card will be used to access. Then click the button to download the server certificate for the site.

- Click to add the site to the list of allowed sites.
NOTE
- Insert a supported, unenrolled smart card into the computer. Ensure that the card is listed in the Active Smart Cards table.
- Click to display the Password dialog.
- Enter a new key password in the Enter a password field.Confirm the new password in the Re-Enter a password field.
- Click to begin the enrollment.
- If the TPS has been configured for user authentication, enter the user credentials in the authentication dialog, and click .If the TPS has been configured to archive keys to the DRM, the enrollment process will begin generating and archiving keys.

- Ensure that the Enterprise Security Client has been installed on the Mac computer.
- Use the Enterprise Security Client to enroll a token, enabling it with the correct certificates and key information.
- Insert the enrolled token into a USB slot.
- If TokenD is working, the token blinks for a few seconds while the information is obtained from the token. This is because the Mac CDSA layer is making a request for data.
- Open the Mac
Keychain Accessutility inApplications/Utilities/ - Find the new
$Keychainentry in the list of valid chains. The chain has the key's UID in its name. - Click the CoolKey KeyChain to view the certificates and keys on the token.
- Open the Enterprise Security Client.

- Select the smart card to check from the list.
- Click the button.

- This opens the window for the selected smart card.

- The Enterprise Security Client version number.
- The version information for the Xulrunner framework upon which the client is running.
- The number of cards detected by the Enterprise Security Client.
- The version of the applet running on the smart card.
- The alpha-numeric ID of the smart card.
- The card's status, which can be any of the three things:
- NO_APPLET No key was detected.
- UNINITIALIZED. The key was detected, but no certificates have been enrolled.
- ENROLLED. The detected card has been enrolled with certificate and card information.
- The card's Phone Home URL. This is the URL from which all Phone Home information is obtained.
- The card issuer name, such as
Example Corp. - The card's answer-to-reset (ATR) string. This is a unique value that can be used to identify different classes of smart cards. For example:
3BEC00FF8131FE45A0000000563333304A330600A1
- The TPS Phone Home URL.
- The TPS server URL. This is retrieved through Phone Home.
- The TPS enrollment form URL. This is retrieved through Phone Home.
- Detailed information about each certificate contained on the card.
- A running log of the most recent Enterprise Security Client errors and common events.
- The Enterprise Security Client does not recognize a card.
- Problems occur during a smart card operation, such as a certificate enrollment, password reset, or format operation.
- The Enterprise Security Client loses the connection to the smart card. This can happen when problems occur communicating with the
PCSCdaemon. - The connection between the Enterprise Security Client and TPS is lost.
tps-debug.log or tps-error.log files, depending on the cause for the message.
Table 3.1. Smart Card Error Codes
| Return Code | Description |
|---|---|
| General Error Codes | |
| 6400 | No specific diagnosis |
| 6700 | Wrong length in Lc |
| 6982 | Security status not satisfied |
| 6985 | Conditions of use not satisfied |
| 6a86 | Incorrect P1 P2 |
| 6d00 | Invalid instruction |
| 6e00 | Invalid class |
| Install Load Errors | |
| 6581 | Memory Failure |
| 6a80 | Incorrect parameters in data field |
| 6a84 | Not enough memory space |
| 6a88 | Referenced data not found |
| Delete Errors | |
| 6200 | Application has been logically deleted |
| 6581 | Memory failure |
| 6985 | Referenced data cannot be deleted |
| 6a88 | Referenced data not found |
| 6a82 | Application not found |
| 6a80 | Incorrect values in command data |
| Get Data Errors | |
| 6a88 | Referenced data not found |
| Get Status Errors | |
| 6310 | More data available |
| 6a88 | Referenced data not found |
| 6a80 | Incorrect values in command data |
| Load Errors | |
| 6581 | Memory failure |
| 6a84 | Not enough memory space |
| 6a86 | Incorrect P1/P2 |
| 6985 | Conditions of use not satisfied |
- Simple events such as card insertions and removals, successfully completed operations, card operations that result in an error, and similar events.
- Errors are reported from the TPS to the Enterprise Security Client.
- The NSS crypto library is initialized.
- Other low-level smart card events are detected.
- The ability to search for an individual within an organization.
- An interface that displays a photo and other pertinent information about an individual.
- The ability to enroll approved individuals.
- Formatting or resetting a user's card.
- Formatting or resetting a security officer's card.
- Enrolling a temporary card for a user that has misplaced their primary card.
- Storing TPS server information on a card. This Phone Home information is used by the Enterprise Security Client to contact a given TPS server installation.
- Creating and managing security officers.
- Managing regular users by security officers.
TIP
esc-prefs.js file.
- Add the security officer user entry to the TPS database as a member of the TUS Officers group. This group is created by default in the TPS LDAP database and is the expected location for all security officer user entries.
TIP
It can be simpler to add and copy user entries in the LDAP database using the Red Hat Directory Server Console. Using the Directory Server Console is described in the Red Hat Directory Server Administrators Guide in section 3.1.2, "Creating Directory Entries."There are two subtrees associated with the TPS, each associated with a different database. (Commonly, both databases can be on the same server, but that is not required.)The LDAP directory and the suffix are defined in the token profile in the TPS- The first suffix, within the authentication database, is for external users; the TPS checks their user credentials against the directory to authenticate any user attempting to enroll a smart card. This has a distinguished name (DN) like
dc=server,dc=example,dc=com. - The other database is used for internal TPS instance entries, including TPS agents, administrators, and security officers. This subtree is within the internal database for the TPS, which includes the token database. This subtree has a DN based on the TPS server, like
dc=server.example.com-pki-tps. The TUS Officers group entry is under thedc=server.example.com-pki-tpssuffix.
CS.cfgfile in theauthIdandbaseDNparameters for the security officer's auth instance. For example:auth.instance.1.authId=ldap2 auth.instance.1.baseDN=dc=sec officers,dc=server.example.com-pki-tps
Any security officer entry has to be a child entry of the TUS Officers group entry. This means that the group entry is the main entry, and the user entry is directly beneath it in the directory tree.The TUS Officers group entry iscn=TUS Officers,ou=Groups,dc=server.example.com-pki-tps.For example, to add the security officer entry usingldapmodify:/usr/lib/mozldap/ldapmodify -a -D "cn=Directory Manager" -w secret -p 389 -h server.example.com dn:
uid=jsmith,cn=TUS Officers,ou=Groups,dc=server.example.com-pki-tps objectclass: inetorgperson objectclass: organizationalPerson objectclass: person objectclass: top sn: smith uid: jsmith cn: John Smith mail: jsmith@example.com userPassword: secretPress the Enter key twice to send the entry, or use Ctrl+D.
- First, trust the CA certificate chain.
NOTE
This step is only required if the certificate is not yet trusted in the Enterprise Security Client database.If you want to point the Enterprise Security Client to a database which already contains the required certificates, use theesc.global.alt.nss.dbin theesc-prefs.jsfile to point to another database.- Open the CA's end-entities page.
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab, and download the CA certificate chain.
- Open the Enterprise Security Client.
esc
- Click the View Certificates button.
- Click the Authorities tab.
- Click the button, and import the CA certificate chain.
- Set the trust settings for the CA certificate chain.
- Then, format and enroll the security officer's token. This token is used to access the security officer Enterprise Security Client UI.
- Insert a blank token.
- When the prompt for the Phone Home information opens, enter the security officer URL.
/var/lib/pki-tps/cgi-bin/so/index.cgi
- Click the button to format the security officer's token.
- Close the interface and stop the Enterprise Security Client.
- Add two parameters in the
esc-prefs.jsfile. The first,esc.disable.password.prompt, sets security officer mode. The second,esc.security.url, points to the security officer enrollment page. Just the presence of theesc.security.urlparameter instructs the Enterprise Security Client to open in security officer mode next time it opens.pref("esc.disable.password.prompt","no"); pref("esc.security.url","https://server.example.com:7888/cgi-bin/so/enroll.cgi"); - Start the Enterprise Security Client again, and open the UI.
esc
- The Enterprise Security Client is configured to connect to the security officer enrollment form in order to enroll the new security officer's token. Enroll the token as described in Section 4.2, “Enrolling a New Security Officer”.
- Close the interface and stop the Enterprise Security Client.
- Edit the
esc-prefs.jsfile again, and this time change theesc.security.urlparameter to point to the security officer workstation page.pref("esc.security.url","https://server.example.com:7889/cgi-bin/sow/welcome.cgi"); - Restart the Enterprise Security Client again. The UI now points to the security officer workstation to allow security officers to enroll tokens for regular users.
escd process, and comment out the esc.security.url and esc.disable.password.prompt lines in the esc-prefs.js file. When the esc process is restarted, it starts in normal mode.
- Make sure the
escprocess is running.esc
With security officer mode enabled in theesc-pref.jsfile (Section 4.1, “Enabling Security Officer Mode”), the security officer enrollment page opens. - In the Security Officer Enrollment window, enter the LDAP user name and password of the new security officer and a password that will be used with the security officer's smart card.

NOTE
If the password is stored using the SSHA hash, then any exclamation point (!) and dollar sign ($) characters in the password must be properly escaped for a user to bind successfully to the Enterprise Security Client on Windows XP and Vista systems.- For the dollar sign ($) character, escape the dollar sign when the password is created:
\$
Then, enter only the dollar sign ($) character when logging into the Enterprise Security Client. - For the exclamation point (!) character, escape the character when the password is created and when the password is entered to log into the Enterprise Security Client.
\!
- Click .
- Make sure the
escprocess is running. If necessary, start the process.esc
Also, make sure that security officer mode is enabled, as described in Section 4.1, “Enabling Security Officer Mode”. - Then open the Enterprise Security Client UI.
NOTE
Ensure that there is a valid and enrolled security officer card plugged into the computer. A security officer's credentials are required to access the following pages.
- Click to display the security officer Station page. The client prompts for the password for the security officer's card (which is required for SSL client authentication) or to select the security officer's signing certificate from the drop-down menu.
- Click the link to display the Security Officer Select User page.

- Enter the LDAP name of the user who is to receive a new smart card.
- Click . If the user exists, the Security Officer Confirm User page opens.
- Compare the information returned in the Enterprise Security Client UI to the person or credentials that are present.
- If all the details are correct, click to display the Security Officer Enroll User page. This page prompts the officer to insert a new smart card into the computer.
- If the smart card is properly recognized, enter the new password for this card and click .
- Make sure the
escprocess is running. If necessary, start the process.esc
Also, make sure that security officer mode is enabled, as described in Section 4.1, “Enabling Security Officer Mode”. - Then open the Enterprise Security Client UI.
NOTE
Ensure that there is a valid and enrolled security officer card plugged into the computer. A security officer's credentials are required to access the following pages.
- Click to display the security officer Station page. If prompted, enter the password for the security officer's card. This is required for SSL client authentication.
- Select the operation from the menu (enrolling a temporary token, formatting the card, or setting the Phone Home URL).

- Continue the operation as described in Chapter 3, Using the Enterprise Security Client.
IMPORTANT
- Make sure that security officer mode is enabled, as described in Section 4.1, “Enabling Security Officer Mode”.
- Open the Enterprise Security Client UI.
NOTE
Ensure that there is a valid and enrolled security officer card plugged into the computer. A security officer's credentials are required to access the following pages.
- Click to display the security officer Station page. If prompted, enter the password for the security officer's card. This is required for SSL client authentication.
- Select the operation from the menu (enrolling a temporary token, formatting the card, or setting the Phone Home URL).

- Click . Because the security officer card is already inserted, the following screen displays:

- Click to begin the operation.
Table 5.1. PKCS #11 Module Locations
| Platform | Module Name | Location |
|---|---|---|
| Red Hat Enterprise Linux | libcoolkeypk11.so | /usr/lib/ |
| Windows | coolkeypk11.dll | C:\Windows\System32\ |
| Mac OS X 10.5.8 and higher | libcoolkeypk11.dylib | /Library/Application Support/CoolKey/PKCS11 |
- In Mozilla Firefox, open the menu, choose , and then click .
- Open the tab.
- Add a PKCS #11 driver.
NOTE
Windows and Mac systems automatically attempt to load the PKCS #11 module to any Mozilla browsers they find. Only load the PKCS#11 modules manually if there is a problem detecting the module automatically or if a browser is installed after Enterprise Security Client is installed.- Click to open the Device Manager window, and then click the button.
- Enter a module name, such as
token key pk11 driver. - Click , find the Enterprise Security Client PKCS #11 driver, and click . The PKCS #11 module used by these applications, by default, is located in
/usr/lib/libcoolkeypk11.so.
- If the CA is not yet trusted, download and import the CA certificate.
- Open the SSL End Entity page on the CA. For example:
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab, and then click Import CA Certificate Chain.
- Click Download the CA certificate chain in binary form and then click .
- Choose a suitable directory to save the certificate chain, and then click .
- Click , and select the Advanced tab.
- Click the button.
- Click , and import the CA certificate.
- Set the certificate trust relationships.
- Click , and select the Advanced tab.
- Click the button.
- Click , and set the trust for websites.
- In Mozilla Thunderbird, open the menu, choose , and then click .
- Open the tab.
- Add a PKCS #11 driver.
- Click to open the Device Manager window.
- Click the button.
- Enter the module name, such as
token keypk11 driver. - Click , find the Enterprise Security Client PKCS #11 driver, and click . The PKCS #11 module used by these applications, by default, is located in
/usr/lib/libcoolkeypk11.so.
- If the CA is not yet trusted, download and import the CA certificate.
- Open the SSL End Entity page on the CA. For example:
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab, and then click Import CA Certificate Chain.
- Click Download the CA certificate chain in binary form and then click .
- Choose a suitable directory to save the certificate chain, and then click .
- In Mozilla Thunderbird, open the menu, choose , and then click .
- Open the tab, and click the button.
- Click the tab, and import the CA certificate.
- Set up the certificate trust relationships.
- In Mozilla Thunderbird, open the menu, choose , and then click .
- Open the tab, and click the button.
- In the Authorities tab, select the CA, and click the button.
- Set the trust settings for identifying websites and mail users.
- In the Digital Signing section of the Security panel, click to choose a certificate to use for signing messages.
- In the Encryption of the Security panel, click to choose the certificate to encrypt and decrypt messages.
- Enroll a smart card that contains your email address in the certificate, such as Section 3.5, “Enrolling a Smart Card Automatically”.For convenience, the TPS server cand be configured to use an LDAP directory for user and email information. This is covered in Section 3.4, “Setting up Users to Be Enrolled”.
- Download the CA certificate.
- Open the SSL End Entity page on the CA. For example:
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab, and then click Import CA Certificate Chain.
- Select the Display certificates in the CA certificate chain for importing individually into a server radio button.
- The browser displays a list of certificates in base-64 format. Pick the first blob displayed, and create and save a text file, with a name like
ca.cer.
- Import the CA certificate text file using the Apple KeyChain utility, and set the trust options.
- Click on the System keyhchain.
- In the main menu, click .
- Browse to the location where the CA certificate file,
ca.cer, is saved. - During the import operation, agree to trust the certificate always.
- Insert the enrolled CoolKey token.
- When the KeyChain access utility opens, the new keychain, with your name, is displayed.
- Locate the certificates under the smart card's keychain.
- Drag and drop the smart card certificates into the login keychain.
NOTE
- A local interface, based on XUL and JavaScript
- A web-hosted interface which can be used for remote access, based on CGIs, HTML, and JavaScript
- A wide UI widget set and greater control over the presentation.
- Local markup to the client machine, so it has a greater privilege level than HTML.
- JavaScript as the scripting language for convenient program logic scripting and the ability to leverage XPCOM technology.
esc-prefs.js, which is installed with Enterprise Security Client. The second one is prefs.js in the Mozilla profiles directory, which is created when the Enterprise Security Client is first launched.
- On Windows, this is in
C:\Program Files\Red Hat\ESC\defaults\preferences\esc-prefs.js. - On Red Hat Enterprise Linux 32-bit, this is in
/usr/lib/esc-1.1.0/defaults/preferences/esc-prefs.js. - On Red Hat Enterprise Linux 64-bit, this is in
/usr/lib64/esc-1.1.0/defaults/preferences/esc-prefs.js. - On Mac, this is in
~/Desktop/ESC.app/defaults/preferences/esc-prefs.js.
esc-prefs.js file specifies the default configuration to use when the Enterprise Security Client is first launched. This includes parameters to connect to the TPS subsystem, to use CAPI on Windows, set the password prompt, and configure Phone Home information. Each setting is prefaced by the word pref, then the parameter and value are enclosed in parentheses. For example:
pref(parameter,value);
esc-prefs.js file parameters are listed in Table 6.1, “esc-prefs.js Parameters”. The default esc-prefs.js file is shown in Example 6.1, “Default esc-prefs.js File”.
Table 6.1. esc-prefs.js Parameters
| Parameter | Description | Notes and Defaults |
|---|---|---|
| toolkit.defaultChromeURI | Defines the URL for the Enterprise Security Client to use to contact the XUL Chrome page. | ("toolkit.defaultChromeURI", "chrome://esc/content/settings.xul") |
| esc.tps.message.timeout | Sets a timeout period, in seconds, for connecting to the TPS. | ("esc.tps.message.timeout","90"); |
| esc.windows.do.capi | Enables the client to connect to Windows CAPI. This writes newly-created certificates to the local CAPI store after an enrollment operation and removes those certificates when the formatting operation is complete. | ("esc.windows.do.capi","yes"); |
| esc.disable.password.prompt |
Enables the password prompt, which means that a password is required to read the certificate information off the smart card.
The password prompt is disabled by default, so anyone can use the Enterprise Security Client. However, in security contexts, like when a company uses security officers to manage token operations, then enable the password prompt to restrict access to the Enterprise Security Client.
|
("esc.disable.password.prompt","yes");
|
| esc.global.phone.home.url |
Sets the URL to use to contact the TPS server.
Normally, the Phone Home information is set on the token already through its applet. If a token does not have Phone Home information, meaning it has no way to contact the TPS server, then the Enterprise Security Client checks for a global default Phone Home URL.
This setting is only checked if it is explicitly set. This setting also applies to every token formatted through the client, so setting this parameter forces all tokens to point to the same TPS. Only use this parameter if that specific behavior is desired.
|
("esc.global.phone.home.url", "http://server.example.com:7888/cgi-bin/home/index.cgi");
|
| esc.global.alt.nss.db |
Points to a directory that contains a common security database that is used by all Enterprise Security Client users on the server.
This setting is only checked if it is explicitly set. If this is not set, then each user accesses only each individual profile security database, rather than a shared database.
NOTE
Even though Windows uses back slashes in its directory paths, make sure to use forward slashes ( /) for the path in this parameter on Windows systems. If forward slashes are not used, then the Enterprise Security Client cannot locate the database and user authentication will fail.
|
prefs("esc.global.alt.nss.db", "C:/Documents and Settings/All Users/shared-db");
|
Example 6.1. Default esc-prefs.js File
#pref("toolkit.defaultChromeURI", "chrome://esc/content/settings.xul"); pref("signed.applets.codebase_principal_support",true); for internal use only pref("capability.principal.codebase.p0.granted", "UniversalXPConnect"); for internal use only pref("capability.principal.codebase.p0.id", "file://"); for internal use only pref("esc.tps.message.timeout","90"); #Do we populate CAPI certs on windows? pref("esc.windows.do.capi","yes"); #Sample Security Officer Enrollment UI #pref("esc.security.url","http://test.host.com:7888/cgi-bin/so/enroll.cgi"); #Sample Security Officer Workstation UI #pref("esc.security.url","https://dhcp-170.sjc.redhat.com:7889/cgi-bin/sow/welcome.cgi"); #Hide the format button or not. pref("esc.hide.format","no"); #Use this if you absolutely want a global phone home url for all tokens #Not recommended! #pref("esc.global.phone.home.url","http:/test.host.com:7888/cgi-bin/home/index.cgi");
- On Windows, this is in
C:\Documents and Settings\$USER\Application Data\RedHat\ESC\Profiles\alphanumeric_string.default/prefs.js. - On Red Hat Enterprise Linux, this is in
~/.redhat/esc/.alphanumeric_string.default/prefs.js - On Mac, this is in
~/Library/Application Support/ESC/Profiles.
NOTE
prefs.js file. Editing this file is tricky. The prefs.js file is generated and edited dynamically by the Enterprise Security Client, and manual changes to this file are overwritten when the Enterprise Security Client exits.
Table 6.2. prefs.js Parameters
| Parameter | Description | Notes and Defaults |
|---|---|---|
| esc.tps.url | Sets a URL for the Enterprise Security Client to use to connect to the TPS. This is not set by default. | |
esc.key.token_ID.tps.url
|
Sets the hostname and port to use to contact a TPS.
If this Phone Home information was not burned into the card at the factory, it can be manually added to the card by adding the TPS URL, an enrollment page URL, the issuer's name, and Phone Home URL.
|
("esc.key.token_ID.tps.url" = "http://server.example.com:7888/nk_service");
|
| esc.key.token_ID.tps.enrollment-ui.url |
Gives the URL to contact the enrollment page for enroll certificates on the token.
If this Phone Home information was not burned into the card at the factory, it can be manually added to the card by adding the TPS URL, an enrollment page URL, the issuer's name, and Phone Home URL.
| ("esc.key.token_ID.tps.enrollment-ui.url" = "http://server.example.com:7888/cgi_bin/esc.cgi?"); |
| esc.key.token_ID.issuer.name |
Gives the name of the organization enrolling the token.
| ("esc.key.token_ID.issuer.name" = "Example Corp"); |
| esc.key.token_ID.phone.home.url |
Gives the URL to use to contact the Phone Home functionality for the TPS.
The global Phone Home parameter sets a default to use with any token enrollment, if the token does not specify the Phone Home information. By setting this parameter to a specific token ID number, the specified Phone Home parameter applies only to that token.
| ("esc.key.token_ID.phone.home.url" = "http://server.example.com:7888/cgi-bin/home/index.cgi?"); |
| esc.security.url |
Points to the URL to use for security officer mode.
If this is pointed to the security officer enrollment form, then the Enterprise Security Client opens the forms to enroll security officer tokens. If this is pointed to the security officer workstation URL, then it opens the workstation to enroll regular users with security officer approval.
|
("esc.security.url","https://server.example.com:7888/cgi-bin/so/enroll.cgi");
|
/usr/lib[64]/esc-1.1.0/chrome/content/esc/.
Table 6.3. Main XUL Files
| Filename | Purpose |
|---|---|
| settings.xul | Contains the code for the Settings page. |
| esc.xul | Contains the code for the Enrollment page. |
| config.xul | Contains the code for the configuration UI. |
Table 6.4. Main JavaScript Files
| Filename | Purpose |
|---|---|
| ESC.js | Contains most of the Smart Card Manager JavaScript functionality. |
| TRAY.js | Contains the tray icon functionality. |
| AdvancedInfo.js | Contains the code for the Diagnostics feature. |
| GenericAuth.js | Contains the code for the authentication prompt. This prompt is configurable from the TPS server, which requires dynamic processing by the Smart Card Manager. |
Table 6.5. Main Directories for the Enterprise Security Client
| Platform | Location | ||
|---|---|---|---|
| Windows | C:\Program Files\Red Hat\ESC | ||
| Red Hat Enterprise Linux |
| ||
| Mac | /Applications, but users can drag the ESC.app directory anywhere |
Table 6.6. Enterprise Security Client File and Directory Locations on Windows
| File or Directory | Purpose |
|---|---|
| C:\Program Files\Red Hat\ESC | Main directory. |
| application.ini | XULRunner application configuration file |
| components\ | XPCOM components directory. |
| chrome\ | Directory for Chrome components and additional application files for Enterprise Security Client XUL and JavaScript. |
| defaults\ | Enterprise Security Client default preferences. |
| esc.exe | The executable which launches Enterprise Security Client in XULRunner. |
| xulrunner\ | Privately-deployed XULRunner bundle. |
/usr/lib/esc-1.1.0/esc. On Red Hat Enterprise Linux 64-bit systems, the installation directory is /usr/lib64/esc-1.1.0/esc.
NOTE
Table 6.7. Enterprise Security Client File and Directory Locations on Red Hat Enterprise Linux
| File or Directory | Purpose |
|---|---|
| application.ini | XULRunner application configuration file. |
| components/ | XPCOM components. |
| chrome/ | Directory for Chrome components and additional application files for Enterprise Security Client XUL and JavaScript. |
| defaults/ | Enterprise Security Client default preferences. |
| esc | The script which launches the Enterprise Security Client. |
ESC.app.
Table 6.8. Enterprise Security Client File and Directory Locations on Mac
| File or Directory | Purpose |
|---|---|
| Contents/ |
Privately deployed XUL framework
|
| application.ini | Enterprise Security Client XULRunner application configuration file. |
| components/ | Enterprise Security Client XPCOM components. |
| chrome/ | Directory for Chrome components and additional application files for Enterprise Security Client XUL and Javascript. |
| defaults/ | Enterprise Security Client default preferences. |
| xulrunner | The script which launches Enterprise Security Client. |
- Download the CA certificate used by the TPS.
- Open the CA's end user pages in a web browser.
http
s://server.example.com:9444/ca/ee/ca/ - Click the Retrieval tab at the top.
- In the left menu, click the Import CA Certificate Chain link.
- Choose the radio button to download the chain as a file, and remember the location and name of the downloaded file.
- Open the Enterprise Security Client.

- Import the CA certificate.
- Click the button.

- Click the Authorities tab.
- Click Import.

- Browse to the CA certificate chain file, and select it.
- When prompted, confirm that you want to trust the CA.
- The Enterprise Security Client needs to be configured to communicate with the TPS over SSL; this is done by setting the Phone Home URL, which is the default URL the Enterprise Security Client uses to connect to the TPS.
- Insert a new, blank token into the machine.Blank tokens are unformatted, so they do not have an existing Phone Home URL, and the URL must be set manually. Formatted tokens (tokens can be formatted by the manufacturer or by your IT department) already have the URL set, and thus do not prompt to set the Phone Home URL.
- Fill in the new TPS URL with the SSL port information. For example:
http
s://server.example.com:7890/cgi-bin/home/index.cgi - Click the button to send a message to the TPS.If the request is successful, the client opens a dialog box saying that the Phone Home URL was successfully obtained.
- Stop the Enterprise Security Client.
- Create the security database directory and the databases that will be shared. Before configuring the Enterprise Security Client, the databases must exist, be readable by the client, and contain the certificates that will be used by the client.NSS databases can be created using the
certutilcommand. See thecertutildocumentation, such as http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html, for more information. - Open the
esc-prefs.jsfile.vim /usr/lib/esc-1.1.0/defaults/preferences/esc-prefs.js
- Add the
esc.global.alt.nss.dbparameter, pointing to the directory which contains the shared database.prefs("esc.global.alt.nss.db", "C:/Documents and Settings/All Users/common_db");NOTE
Even though Windows uses back slashes in its directory paths, make sure to use forward slashes (/) for the path in this parameter on Windows systems. If forward slashes are not used, then the Enterprise Security Client cannot locate the database and user authentication will fail. - When the Enterprise Security Client is restarted, the configuration changes will be applied.
/var/lib/pki-tps/cgi-bin/home/Enroll.htmlfor regular enrollments/var/lib/pki-tps/cgi-bin/so/Enroll.htmlfor security officer enrollments/var/lib/pki-tps/cgi-bin/sow/Enroll.htmlfor security officer workstation enrollments (users enrolled through the security officer UI)NOTE
The security officer workstation directory contains other HTML files for other token operations, such as formats and PIN resets.
docroot/ directory, such as /var/lib/pki-tps/docroot/esc/sow for the security officer enrollment file in /var/lib/pki-tps/cgi-bin/sow.
Example 6.2. Changing Page Text
<!-- Change the title if desired --> <title>Enrollment</title> ... <p class="headerText">Smartcard Enrollment</p> ... <!-- Insert customized descriptive text here. --> <p class="bodyText">You have plugged in your smart card!After answering a few easy questions, you will be able to use your smart card.</p> <p class="bodyText">Now we would like you to identify yourself.</p> ... <table> <tr> <td><p >LDAP User ID:</p></td> <td> </td> <td><input type="text" id="snametf" value=""></td> </tr> </table>
style.css CSS style sheet and the logo image, logo.png.
Example 6.3. Changing Page Styles
<link rel=stylesheethref="/esc/home/style.css"type="text/css"> ... <table width="100%" class="logobar"> <tr> <td> <img alt=""src="/home/logo.jpg"> </td> <td> <p class="headerText">Smartcard Enrollment</p> </td> </tr> </table>
style.css file is a standard CSS file, so all of the tags and classes can be defined as follows:
body {
background-color: grey;
font-family: arial;
font-size: 7p
}Enroll.html files is through the JavaScript file which sets the page functionality. This file controls features like the progress meter, as well as processing the inputs which are used to authenticate the user to the user directory.
Example 6.4. Changing Page Script
<progressmeter id="progress-id" hidden="true" align = "center"/> ... <table> <tr> <td><p >LDAP User ID: </p></td> <td> </td> <td><input type="text"id="snametf"value=""></td> </tr> </table>
WARNING
util.js file. If this file is improperly edited, it can break the Enterprise Security Client UI and prevent tokens from being enrolled.
/var/lib/pki-tps/cgi-bin/home/Enroll.html file is in Example 6.5, “Complete Enroll.html File”.
Example 6.5. Complete Enroll.html File
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel=stylesheet href="/esc/home/style.css" type="text/css">
<title>Enrollment</title>
</head>
<script type="text/JavaScript" src="/esc/home/util.js">
</script>
<body onload="InitializeBindingTable();" onunload=cleanup()>
<progressmeter id="progress-id" hidden="true" align = "center"/>
<table width="100%" class="logobar">
<tr>
<td>
<img alt="" src="/home/logo.jpg">
</td>
<td>
<p class="headerText">Smartcard Enrollment</p>p
</td>
</tr>
</table>
<table id="BindingTable" width="200px"align="center">
<tr id="HeaderRow">
</tr>
</table>
<p class="bodyText">You have plugged in your smart card! After answering a few easy questions, you will be able to use your smart card.
</p>p
<p class="bodyText">
Now we would like you to identify yourself.
</p>p
<table>
<tr>
<td><p >LDAP User ID: </p>p</td>
<td> </td>
<td><input type="text" id="snametf" value=""></td>
<td> </td>
<td><p>LDAP Password: </p>p</td>
<td> </td>
<td><input type="password" id="snamepwd" value=""></td>
</tr>
</table>
<p class="bodyText"> Before you can use your smart card, you will need a password to protect it.</p>p
<table>
<tr>
<td><p >Password:</p>p</td>
<td><input type="password" id="pintf" name="pintf" value=""></td>
<td><p >Re-Enter Password:</p>p</td>
<td><input type="password" id="reenterpintf" name="reenterpintf" value=""></td>
</table>
<br>
<table width="100%">
<tr>
<td align="right">
<input type="button" id="enrollbtn" name="enrollbtn" value="Enroll My Smartcard" onClick="DoEnrollCOOLKey();">
</td>
</tr>
</table>
</body></html>- Stop the TPS subsystem.
service pki-tps stop
- Open the TPS configuration file.
vim /var/lib/pki-tps/conf/CS.cfg
- Set the authentication parameters to
false.op.
operation_type.token_type.loginRequest.enable=false op.operation_type.token_type.auth.enable=falseThe operation_type is the token operation for which LDAP authentication is being disabled, such asenroll,format, orpinreset. Disabling authentication for one operation type does not disable it for any other operation types.The token_type is the token profile. There are default profiles for regular users, security officers, and the users enrolled by security officers. There can also be custom token types for other kinds of users or certificates.For example:op.
enroll.userKey.loginRequest.enable=false op.enroll.userKey.pinReset.enable=false - Restart the TPS subsystem.
service pki-tps start



