This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0.
A copy of this license is available at http://www.opencontent.org/openpub1. Any Red Hat trademarks that are
incorporated in the documentation are not subject to the Open Publication License and may only be used or replicated
with the express permission of Red Hat, Inc.
1
http://www.opencontent.org/openpub
Red Hat Certificate System Enterprise Security Client Guide
4.1. Windows ............................................................................................51
4.2. Red Hat Enterprise Linux ....................................................................51
4.3. Mac OS X ..........................................................................................51
Index .......................................................................................................................53
v
vi
Chapter 1.
Introduction
The Red Hat Certificate System creates, manages, renews, and deletes certificates and keys
within an organization. There are five subsystems which govern the behavior of the public-key
infrastructure (PKI) of the organization:
• The Certificate Authority (CA), which creates, renews, and revokes certificates.
• The Data Recovery Manager (DRM), which archives and recovers keys.
• The Online Certificate Status Manager, which stores lists of revoked certificates for client
applications to use to check if a certificate is valid.
• The Token Processing System (TPS), which interacts with smart cards to generate and store
keys and certificates for a specific user.
• The Token Key Service (TKS), which generates and stores master keys used by the TPS.
End users can use security tokens, which are also called smart cards, to store user certificates
used for applications such as single sign-on access and client authentication. End users are
issued the tokens containing certificates and keys required for signing, encryption, and other
cryptographic functions. To use the tokens, the TPS must be able to recognize and
communicate with them. The tokens have to be enrolled, the process of formatting tokens with
keys and certificates and adding them to the Certificate System. Enterprise Security Client
provides the user interface for end entities to enroll tokens and to communicate with the TPS.
Enterprise Security Client provides the conduit through which TPS communicates with each
token over a secure HTTP channel (HTTPS).
After a token is enrolled, applications such as Mozilla Firefox and Thunderbird can be
configured to recognize the token and use it for security operations, like client authentication
and S/MIME mail. Enterprise Security Client provides the following capabilities:
• Supports Visa Open Platform-compliant smart cards like Axalto Cyberflex egate 32k tokens.
• 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 so that keys can be archived and recovered on a
separate token if a token is lost.
1. Features
• The Phone Home feature defines the token issuer name, TPS server, and TPS end-entities
1
Chapter 1. Introduction
interface URL without requiring any user configuration.
• Enterprise Security Client has diagnostic logging that records common access and events
and records potential errors such as interruptions with the connection between the Enterprise
Security Client and TPS server.
• The Enterprise Security Client user interface incorporates Mozilla XULRunner technology.
XULRunner is a runtime package which hosts standalone applications based on XUL, an
XML markup language with a rich feature set for user interfaces. XUL has the following
advantages over HTML for applications:
• XUL provides a wide UI widget set and greater control over the presentation.
• XUL markup is local to the client machine, so it has a greater privilege level than HTML.
• XUL also uses Javascript as the scripting language for convenient program logic scripting.
• XUL Javascript code can make use of the array of Mozilla functionality by using their
XPCOM technology.
• The Mac Enterprise Security Client ships with a smart card-specific TokenD component which
bridges the gap between Certificate System-supported tokens and the Mac CDSA security
layer, allowing current OS X applications like Apple Mail and Safari to take advantage of the
capabilities of Certificate System tokens:
• 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 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.
• This version of Enterprise Security Client provides tray icon functionality on all three
platforms, including tool tips for errors and actions such as inserting or removing a smart card.
Figure 1.1. Example Token Tray Icon and Tool Tip
2
Features
On most operating systems, many programs maintain an icon in the tray or notification area.
These icons can be used to control the operation of the program, usually through context
menus when the icon is right-clicked. In the default Enterprise Security Client configuration,
Enterprise Security Client launches and automatically minimizes to the tray. This tray
functionality behaves differently on the different operating systems:
• 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 exits the Enterprise Security Client. The exit option in that menu is the only
want to exist the Enterprise Security Client on Windows; 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 tooltips, 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.
3
4
Chapter 2.
Platform Support
Enterprise Security Client supports the following platforms:
• Red Hat Enterprise Linux 4 AS (Intel x86)
• Red Hat Enterprise Linux 4 ES (Intel x86)
• Microsoft Windows XP
• Apple MAC OS X 10.4.x (Tiger)
Smart Card Support.
Enterprise Security Client supports the following smart cards:
• Visa Open Platform-compliant smart cards such as Axalto Cyberflex egate 32k tokens
5
6
Chapter 3.
Installation
Enterprise Security Client is packaged as a set of RPMs and other files that are part of the
complete Certificate System distribution. These are listed in the installation chapter of the
Certificate System Administrator's Guide.
The first step for installing Enterprise Security Client is successfully obtaining the needed
Enterprise Security Client packages. The Certificate System Administrator's Guide explains how
to retrieve these RPMs and other files through the Red Hat Certificate System 7.2 (AS v.4 forx86) or Red Hat Certificate System 7.2 (ES v.4 for x86) Red Hat Network channels. There are
two ways to obtain the packages:
• Downloading an ISO image or packages through the Red Hat Network channel
• Using the Red Hat up2date utility
On Linux platforms, the preferred method of obtaining RPMs is using the up2date
command-line utility.
up2date esc
If the up2date process is successful, all of the necessary Enterprise Security Client RPMs are
installed and ready for use.
Both the Mac and Windows Enterprise Security Client bundles are available only in the
Downloads area of the Red Hat Network. There are two channels for the packages, one for
32-bit and one for 64-bit; Mac and Windows clients are only available in 32-bit.
• The Mac Enterprise Security Client package is ESC.dmg.
• The Windows Enterprise Security Client package is Smart Card Manager Setup.exe.
1. Installation on Windows
To install Enterprise Security Client on Windows, do the following:
1. Obtain the Windows Enterprise Security Client installer Smart Card Manager Setup.exe
from the Red Hat Network channel.
2. Double-click the Smart Card Manager Setup.exe file to launch the Enterprise Security
Client installation program.
7
Chapter 3. Installation
Figure 3.1. Launching the Installation Wizard
3. The wizard displays the list of packages which will be installed.
8
Installation on Windows
Figure 3.2. Launching the Installation Wizard
4. The wizard screen asks for the final installation directory for Enterprise Security Client. The
default is C:\Program Files\Red Hat\ESC.
9
Chapter 3. Installation
Figure 3.3. Installation Directory
5. The wizard screen asks for the start menu directory for Enterprise Security Client. The default
is Red Hat.
10
Installation on Windows
Figure 3.4. Start Menu Directory
6. Proceed through the Enterprise Security Client installation wizard. Click Install to begin
installing the Enterprise Security Client components.
NOTE
The installation process also installs the CoolKey PKCS #11 driver and Egate
drivers 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.
11
Chapter 3. Installation
Figure 3.5. Beginning Installation
12
Installation on Windows
Figure 3.6. Installation Progress
7. Once the installation has completed, Enterprise Security Client will prompt for the user to
insert a token and can be launched for immediate use.
13
Chapter 3. Installation
Figure 3.7. Launching the Smart Card Manager
8. Click the Finish button to complete the installation.
14
Installation on Red Hat Enterprise Linux
Figure 3.8. Completing Installation
2. Installation on Red Hat Enterprise Linux
To install Enterprise Security Client and its supporting components on Red Hat Enterprise
Linux, do the following:
NOTE
If the up2date utility was already used to install 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-ROM image.
1. Copy the Enterprise Security Client installation RPMs packaged with Red Hat Certificate
System.
2. Install the RPMs as root in the following order:
The version numbers for the different packages may be different than those listed here
because of updates, patches or other releases. These are included as an example.
The Enterprise Security Client installation is located in /usr/lib/esc-1.0.0. The esc shell
script is installed in /usr/bin/esc. Enterprise Security Client can be launched by typing esc at
a command prompt.
Enterprise Security Client for Linux has a daemon process 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 system menu.
3. Installation on Mac OS X
To install Enterprise Security Client and its supporting components on Mac OS X, do the
following:
1. Obtain the ESC.dmg file on the Red Hat Network channel.
2. Double-click on ESC.dmg, exposing the Enterprise Security Client Volume.
Inside the Volume are two directories, ESC.app and Coolkey1.11.pkg. ESC.app is the
drag-able Enterprise Security Client application, and Coolkey1.11.pkg is the installer for the
token support software, including the TokenD system.
3. Install the Enterprise Security Client. To install Enterprise Security Client, drag the ESC.app
file to an accessible location, such as the desktop.
4. Install the CoolKey package.
a. Double-click the Coolkey1.11.pkg file to launch the CoolKey installer, and follow the
directions to complete installation.
16
Installation on Mac OS X
Figure 3.9. Mac Installation Program
b. Select the location to install the CoolKey package.
Figure 3.10. Installation Location
c. Click the Upgrade button to begin installation.
17
Chapter 3. Installation
Figure 3.11. Launch Installation
d. Supply the Mac administrator password.
Figure 3.12. Mac Admin Password
18
e. Click the Close button to complete the installation.
Installation on Mac OS X
Figure 3.13. Finish Installation
When the process is completed, the Egate token drivers, the PKCS11 module, and the TokenD
software are installed on the local system.
19
20
Chapter 4.
Using the Enterprise Security Client
The following section contains basic instructions on using the Enterprise Security Client for
token enrollment, formating, and password reset operations.
1. Launching Enterprise Security Client
• On Red Hat Enterprise Linux 4, launch Enterprise Security Client by typing esc at the
command prompt; this brings up the Enterprise Security Client daemon process, which
silently watches for inserted smart cards. The client can also be launched by selecting
System Settings, then Smart Card Manager, from the system menu.
• On Windows, Enterprise Security Client is launched from the desktop or the start menu;
Enterprise Security Client is also configured to launch on reboot.
• On Mac OS X, Enterprise Security Client is launched by double-clicking the Enterprise
Security Client icon wherever the client is installed.
2. Phone Home
The Enterprise Security Client offers a feature called Phone Home that associates information
within each smart card with information which points to distinct TPS servers and Enterprise
Security Client UI pages. Whenever the Enterprise Security Client accesses a new smart card, it
connects to the TPS server and retrieves the Phone Home information.
Phone Home quickly retrieves and then caches this information; because the information is
cached locally, the TPS subsystem does not have to be contacted each time a formatted smart
card is inserted.
The information can be different for every key or token, which means different TPS servers and
enrollment URLs can be configured for different corporate or customer groups. Phone Home
makes it possible to configure different TPS servers for different issuers or company units,
without having to configure the Enterprise Security Client manually to find the proper server and
URL.
NOTE
In order for the TPS subsystem to utilize the Phone Home feature, Phone Home
must be enabled in the TPS configuration file:
Since the Enterprise Security Client is based on Mozilla XULRunner, each user has a profile
similar to the user profiles used by Mozilla Firefox or Thunderbird. The Enterprise Security
Client accesses the configuration preferences file. When the Enterprise Security Client caches
information for each token, the information is stored in the user's configuration file. The next
time the Enterprise Security Client is launched, it retrieves the information from the configuration
file instead of contacting the server again.
The Phone Home information is put on the token in one of two ways:
• 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 should also supply detailed
information on how the tokens should be configured when shipped.
• If tokens are blank, the company IT department can supply the information when formating
small groups of tokens.
The following information is used by the Phone Home feature for each smart card:
The Phone Home feature and the different type of information used by it only work when the
TPS has been properly configured to use Phone Home. If the TPS is not configured for Phone
Home, then this feature is ignored. Example 4.1, “TPS Phone Home Configuration File” shows
an example XML file used by the TPS subsystem to configure the Phone Home feature.
Phone Home is triggered automatically when a security token is inserted into a machine. The
system immediately attempts to read the Phone Home URL from the token and to contact the
TPS server.
If no Phone Home information is stored on the token, the the user is prompted for the Phone
Home URL, as shown in Figure 4.1, “Prompt for Phone Home Information”. The other
information is supplied and stored when the token is formatted. In this case, the company
supplies the specific Phone Home URL for the user. After the user submits the URL, the format
process adds the rest of the information to the Phone Home profile. The format process is not
any different for the user.
23
Chapter 4. Using the Enterprise Security Client
Figure 4.1. Prompt for Phone Home Information
The TPS configuration URI is the URL of the TPS server which returns the rest of the Phone
Home information to the Enterprise Security Client. An example of this URL is
https://test.example.com:12443/cgi-bin/home/index.cgi. 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.
The Test button can be used to test of the entered URL. If the server is successfully contacted,
a message box indicates success. If the test connection fails, an error dialog appears.
3. Windows Cryptographic Service Provider
The Windows version of the Enterprise Security Client installs a Windows Cryptographic Service
Provider (CSP) that is compatible with the Certificate System-supported smart cards.
Microsoft Windows supports a software library designed to implement the Microsoft
Cryptographic Application Programming Interface (CAPI). CAPI allows Windows-based
applications, such as the Windows-version of the Enterprise Security Client, to be developed to
perform secure, cryptographic functions. This API, also known as CryptoAPI, provides a layer
between an application which supports it, such as Certificate System, and the details of the
cryptographic services provided by the API.
The CAPI interface can be used to create custom CSP libraries. In Certificate System, custom
CSP libraries have been created to use the Certificate System-supported smart cards.
24
Smart Card Auto Enrollment
The CAPI store is a repository controlled by Windows that houses a collection of digital
certificates associated with a given CSP. CAPI oversees the certificates, while each CSP
controls the cryptographic keys belonging to the certificates.
The Certificate System CSP is designed to provide cryptographic functions on behalf of
Windows using our supported smart cards. The Windows CSP performs its requested
cryptographic functionality by calling the Certificate System PKCS #11 module.
The Certificate System CSP, which has been signed by Microsoft, provides the following
features:
• Allows the user to send and receive encrypted and signed emails with Microsoft Outlook.
• Allows the user to visit SSL-protected websites with Microsoft Internet Explorer.
• Allows the user to use smart cards with certain VPN clients, which provides secure access to
protected networks.
The required CSP libraries are automatically installed with the Enterprise Security Client. There
are several common situations when a Windows user interacts directly with the CSP.
• 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 using applications like Outlook or 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.
4. Smart Card Auto Enrollment
Because the Enterprise Security Client is configured through the Phone Home feature, simple
enrollment of a smart card is extremely easy. Since the information needed to contact the
backend TPS server is provided with each smart card, the enrollment process for the user is
very simple.
Assuming that the smart card being enrolled is uninitialized and the appropriate Phone Home
information has been configured, the user's enrollment process is as follows:
1. The Enterprise Security Client is running.
2. An uninitialized smart card, pre-formatted with the Phone Home information for the TPS and
enrollment interface URL for the user's organization, is inserted. The smart card can be
added either by placing a USB form factor smart card into a free USB slot or by inserting a
25
Chapter 4. Using the Enterprise Security Client
traditional full-sized smart card into a smart card reader.
3. When the system recognizes the smart card, it displays a message indicating it has detected
an uninitiated smart card.
Figure 4.2. Smart Card Enrollment with a Card
This screen gives the option either to close the dialog or to proceed with enrolling the smart
card.
If the card be removed, a message appears that the smart card is no longer detected.
26
Smart Card Auto Enrollment
Figure 4.3. Smart Card Enrollment Message When the Card Is Removed
Reinserting the card brings the previous dialog back with the option to enroll the smart card.
Click Enroll My Smart Card to continue with the enrollment process.
4. Since the Enterprise Security Client now knows where the enrollment UI is located because
of Phone Home, the enrollment form opens for the user to enter the required information.
This UI can be customized.
27
Chapter 4. Using the Enterprise Security Client
Figure 4.4. Smart Card Enrollment Page
5. This example is the default enrollment UI included with the TPS server. This UI is a standard
HTML form, so simple modifications, such as setting the company logo or adding extra text or
changing field text, is possible.
6. 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 directory 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 alpha-numeric password corresponding to the user ID
entered; this can be a simple password or a customer number.
28
Smart Card Auto Enrollment
NOTE
The LDAP user ID and password refer to the fact that the TPS server is usually
associated with a Directory Server which stores user information and to which
the TPS refers to authenticate users.
• Password. This sets the smart card's password, used to protect the card information.
• Re-Enter Password. This confirms the smart card's password.
7. Once the form is filled out, click Enroll My Smartcard to submit the information and enroll
the card.
8. 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.
29
Chapter 4. Using the Enterprise Security Client
Figure 4.5. Smart Card Enrollment Success Message
5. Customizing the Smart Card Enrollment User
Interface
The Certificate System TPS subsystem has a generic external smartcard enrollment user
interface which is formatted in standard HTML and Javascript. This makes the interface page
appearance easy to customize.
The default HTML file for the enrollment UI is located at
/var/lib/rhpki-tps/cgi-bin/home/Enroll.html The UI references resources such as
images and Javascript files within its code. These resources are located in
/var/lib/rhpki-tps/docroot/home/
30
Customizing the Smart Card Enrollment
The default HTML page, shown in Example 4.2, “Customizing the Smart Card Enrollment User
Interface”, can be edited to change the colors, images, and layout.
Example 4.2. Customizing the Smart Card Enrollment User Interface
6. Managing Smart Cards
The Manage Smart Cards page contains many of the operations that can be applied to one of
the keys. This page allows users to format the token, set and reset the card's password, and
show the card information. Two other operations, enrolling tokens and viewing the diagnostic
logging, are also accessed through the Manage Smart Cards page. These are addressed in
other sections.
32
User Interface
Figure 4.6. Manage Smart Cards Page
6.1. Formatting the Smart Card
Formatting the card brings the smart card to the uninitialized state, which removes all the user
keypairs previously generated and erases the password set on the smart card during
enrollment.
The TPS server can be configured to load newer versions of the applet and symmetric keys
onto the card. Do the following to format the smart card:
1. Place a supported smart card into the USB slot of the computer. Make sure the card shows
up in the Active Smart Cards table.
2. Select Format from the Smart Card Functions section in the Manage Smart Cards screen.
3. The TPS can be configured to authenticate smart card operations using credentials such as
an LDAP user ID and password. If the TPS has been configured for user authentication, fill in
the user credentials in the authentication prompt, and click OK.
4. Wait for the token to finish being formatted. A success message will be displayed when the
formatting operation is complete.
5. When the formatting is complete, the Active Smart Cards table shows the key as
uninitialized.
33
Chapter 4. Using the Enterprise Security Client
6.2. Reset Smart Card Password
If a user forgets the password for a smart card after the card is enrolled, it is possible to reset
the password by doing the following:
1. Place a supported smart card into the USB slot of the computer. Make sure the smart card
shows up in the Active Smart Cards table.
2. Click the Reset Password button in the Smart Card Functions window. A dialog for
resetting the password on the card then opens.
3. Enter a new smart card password value in the Enter new password field.
4. Confirm the new smart card password value in the Re-Enter password field.
Figure 4.7. Changing Password Dialog
5. The TPS can be configured to authenticate smart card operations using credentials such as
an LDAP user ID and password. If the TPS has been configured for user authentication, fill in
the user credentials in the authentication prompt.
6. Wait for the token password to finish being reset.
6.3. Viewing Certificates
34
Enrolling Smart Cards
The View Certificates button shows basic information about the selected smart card, including
the keys and certificates stored on it.
1. Place a supported smart card into the USB slot of the computer. Make sure the card shows
up in the Active Smart Cards table.
2. Select the card from the list.
3. Press the View Certificates button.
4. Basic information about the certificates stored on the card is shown, including the serial
number, certificate nickname, and validity dates. More detailed information about the
certificate can be viewed by selecting a certificate from the list, and clicking View.
Figure 4.8. Viewing Certificates
6.4. Enrolling Smart Cards
Although most smart cards will be enrolled using the automated enrollment, described in
Section 4, “Smart Card Auto Enrollment”, there is an alternative way of enrolling smart cards
through the Manage Smart Cards page.
35
Chapter 4. Using the Enterprise Security Client
Figure 4.9. Manual Enrollment Form
Enrolling a token with the user key pairs means the token can be used for certificate-based
operations such as SSL client authentication and S/MIME.
NOTE
The TPS server can be configured to generate the user key pairs on the server
and then archived in the DRM subsystem for recovery if the token is lost.
1. Place a supported, unenrolled, smart card into the USB slot of the computer. Make sure the
card shows up in the Active Smart Cards table at the top.
2. Press the Enroll button. This button is active only if the inserted card is unenrolled.
3. A dialog opens which is used to set the password on the smart card. Enter a new key
password value in the Enter a password field.
Confirm the new card password value in the Re-Enter a password field.
4. Click OK to begin the enrollment.
36
Diagnosing Problems
5. The TPS server can be configured to authenticate the enrollment operation. If the TPS has
been configured for authentication, enter the user credentials when the dialog box appears,
and click OK.
Figure 4.10. LDAP Authentication Prompt
6. The enrollment process will begin generating and archiving keys, if the TPS is configured to
archive keys to the DRM.
7. When the enrollment is complete, the smart card will be listed as enrolled.
7. Diagnosing Problems
The Enterprise Security Client includes basic diagnostic tools and a simple interface to log
errors and common events such as inserting and removing a smart card or changing the card's
password. The diagnostic tools can identify and notify users about problems with the Enterprise
Security Client, smart cards, and TPS connections.
To open the diagnostics page, click on the Diagnostics button in the Manage Smart Cards
screen.
The following problems or events are logged by the Enterprise Security Client:
• The Enterprise Security Client does not recognize a card.
37
Chapter 4. Using the Enterprise Security Client
• 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 communicating with the PCSC daemon.
• Simple events are detected, such as when a card is inserted or removed, a user cancels an
operation, an operation is successfully completed, or errors are reported from the TPS.
• The connection between the Enterprise Security Client and TPS is lost.
• The NSS crypto library is initialized.
• Other low-level smart card events are detected.
38
Diagnosing Problems
Figure 4.11. Diagnostics Screen
The diagnostics screen displays the following information:
• The Enterprise Security Client version number.
• The version information for the system upon which the client is running.
• The number of cards detected by the Enterprise Security Client.
For each card detected, the following information is shown:
39
Chapter 4. Using the Enterprise Security Client
• The version of the applet running inside the smart card.
• The alpha-numeric ID of the card.
• The card's status, which can be NO_APPLET (no key is detected), UNINITIALIZED (the key is
detected, but no certificates have been enrolled), or 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 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.
40
Chapter 5.
Using Enterprise Security Client
Keys for SSL Client Authentication
and S/MIME
After a token is enrolled, the token can be used for SSL client authentication and S/MIME email
applications.
The PKCS #11 module has different names and locations depending on the operating system.
PlatformModule NameLocation
Windowscoolkeypk11.dllC:\Windows\System32\
Red Hat Enterprise Linuxlibcoolkeypk11.so/usr/lib/
Maclibcoolkeypk11.dylib/Library/Application
Support/CoolKey/PKCS11
1. Using the Certificates on the Token for SSL
To use the certificate on the token for SSL in an application such as Mozilla Firefox:
1. In Mozilla Firefox, open the Tools menu, choose Options, and then click Advanced.
2. Add a PKCS #11 driver.
NOTE
Windows and Macs automatically attempt to load the PKCS #11 module to any
Mozilla browsers they find.
a. Click Manage Security Devices to open the Device Manager window, and then click the
Load button.
b. Enter a module name, such as token key pk11 driver.
c. Click Browse, find the Enterprise Security Client PKCS #11 driver, and click OK.
41
Chapter 5. Using Enterprise Security Client Keys for SSL Client Authentication and S/MIME
3. If the CA is not yet trusted, download and import the CA certificate.
a. Open the SSL End Entity page on the CA. For example:
https://example.com:9443/ca/ee/ca
b. Click the Retrieval tab, and then click Import CA Certificate Chain.
c. Click Download the CA certificate chain in binary form and then click Submit.
d. Choose a suitable directory to save the certificate chain, and then click OK.
e. Click Edit > Preferences, and select the Advanced tab.
f. Click the View Certificates button.
g. Click Authorities, and import the CA certificate.
4. Set the certificate trust relationships.
a. Click Edit > Preferences, and select the Advanced tab.
b. Click the View Certificates button.
c. Click Edit, and set the trust for websites.
42
S/MIME Applications
The certificates can be used for SSL.
2. S/MIME Applications
To enable S/MIME on mail applications such as Mozilla Thunderbird:
1. In Mozilla Thunderbird, open the Edit menu, and select Account Settings.
2. Select Security on the left.
3. Add a PKCS #11 driver.
a. Click Manage Security Devices to open the Device Manager window.
b. Click the Load button.
c. Enter the module name, such as token keypk11 driver.
d. Click Browse, find the Enterprise Security Client PKCS #11 driver, and click OK.
4. If the CA is not yet trusted, download and import the CA certificate.
a. Open the SSL End Entity page on the CA. For example:
https://example.com:9443/ca/ee/ca
b. Click the Retrieval tab, and then click Import CA Certificate Chain.
c. Click Download the CA certificate chain in binary form and then click Submit.
d. Choose a suitable directory to save the certificate chain, and then click OK.
e. In Thunderbird, open the Edit menu, and select Account Settings.
f. Select Security on the left, and click the Manage Certificates button.
g. Click the Authorities tab, and import the CA certificate.
5. Set up the certificate trust relationships.
a. In Thunderbird, open the Edit menu, and select Account Settings.
b. Select Security on the left, and click the Manage Certificates button.
c. In the Authorities tab, select the CA, and click the Edit button.
d. Set the trust settings for identifying websites and mail users.
e. In the Digital Signing section of the Security panel, click Select to choose a certificate to
use for signing messages.
43
Chapter 5. Using Enterprise Security Client Keys for SSL Client Authentication and S/MIME
6. In the Encryption of the Security panel, click Select to choose the certificate to encrypt and
decrypt messages.
44
Chapter 6.
Uninstalling Enterprise Security
Client
This section provides platform-specific instructions to uninstall Enterprise Security Client.
1. Uninstalling on Windows
1. Unplug all USB tokens.
2. Stop Enterprise Security Client.
3. Open the Control Panel, and select the Add Remove Programs icon.
4. Select Smart Card Manager from the list of programs, and and click Change/Remove.
5. When the uninstallation is complete, remove any files left in the installation directory.
2. Uninstalling on Red Hat Enterprise Linux
1. Unplug all USB tokens.
2. Stop Enterprise Security Client.
3. Log in as root, and use rpm -ev to remove the Enterprise Security Client RPMs in the
following order:
Appendix A. Enterprise Security
Client Configuration
Previously, Enterprise Security Client relied on an application-specific configuration file.
Enterprise Security Client is now based on Mozilla XULRunner technology, which allows the
preferences facility built into Mozilla to be used for simple configuration of the Enterprise
Security Client. A simple UI, discussed in Chapter 4, Using the Enterprise Security Client,
manages most important configuration settings.
NOTE
The Enterprise Security Client can be launched without requiring extra
configuration.
1. Configuration
Enterprise Security Client uses the Mozilla configuration preferences system on all three
supported platforms. A default configuration file is located in the following directories on each
platform:
This default configuration Javascript file contains the default Enterprise Security Client
configuration used when Enterprise Security Client is first launched.
When Enterprise Security Client is launched, a separate, unique profile directory for each user
on the system is created; these profiles are stored in different, accessible locations on each
platform, as shown:
Note
When the Enterprise Security Client requires any changes to a user's
configuration values, the updated values are written to the user's profile area, not
to the default Javascript file.
47
Appendix A. Enterprise Security Client Configuration
• Windows: C:\Documents and Settings\$USER\Application Data\RedHat\ESC\Profiles
• Red Hat Enterprise Linux: ~/.redhat/esc
• Mac: ~/Library/Application Support/ESC/Profiles
The esc-prefs.js file section below shows the Enterprise Security Client-supported
configuration values.
#################################################################
#The entry below is the XUL chrome page where Enterprise Security
#Client proceeds on startup.
#
pref("toolkit.defaultChromeURI",
"chrome://esc/content/settings.xul");
#The entry below is the URL Enterprise Security Client consults
#for back end TPS functionality.
#The entry below sets how many seconds Enterprise Security Client
#should wait while TPS is processing a message
pref("esc.tps.message.timeout","90");
#The entry can be set allow Enterprise Security Client to write
#newly created certificates
#to the local CAPI store after an enrollment operation.
#Also, when a format is done, those same certs will be removed
#from the local CAPI store.
The TokenD software installed on Mac provides a link between the Certificate System CoolKeys
and the Mac CDSA security API, which provides a wide variety of security functionality. For
example, the Apple Mail application can use a KeyChain to perform security-related tasks. A
KeyChain can hold entities such as certificates, passwords, and private and public keys.
Although most KeyChains are stored in software, the CDSA API allows KeyChains to be stored
48
Verifying the TokenD Is Working
on smart cards or keys. CoolKey TokenD allows a Certificate System key to show as a
KeyChain.
2.1. Verifying the TokenD Is Working
1. Make sure Enterprise Security Client has been installed on the Mac computer.
2. Use Enterprise Security Client to enroll a token, enabling it with the proper certificates and
key information.
3. Put the enrolled token into a USB slot on the machine.
4. If TokenD is working, the token blinks for a few seconds while the information is obtained
from the token because the Mac CDSA layer is making a request for data.
5. Open the Mac Keychain Access utility in the Applications/Utilities folder.
6. Find the new $Keychain entry in the list of valid chains. The chain has the the key's UID in its
name.
7. Click on the CoolKey KeyChain. The certificates and keys on the token can easily be viewed.
3. Enterprise Security Client XUL and Javascript
Functionality
Enterprise Security Client stores the XUL markup and Javascript functionality in the
ESC_INSTALL_PATH/chrome/content/esc directory, where ESC_INSTALL_PATH is the
Enterprise Security Client installation directory.
The following are the primary Enterprise Security Client XUL files:
• 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.
• esc_browser.xul contains the code for hosting the external HTML Enterprise Security Client
enrollment UI.
The following are the primary Enterprise Security Client Javascript files:
• ESC.js contains most of the Enterprise Security Client Javascript functionality.
• TRAY.js contains the tray icon functionality.
• CertInfo.js contains the code for Show Key Info feature.
49
Appendix A. Enterprise Security Client Configuration
• GenericAuth.js contains the code for the authentication prompt. This prompt is configurable
from the TPS server, which requires dynamic processing by Enterprise Security Client.
3.1. Quick Javascript UI Guide
Certificate System 7.1 deployments may be using a customized external UI for key enrollment.
Changes have been made to the names of internal Enterprise Security Client XPCOM objects in
later versions of Certificate System, so changes need to be made to the ESC.js file to adapt an
older UI. The places for these changes are shown in the file section below.