Complete Contents
Introduction
Chapter 1 Introducing Netscape Console
Chapter 2 The Netscape Server Family Setup Program
Chapter 3 Using Netscape Console
Chapter 4 User and Group Administration
Chapter 5 Using SSL
Chapter 6 Delegating Server Administration
Chapter 7 Using SNMP to Monitor Services
Chapter 8 Administration Server Basics
Chapter 9 Administration Server Configuration
Appendix A Distinguished Name Attributes and Syntax
Appendix B Administration Server Command Line Tools
Appendix C FORTEZZA
Appendix D Introduction to Public-Key Cryptography
Appendix E Introduction to SSL
Managing Servers with Netscape Console: Using SSL
Previous Next Contents Index


Chapter 5 Using SSL

This chapter describes how to set up Netscape servers to support the Secure Sockets Layer (SSL) protocol. SSL has been universally accepted on the World Wide Web for authenticated, encrypted, and tamper-proof communication between clients and servers. Before reading this chapter, you should be familiar with the basic concepts described in "Introduction to Public-Key Cryptography" on page 187 and "Introduction to SSL" on page 221.

This chapter contains the following sections:


The SSL Protocol
The Secure Sockets Layer (SSL) protocol, which was originally developed by Netscape, is a set of rules governing server authentication, client authentication, and encrypted communication between servers and clients. SSL is widely used on the Internet, especially for interactions that involve exchanging confidential information such as credit card numbers.

SSL requires a server SSL certificate, at a minimum. As part of the initial "handshake" process, the server presents its certificate to the client to authenticate the server's identity. The authentication process uses Public-Key Encryption and Digital Signatures to confirm that the server is in fact the server it claims to be. Once the server has been authenticated, the client and server use techniques of Symmetric-Key Encryption, which is very fast, to encrypt all the information they exchange for the remainder of the session and to detect any tampering that may have occurred.

Using External Encryption Devices
Public Key Cryptography Standard (PKCS) #11 defines the interface used for communication between SSL and PKCS #11 modules (also called cryptographic modules). Netscape support for PKCS #11 allows you to store server certificates on external devices such as smart cards, which can be desirable when server access must be restricted to just a few administrators.

A PKCS #11 module is a device, implemented in hardware or software, that provides cryptographic services such as encryption and decryption and (in some cases) storage of keys and certificates. Netscape provides a built-in software PKCS #11 module with its server and client products. Other kinds of PKCS #11 modules include the Netscape FORTEZZA module, used by the government, and the Litronic cryptographic module for smart card readers.

Netscape servers can use a variety of external PKCS #11 modules provided by different manufacturers. You must install the appropriate drivers provided by the manufacturer on the machine on which a Netscape server is running before you can use a given external module.

Slots and Tokens
A PKCS #11 module always has one or more slots, which may be implemented as physical hardware slots or conceptual slots implemented in software. Each slot in a PKCS #11 module can in turn contain a token, which is the hardware or software that actually provides cryptographic services and stores certificates and keys. For example, a smart card reader contains one or more slots, and each slot can contain a token called a smart card.

An internal token is made up of a key-pair and a certificate database stored in a software file on a host computer. By default, the Netscape Administration Server provides a means to create an internal token with its PKCS #11 module. If you don't connect an external device such as PCMCIA card reader to your server and clients, then you can use the Netscape internal token for SSL authentication.

An external token is a key-pair and certificate database stored in an external device such as a Smart Card, FORTEZZA Card, or other Crypto Card. If you have an external device to your server, you can use external tokens for SSL authentication.

Setting Up an External PKCS #11 Module
To install the PKCS #11 Module:

  1. Follow the instructions that came with your smart card reader or other hardware device to locate and install the appropriate drivers and connect the device.
  2. In Netscape Console, open the server with which you want to use the external PKCS #11.
  3. In the server's Console menu, choose Manage PKCS #11.
  4. In the Manage PKCS #11 window, click Add.
  5. In the Add PKCS #11 Module window, choose a file type. If the module is not contained in a JAR file, choose DLL, and then enter a name for the module. If the module is contained in a JAR file, choose JAR.
  6. Enter the full path to the JAR file you obtained in step 1, and then click OK.
SSL Ciphers
The SSL protocol supports the use of a variety of different cryptographic algorithms, or ciphers, for use in operations such as authenticating the server and client to each other, transmitting certificates, and establishing session keys. Clients and servers may support different cipher suites, or sets of ciphers, depending on factors such as the version of SSL they support, company policies regarding acceptable encryption strength, and government restrictions on export of SSL-enabled software. Among its other functions, the SSL handshake protocol determines how the server and client negotiate which cipher suites they will use to authenticate each other, to transmit certificates, and to establish session keys.

The SSL 2.0 and SSL 3.0 protocols support overlapping sets of cipher suites. Administrators can enable or disable any of the supported cipher suites for both clients and servers. When a particular client and server exchange information during the SSL handshake, they identify the strongest enabled cipher suites they have in common and use those for the SSL session.

Choosing SSL Ciphers
Decisions about which cipher suites a particular organization decides to enable depend on trade-offs among the sensitivity of the data involved, the speed of the cipher, and the applicability of export rules.

Some organizations may want to disable the weaker ciphers to prevent SSL connections with weaker encryption. However, due to US government restrictions on products that support anything stronger than 40-bit encryption, disabling support for all 40-bit ciphers effectively restricts access to network browsers that are available only in the United States (unless the server involved has a special Global Server ID that permits the international client to "step up" to stronger encryption). For more information about US export restrictions, see Export Restrictions on International Sales.

To serve the largest possible range of users, it's a good idea for administrators to enable as broad a range of SSL cipher suites as possible. That way, when a domestic client or server is dealing with another domestic server or client, respectively, it will negotiate the use of the strongest ciphers available. And when an domestic client or server is dealing with an international server or client, it will negotiate the use of those ciphers that are permitted under US export regulations.

However, since 40-bit ciphers can be broken relatively quickly, administrators whose user communities can use stronger ciphers without violating export restrictions should disable the 40-bit ciphers if they are concerned about access to data by eavesdroppers.

Note. Netscape Console does not support all of the cipher suites supported by Netscape clients and servers. To ensure that Netscape Console can control an SSL-enabled server, the server must enable at least one of the following cipher suites for SSL 3.0:

For detailed information on determining which cipher suites to use when setting up SSL, see Appendix E "Cipher Suites With RSA Key Exchange" on page 225 and "FORTEZZA Cipher Suites" on page 227.


Setting up SSL Encryption
All Netscape 4.0 servers support the SSL protocol and PKCS #11. Before you can use either one, you'll need to do the following:

  1. If you're using an external token, install a PKCS #11 module.
  2. Use the Certificate Setup Wizard to
  3. Enable SSL on your server.
The Certificate Setup Wizard automatically creates the key-pair and certificate databases for you. Once you've used the Certificate Setup Wizard to obtain and install your certificate, use Netscape Console to activate SSL on your server. The Certificate Setup Wizard is described fully in "Obtaining and Installing a Certificate" on page 69.

SSL Options
Before you start the Certificate Setup Wizard, determine whether you will use an internal or external token.

Using SSL with Internal Token

This option is the simplest to use. To set up SSL with an internal token, use the Certificate Setup Wizard. See "Obtaining and Installing a Certificate" on page 69 for more information. When prompted, specify the Internal token (cryptographic device).

SSL with External Token

This option requires the use of an additional hardware device as well as an external storage device such as a Crypto Card. The FORTEZZA cryptographic system, described in Appendix C, "FORTEZZA," uses an external token.

To set up SSL with an external token, first install the PKCS #11 module provided by the external device manufacturer. (See "Setting Up an External PKCS #11 Module" on page 65.) Then use the Certificate Setup Wizard as described in "Obtaining and Installing a Certificate", below. When prompted, specify the External token (cryptographic device).

SSL with Both Internal and External Tokens

Some servers in your enterprise may use only internal tokens, and some may use additional external tokens. Use this option if your server will communicate with both types of server. To set up SSL with both internal and external tokens, use the Certificate Setup Wizard two times. During the first use, when prompted, specify the Internal token. During the second use, when prompted, specify the External token.


Obtaining and Installing a Certificate
Use the Certificate Setup Wizard each time you need to request, renew, or install a certificate from a Certificate Authority (CA). The first time you use the Certificate Setup Wizard, it creates and installs a key-pair and certificate database for you. For an introduction to each of these terms, see Appendix D, "A Certificate Identifies Someone or Something," on page 195.

SSL Certificates
The Certificate Setup Wizard installs three types of certificates: a Server Certificate, a Server Certificate Chain, and a Trusted CA Certificate. You can install any number of certificates on a server. When setting up SSL for a directory server, you minimally need to install both a Server Certificate and a Trusted Certificate Authority certificate.

Server Certificate
This is a single certificate associated only with your server. It identifies your server to clients. You must request this type of certificate from a CA. To obtain and install a Server Certificate, first generate a request and send it to the CA. Then install the certificate. See "Generating a Server Certificate Request" on page 70 and "Installing the Certificate" on page 76.

Server Certificate Chain
This is a collection of certificates automatically generated for you by your company's internal certificate server or by a CA known to your company. The certificates in a chain trace back to the original CA, and provide proof of identity. This proof is required each time you obtain or install a new Server Certificate.

Trusted CA Certificate
This is a single certificate automatically generated for you by your company's internal certificate server, or by a CA known to you company. It's used for client authentication. When you install a Trusted CA Certificate, by default it's trusted.

To obtain a Trusted CA Certificate, first go to the CA's website and copy the certificate information to your clipboard. Then use the Certificate Setup Wizard to install the certificate. See "Installing the Certificate" on page 76.

Generating a Server Certificate Request
Note. After you've requested a certificate from a CA, it could take anywhere from two days to a number of weeks for the CA to send you a response and certificate.

To generate a certificate request and send it to a CA:

  1. In Netscape Console, in the navigation tree, select the server you want to use SSL encryption with.
  2. Click Open Server to open the server's console.
  3. In Tasks, click Certificate Setup Wizard.
  4. When prompted, provide information to request a certificate. Depending on certificates or tokens that may already be installed on the host system, you may see some or all of the following fields

  5. Select a token (Cryptographic Device). If your key will be stored in the local key database, choose internal (software). If your key will be stored in a SmartCard or other external device, choose the name of the external token.

    Is the server certificate already requested and ready to install?.
    If you've never submitted a request for this certificate, choose No. If your request has been processed and you already have a key for the certificate, or if you're installing a Trusted CA Certificate or certificate chain (which don't require a request), choose Yes. In this case, the wizard will skip to the steps described in
    "Installing the Certificate" on page 76.

  6. Once a Trust Database is created, this message appears: "A Trust Database has successfully been created." Click Next.
  7. Enter and confirm a password, then click Next.
  8. New Password. The password must contain at least eight characters, at least one of them numeric. This password helps secure access to the new key database you're creating.

    Confirm Password. Enter the same password again for verification.

  9. Continue providing information as prompted, and click Next to go on.
  10. Is this a request for a new server certificate or to renew an existing server certificate?. If you want to create a new certificate or replace an old one, choose New Certificate. If you already have an existing certificate, the Certificate Renewal option will take less time. If you have an existing certificate and want to replace or renew it, choose Certificate Renewal.

    CA Email Address. Enter the CA administrator's email address to which your certificate request should be sent.

    Show CA. Opens a browser and displays the Certificate Authorities available to you.

  11. When prompted, enter the following information, and then click Next:
  12. Your name. Enter your full name.

    Telephone. Enter a telephone number where the CA can reach you if necessary.

    Server Host Name. Enter the fully qualified host name used in DNS lookups. Example: <hostname>.<domain>

    Email Address. Enter your business email address. This is used for correspondence between you and the CA.

    Organization. Enter the legal name of your company or institution. Most CAs require that you verify this information with legal documents such as a copy of a business license.

    Organizational Unit. (Optional) Enter a descriptive name for your organization within your company.

    Locality. (Optional) Enter your company's city name.

    State or Province. Enter the full name of your company's state or province (no abbreviations).

    Country. Enter the two-character abbreviation for your country's name (ISO format). The country code for the United States is US.

  13. Enter the password for the token you selected earlier, and then click Next.
  14. Selected Token. Displays the token you'll be installing a certificate in.

    Trust Database Password. Enter the password you used when you set up the trust database.

The Certificate Setup Wizard generates a certificate request for your server. When you see this screen, you can send the certificate request to the CA. See "Sending the Server Certificate Request" for more information.

Sending the Server Certificate Request
If you're using Unix, the certificate request is sent for you automatically via email with sendmail.

If you're using Windows NT, the certificate information is automatically generated and saved into a temp file in the \temp directory. Follow these steps to send the certificate information to the CA:

  1. Use your email program to create a new email message.
  2. Manually open the temp file created for you in the \temp directory.

  3. Copy the subject line from the temp file, then paste it into the subject line of the new message.
  4. Copy the To address from the temp file, then paste it into the address field of the new message.
  5. Copy the certificate information from the temp file, then paste it into the body of the new message.
  6. Send the email message to the CA.
  7. After you've sent the email message to the CA
Backing Up Your Certificate Information

When the CA sends a response, you should back up all files in this directory: <serverroot>/alias/. This directory includes all the data for your Trust Database. You'll need the data when you install the certificate.

You should also save in a text file the certificate data you receive from the CA. If your system ever loses the certificate data, you can reinstall the certificate using your backup file.

Obtaining a Server Certificate Chain
To obtain a Server Certificate Chain:

  1. Go to the CA's website and manually copy the certificate information to your clipboard.
  2. Use the Certificate Setup Wizard to install the certificate. See "Installing the Certificate" on page 76.
When you install a certificate into an existing Server Certificate Chain, the new certificate is not automatically trusted. To trust a new certificate, you must change its trust option. See "Changing the CA Trust Option" on page 82.

Installing the Certificate
To install a certificate:

  1. In Netscape Console, in the navigation tree, select the server you used when you generated the certificate request.
  2. Click Open to open the server.
  3. In Tasks, click Certificate Setup Wizard.
  4. Start the Certificate Setup Wizard, and indicate that you're now ready to install the certificate. When prompted, provide the following information:
  5. Select a token (Cryptographic Device). Choose the same token you used when you generated the certificate request.

    Is the server certificate already requested and ready to install?.
    Choose Yes.

    Certificate for:. Indicate which type of certificate you're installing:

    Password:. Enter the password you used when you set up the Trust Database.

  6. Provide the certificate information you received from the CA, then click Next

    .

  7. The certificate is located in this file:. Choose this option if you stored the certificate information in a text file. Enter the absolute path to the certificate.

    The certificate is located in the following text field:. Choose this option if you copied the certificate information directory from a CA's website to your system clipboard. Click Paste from Clipboard to insert the text in the input area.

  8. Once the certificate is generated and you see this screen, click Add.

  9. Once your certificate is successfully installed, you'll see this screen. Click Done.


Activating SSL
Once you've obtained and installed a certificate, use Netscape Console to activate SSL. The following procedure uses the Administration Server as an example. Other Netscape server interfaces may vary slightly, although the basic concept is the same.

To activate SSL on a 4.x Netscape server:

  1. In Netscape Console, in the navigation tree, select the server you want to use SSL encryption with.
  2. Click Open, then click Configuration.
  3. In the Configuration window, click Encryption.

  4. Enter information as appropriate:
  5. Enable SSL. Choose this option if you want to secure your enterprise with Secure Sockets Layer (SSL) encryption. All other SSL encryption options listed here become available to you only when you enable SSL by checking this box.

    Cipher Family. When you enable SSL Encryption, the cipher families available to you are listed here. Netscape currently supports two types of cipher families: RSA and FORTEZZA. The internal token supports only RSA. If you're using a FORTEZZA card, you'll see the FORTEZZA cipher family in this list. Select the cipher families you want to use.

    Token to Use. Choose internal (software) if the key is stored in the local key database. All other choices available to you on this list are device-based. This means the key is stored on an external device such as a Smart Card.

    Certificate to Use. Use the name of your server's certificate. If you're unsure which Certificate to use, view the Certificate Management dialog box for more information. To view the Certificate Management dialog box, from the Console menu, choose Certificate Management.

    Cipher Preferences. A cipher is an encryption algorithm. This list displays the cipher preferences you've enabled.

  6. Click OK or Save, as appropriate.
  7. You won't be able to use Netscape Console to manage the now secured server until the changes saved, and you've restarted the server.Exit Netscape Console, then restart the server at the command line.
With changes in effect, you can start Netscape Console and log in as usual.


Managing Server Certificates
Once you've installed SSL certificates, you need to update information for them periodically. You can view, delete, or edit the trust settings of all the certificates installed on a server. This includes your own certificate and certificates from CAs.

Changing the CA Trust Option
You may need to reject a trusted CA temporarily. For example, you may be notified that a CA is experiencing technical difficulty that prevents certificate authentication. You can change the trust option to Reject until the CA notifies you that the problem has been resolved.

To change the key database trust option:

  1. In Netscape Console, select a server and open it.
  2. From the Console menu, choose Manage Certificate.
  3. Select the certificate you want to update, then click Edit.
  4. In the Certificate dialog box, make changes as necessary:
  5. Detail. Displays detailed information about the selected certificate including serial number, dates the certificate is valid, the Certificate Fingerprint, and whether or not the certificate is currently trusted.

    Delete. Deletes the selected certificate.

    Trust/Reject. Allows the certificated to be trusted (or rejected).

  6. Click OK.
Changing the Trust Database Password
It's a good practice to change your Trust Database password periodically. If your Administration Server is SSL enabled, your Trust Database password is required when starting the Administration Server. Changing your password periodically adds an extra level of server protection.

To change your Trust Database password:

  1. In Netscape Console, select a server and open it.
  2. From the Console menu, choose Change Key Password.
  3. In the Change Key Password dialog box, enter password information:.
  4. Old password. Enter the password used to install the certificate.

    New Password. Enter a new password string.

    Confirm. Enter the password again to confirm it.

  5. Click OK.
Managing Certificate Lists
The purpose of certificate revocation lists (CRLs) and compromised key lists (CKLs) is to make known any certificates and keys that either client or server users should no longer trust. If data in a certificate changes (for example, a user changes offices or leaves the organization) before the certificate expires, the certificate is revoked and its data appears in a CRL. If a key is tampered with or otherwise compromised, the key and its data appear in a CKL. Both CRLs and CKLs are produced and periodically updated by a CA.

Obtaining a CRL or CKL
To obtain a CRL or CKL from a Certificate Authority (CA):

  1. Use a browser to go to the CA's website. Contact your CA administrator for the exact URL to use.
  2. Follow the CA's instructions for downloading the CRL or CKL to a local directory.
Once you've saved the CRL file or CKL file to a local directory, you can add information from it to the Trust Database.

Adding a CRL or CKL to the Trust Database
To add CRL or CKL to the trust database:

  1. In Netscape Console, select a server and open it.
  2. From the Console menu, choose Certificate Revocation. All installed CRLs and CKLs are listed along with their expiration dates.
  3. Click Add.
  4. In the Add CRL/CKL dialog box, type the full path name to file, and indicate whether the path leads to a CRL or CKL.
  5. Click OK. If the list already exists in the database, the list you specify here will replace the existing list.
Viewing, Adding, or Deleting CRLs or CKLs
To view, add, or delete CRLs or CKLs:

  1. In Netscape Console, select a server and open it.
  2. From the Console menu, choose Certificate Revocation. All installed CRLs and CKLS are listed along with their expiration dates.
  3. Click a CRL or CKL to select it.

Using Client Certificates
Some Netscape Servers use client certificates to ensure authenticity when communicating with a client and to determine if a user has access to the server. Before you can use client certificates for authentication or access control, you must first fulfill these requirements:

How Client Certificates Work
When the server gets a request from a client, it asks for the client's certificate before proceeding. A Netscape client, such as Netscape Navigator or Netscape Communicator, sends the client certificate to the server. After checking that a client certificate chains up to a trusted CA, a Netscape server uses the certmap.conf file to look up the user's entry in the directory and check the certificate presented for authentication against the certificate listed in the user's entry. You edit one or more CA mappings in this file to determine how certificates issued by each CA should look up user entries. Specifically, certmap.conf provides three kinds of information for each CA:

  1. It maps the distinguished name (DN) in the certificate to a branch point in the LDAP directory.
  2. It tells the server what values to use from the DN in the certificate (such as the user's name, email address, and so on) for the purpose of searching the directory.
  3. It specifies whether or not the server goes through an additional verification process. If the certmap.conf file is configured to support single sign-on, this process involves matching the certificate presented for authentication with the certificate stored in the user's LDAP directory entry. This step allows you to revoke a certificate by removing it from the user's entry in the directory. This prevents authentication even if the certificate is otherwise valid.
If it finds more than one matching entry, the server can verify the client's certificate by comparing it with certificates for the matching entries in the LDAP directory. If the client certificate doesn't match any certificates in the matching entries or if the matching entries don't contain certificates, the certificate mapping (and thus client authentication) fails.

After the server finds a matching entry and certificate in the LDAP directory, it can use that information to determine the appropriate kind of authorization for the client. For example, some servers use information from a user's entry to determine group membership, which in turn can be used during evaluation of ACLs to determine what resources the user is authorized to access.

Editing the certmap.conf file
The certificate mapping file is located at <server_root>/shared/config/certmap.conf. The file defines

The certmap.conf file contains one or more named mappings, each applying to a different CA. A mapping has the following syntax:

certmap name issuerDN

name:property [value]

The first line specifies a name for the entry and the DN of the issuer of the client certificate. The name is arbitrary; you can define it to be whatever you want.

Note. The issuerDN must exactly match the issuer DN of the CA that issued the client certificate. For example, the following two issuer DN lines differ only in the number of spaces separating the AVAs, but the server treats these two entries as different:

certmap moz ou=Mozilla Certificate Authority,o=Netscape,c=US

certmap moz ou=Mozilla Certificate Authority, o=Netscape, c=US

The second and subsequent lines in the named mapping match properties with values. The certmap.conf file has six default properties:

The following component tags are supported for DNComps: cn, ou, o, c, l, st, e, and mail. Case is ignored. You can use e or mail, but not both.

You can use the client certificate API to create your own properties. For information on programming and using the client certificate API, see your server's documentation or release notes.

Once you have a custom mapping, you reference the mapping as follows:

<name>:library <path_to_shared_library>

<name>:InitFn <name_of_init_function>

For example:

certmap default1 o=Netscape Communications, c=US

default1:library /usr/netscape/suitespot/userdb/plugin.so

default1:InitFn plugin_init_fn

default1:DNComps ou o c

default1:FilterComps l

default1:verifycert on

Example mappings
The certmap.conf file should have at least one entry. The following examples illustrate two different ways you can use the certmap.conf file.

Configuration Example #1

Here is a simple certmap.conf file with only one default mapping:

certmap default default

default:DNComps ou, o, c

default:FilterComps e, uid

default:verifycert on

Using this example, the server starts its search at the LDAP branch point containing the entry ou=orgunit, o=org, c=country, where the italics represent values from the subject's DN in the client certificate.

The server then uses the values for email address and user ID from the certificate to search for a match in the LDAP directory before authenticating the user. When it finds an entry, the server verifies the certificate by comparing the one the client sent to the one stored in the directory.

Configuration Example #2

Here is another sample file:

certmap default default

default:DNComps

default:FilterComps e, uid

certmap MyCA ou=MySpecialTrust,o=MyOrg,c=US

MyCA:DNComps ou,o,c

MyCA:FilterComps e

MyCA:verifycert on

This file has two mappings: a default one and another for MyCA. When the server gets a certificate from anyone other than MyCA, the server uses the default mapping, which starts at the top of the LDAP tree and searches for an entry matching the client's email address and user ID. If the certificate is from MyCA, the server starts its search at the LDAP branch containing the organizational unit and searches for matching email addresses. Also note that if the certificate is from MyCA, the server verifies the certificate; other certificates are not verified.

Note. The issuer DN (that is, the CA's information) in the certificate must be identical to the issuer DN listed in the first line of the mapping. Even an extra space after a comma will cause a mismatch.

Configuration Example #3

This example uses the CmapLdapAttr property to search the LDAP database for an attribute called certSubjectDN whose value exactly matches the entire subject DN taken from the client certificate.

certmap myco ou=My Company Inc, o=myco, c=US

myco:CmapLdapAttr certSubjectDN

myco:DNComps o, c

myco:FilterComps mail, uid

myco:verifycert on

If the client certificate subject is

uid=Henry Jones Junior, o=Ark Inc, c=US

the server first searches for entries that have

certSubjectDN=uid=Henry Jones Junior, o=Ark Inc, c=US

If one or more matching entries are found, the server proceeds to verify the entries. If no matching entries are found, the server will use DNComps and FilterComps to search for matching entries. In this example, the server would search for uid=Henry Jones Junior in all entries under

o=Ark Inc, c=US.


Cipher Preferences
To specify which ciphers your server can use, check them in the list.


See Also

"Cipher Suites with RSA Key Exchange"


Ciphers Used with SSL
The SSL protocol supports the use of a variety of different cryptographic algorithms, or ciphers, for use in operations such as authenticating the server and client to each other, transmitting certificates, and establishing session keys. Clients and servers may support different cipher suites, or sets of ciphers, depending on factors such as the version of SSL they support, company policies regarding acceptable encryption strength, and government restrictions on export of SSL-enabled software. Among its other functions, the SSL handshake protocol determines how the server and client negotiate which cipher suites they will use to authenticate each other, to transmit certificates, and to establish session keys.

Key-exchange algorithms like KEA and RSA key exchange govern the way in which the server and client determine the symmetric keys they will both use during an SSL session. The most commonly used SSL cipher suites use RSA key exchange.

The SSL 2.0 and SSL 3.0 protocols support overlapping sets of cipher suites. Administrators can enable or disable any of the supported cipher suites for both clients and servers. When a particular client and server exchange information during the SSL handshake, they identify the strongest enabled cipher suites they have in common and use those for the SSL session.

Decisions about which cipher suites a particular organization decides to enable depend on tradeoffs between the sensitivity of the data involved, the speed of the cipher, and the applicability of export rules.

Some organizations may want to disable the weaker ciphers to prevent SSL connections with weaker encryption. However, due to US government restrictions on products that support anything stronger than 40-bit encryption, disabling support for all 40-bit ciphers effectively restricts access to network browsers that are available only in the United States (unless the server involved has a special Global Server ID that permits the international client to "step up" to stronger encryption).

To serve the largest possible range of users, it's a good idea for administrators to enable as broad a range of SSL cipher suites as possible. That way, when a domestic client or server is dealing with another domestic server or client, respectively, it will negotiate the use of the strongest ciphers available. And when a domestic client or server is dealing with an international server or client, it will negotiate the use of those ciphers that are permitted under US export regulations.

However, since 40-bit ciphers can be broken relatively quickly, administrators whose user communities can use stronger ciphers without vilating export restrictions should disable the 40-bit ciphers if they are concerned about access to data by eavesdroppers.

Note. Netscape Console does not support all of the cipher suites supported by Netscape clients and servers. To ensure that Netscape Conolse can control an SSL-enabled server, the server must enable at least one of the following cipher suites for SSL 3.0:

Cipher Suites with RSA Key Exchange
Table 5.1 lists the cipher suites supported by SSL that use the RSA key-exchange algorithm. Unless otherwise indicated, all ciphers listed in the table are supported by both SSL 2.0 and SSL 3.0. Cipher suites are listed from strongest to weakest. Table 5.1 Cipher suites supported by the SSL protocol that use the RSA key-exchange algorithm
Strength category and recommended use
Cipher suites
Strongest cipher suite. Permitted for deployments within the United States only. This cipher suite is appropriate for banks and other institutions that handle highly sensitive data.

Netscape Console does not support this cipher suite.
Triple DES, which supports 168-bit encryption, with SHA-1 message authentication. Triple DES is the strongest cipher supported by SSL, but it is not as fast as RC4. Triple DES uses a key three times as long as the key for standard DES. Because the key size is so large, there are more possible keys than for any other cipher--approximately 3.7 * 1050.

This cipher suite is FIPS-compliant.
Both SSL 2.0 and SSL 3.0 support this cipher suite.
Strong cipher suites. Permitted for deployments within the United States only. These cipher suites support encryption that is strong enough for most business or government needs.


RC4 with 128-bit encryption and MD5 message authentication. Because the RC4 and RC2 ciphers have 128-bit encryption, they are the second strongest next to Triple DES (Data Encryption Standard), with 168-bit encryption. RC4 and RC2 128-bit encryption permits approximately 3.4 * 1038 possible keys, making them very difficult to crack. RC4 ciphers are the fastest of the supported ciphers.

Both SSL 2.0 and SSL 3.0 support this cipher suite.
Netscape Console supports only the SSL 3.0 version of this cipher suite.
RC2 with 128-bit encryption and MD5 message authentication. Because the RC4 and RC2 ciphers have 128-bit encryption, they are the second strongest next to Triple DES (Data Encryption Standard), with 168-bit encryption. RC4 and RC2 128-bit encryption permits approximately 3.4 * 1038 possible keys, making them very difficult to crack. RC2 ciphers are slower than RC4 ciphers.

This cipher suite is supported by SSL 2.0 but not by SSL 3.0.
Netscape Console does not support his cipher suite.
DES, which supports 56-bit encryption, with SHA-1 message authentication. DES is stronger than 40-bit encryption, but not as strong as 128-bit encryption. DES 56-bit encryption permits approximately 7.2 * 1016 possible keys.

This cipher suite is FIPS-compliant.
Both SSL 2.0 and SSL 3.0 support this cipher suite, except that SSL 2.0 uses MD5 rather than SHA-1 for message authentication.
Netscape Console does not support this cipher suite.
Exportable cipher suites. These cipher suites are not as strong as those listed above, but may be exported to most countries (note that France permits them for SSL but not for S/MIME). They provide the strongest encryption available for exportable products.


RC4 with 40-bit encryption and MD5 message authentication. RC4 40-bit encryption permits approximately 1.1 * 1012 (a trillion) possible keys. RC4 ciphers are the fastest of the supported ciphers.

Both SSL 2.0 and SSL 3.0 support this cipher.
Netscape Console supports only the SSL 3.0 version of this cipher suite.
RC2 with 40-bit encryption and MD5 message authentication. RC2 40-bit encryption permits approximately 1.1 * 1012 (a trillion) possible keys. RC2 ciphers are slower than the RC4 ciphers.

Both SSL 2.0 and SSL 3.0 support this cipher.
Netscape Console supports only the SSL 3.0 version of this cipher suite.
Weakest cipher suite. This cipher suite provides authentication and tamper detection but no encryption. Server administrators must be careful about enabling it, however, because data sent using this cipher suite is not encrypted and may be accessed by eavesdroppers.
No encryption, MD5 message authentication only. This cipher suite uses MD5 message authentication to detect tampering. It is typically supported in case a client and server have none of the other ciphers in common.

This cipher suite is supported by SSL 3.0 but not by SSL 2.0.

FORTEZZA Cipher Suites
Table 5.2 lists additional cipher suites supported by Netscape products with FORTEZZA for SSL 3.0. FORTEZZA is an encryption system used by US government agencies to manage sensitive but unclassified information. It provides a hardware implementation of two classified ciphers developed by the federal government: FORTEZZA KEA and SKIPJACK. FORTEZZA ciphers for SSL use the Key Exchange Algorithm (KEA) instead of the RSA key-exchange algorithm mentioned in the preceding section, and use FORTEZZA cards and DSA for client authentication. Table 5.2 FORTEZZA cipher suites supported by Netscape products with FORTEZZA for SSL 3.0
Strength category and recommended use
Cipher suites
Strong FORTEZZA cipher suites. Permitted for deployments within the United States only. These cipher suites support encryption that is strong enough for most business or government needs.

Netscape Console does not support these cipher suites.
RC4 with 128-bit encryption and SHA-1 message authentication. Like RC4 with 128-bit encryption and MD5 message authentication, this cipher is one of the second strongest ciphers after Triple DES. It permits approximately 3.4 * 1038 possible keys, making it very difficult to crack.

This cipher suite is supported by SSL 3.0 but not by SSL 2.0.
RC4 with SKIPJACK 80-bit encryption and SHA-1 message authentication. The SKIPJACK cipher is a classified symmetric-key cryptographic algorithm implemented in FORTEZZA-compliant hardware. Some SKIPJACK implementations support key escrow using the Law Enforcement Access Field (LEAF). The most recent implementations do not.

This cipher suite is supported by SSL 3.0 but not by SSL 2.0.
Weakest FORTEZZA cipher suite. This cipher suite provides authentication and tamper detection but no encryption. Server administrators must be careful about enabling it, however, because data sent using this cipher suite is not encrypted and may be accessed by eavesdroppers.

These cipher suites do not support Netscape Console.
No encryption, SHA-1 message authentication only. This cipher uses SHA-1 message authentication to detect tampering.

This cipher suite is supported by SSL 3.0 but not by SSL 2.0.
Netscape Console does not suppor this cipher suite.


Certificate Management
This list displays each certificate installed on this system, along with the name of the certificate's owner and the certificate's expiration date. (Certificates installed on external tokens do not appear in this list.) Select a certificate in this list, and then click Edit it if you want to:


Edit Certificate
Use this dialog box when you want to edit an existing security certificate.

Detail. Displays detailed information about the selected certificate including serial number, dates the certificate is valid, the certificate fingerprint, and whether or not the certificate is currently trusted.

Delete. Deletes the selected certificate.

Trust. Allows CA to be trusted or rejected for client certificates.


See Also

"Contents of a Certificate"

PKCS#11 Management
This window displays all available PKCS #11 modules that have been loaded onto your system. The Netscape Internal PKCS #11 Module is the default module and will always be displayed.


See Also

"Using External Encryption Devices"

Add PKCS#11 Module

File type. Choose DLL if the module is not contained in a JAR file. Then enter a name that will help you identify this module. Choose JAR if the module is contained in JAR file.

Enter full file path. Enter the full path to the file you've specified above.

For detailed information about PCKS#11 Module JAR files, see the manufacturer's documentation that came with your card reader.


Change Trust DB Password
Use this dialog box when you need to change the key database password for your encryption certificate.

Old password. Enter the password used to install the certificate.

New Password. Enter a new password string.

Confirm. Enter the password again to confirm it.


See Also

"Obtaining and Installing a Certificate"

CRL/CKL Management
This list displays certificate revocation lists (CRLs) and compromised key lists (CKLs) that are available to you.

View. Displays detailed information for the selected CRL or CKL. Also provides a way for you to delete a selected CRL or CKL.

Add. Displays dialog box for adding CRL or CKL to the trust database.


See Also

"Managing Certificate Lists"

Add CRL/CKL
Use this dialog box to add a revoked certificate list (CRL) or a compromised key list (CKL) to the trust database.

First enter an absolute path to the certificate/key list file. Then indicate whether the path leads to a CRL or CKL.


See Also

"Managing Certificate Lists"

View CRLs/CKLs
Each entry in this table represents a list of revoked certificate lists (CRLs) and compromised key lists (CKLs). To delete a CRL or CKL, select it in the table, then click Delete.


Certificate Setup Wizard - Introduction
Use the Setup Wizard when you need to set up Secure Socket Layer (SSL) encryption for your server. SSL prevents unauthorized users from eavesdropping or intercepting communication to or from this server.


See Also

"Setting up SSL Encryption"
Appendix E, "Introduction to SSL."

Token Selection

Select a token (Cryptographic Device). If your key will be stored in the local key database, choose internal (software). If your key will be stored in a SmartCard or other external device, choose the name of the external token.

Is the server certificate already requested and ready to install?.
If you've never submitted a request for this certificate, choose No. If your request has been processed and you already have a key for the certificate, or if you're installing a Trusted CA Certificate (which doesn't require a request), choose Yes. In this case, the wizard will skip to the steps described in
"Installing the Certificate" on page 78.

Choose the third option if you're using FORTEZZA. (If you're using FORTEZZA, your certificate is already stored in an external device. Although you don't need to install a certificate, you do need to run the New Trust Database Setup program once.)


Generating a Trust Database
A Trust Database stores key-pair information for your encryption certificate. Once you set up a Trust Database for this server, you can install additional certificates against it.


See Also

"Obtaining and Installing a Certificate"

Generate a Trust Database - Step 3

Selected Token. Indicates where the Trust Database information is stored.

New Password. Enter a personal password containing eight characters. At least one must be a numeric character. This password helps secure access to the new key database you're creating.

Confirm Password. Enter the same password again for verification.


Generating a Certificate Request
To determine the server host, go to Netscape Console, and locate the host in the navigation tree. When prompted for the Server Host Name, use the fully qualifed domain name. Example: <host>.<domain>


Generate a Certificate Request - Step 3

Selected Token. Displays a list of tokens you can use.

Trust Database Password. Enter the password you used when you set up the key database.


Generate a Certificate Request - Step 1

New Certificate. Choose this option when you want to create a new certificate or replace an old one. If you already have an existing certificate, the Certificate Renewal option will take less time.

Certificate Renewal. Choose this option when you have an existing certificate and want to replace or renew it.

CA Email Address. Enter the CA administrator's address where your certificate request should be sent. Sending your request by email may take longer than sending it to the CA's URL (see next field).

Show CA. Opens a browser and displays Certificate Authorities you can choose from.


Generate a Certificate Request - Step 2
Enter information about yourself, and then click Next. Fields preceded by an asterisk (*) must be completed in order to generate the certificate request. All other fields are optional.

* Your name. Enter your name as it should appear on business documents.

* Telephone. Enter a telephone number where the CA can reach you if necssary.

* Server Host Name. Enter the host name using the fully qualified domain name. Example: <systemname>.<domain>. To determine the system and domain names, go to Netscape Console, and locate your host in the navigation tree.

* Your email address. Enter an email address where the CA can reach you if necessary.

* Organization. Enter a description that identifies your organization.

Organizational Unit. Enter the organizational unit (ou) you belong to.

Locality. Enter the name of the city where your business is located.

* State or Province. Enter the name of the state or province where your business is located.

* Country. Enter the name of the country where your business is located.


Generate a Certificate Request - Step 4
Your certificate request, based on the information you've entered, displays here. Send this information to the Certificate Authority by email using the following instructions for Unix and Windows NT. When the CA sends you a response, be sure to save the information in a text file.

Unix
If you use Unix, the certificate request is sent for you automatically via sendmail.

Windows NT
The certificate information automatically generated and saved into a temp file under the \temp directory. Follow these steps to send the certificate information to the CA:

  1. Use your email program to create a new email message.
  2. Manually open the temp file created for you in the\temp directory.
  3. Copy the subject line from the temp file, and then paste it into the subject line of the new message.
  4. Copy the To address from the temp file, and then paste it into the address field of the new message.
  5. Copy the certificate information from the temp file, and then paste it into the body of the new message.
  6. Send the email message to the CA.

Install the Server Certificate
You cannot install the certificate until you've received it from the CA. If you have not received a response and certificate from the CA, click Cancel to dismiss this Wizard.


Install the Server Certificate - Step 1

This Server. Choose this option if you want to installs single certificate associated only with your server.

Server Certificate Chain. Choose this option if you want to install a CA's certificate that will be included in a certificate chain.

Trusted Certificate Authority (CA). Choose this option if you want to install a certificate from a CA that you accept as a trusted CA for client authentication.

Selected Token. Displays the token you've selected for this certificate.

Password. Enter the same password you used to generate the certificate request.

Certificate name:. Displays the generated name of the certificate you're installing.


Install the Server Certificate - Step 2

The certificate is located in this file. Choose this option if you know the absolute path to the user's certificate file. The file should contain at least one text message.

The certificate is located in the following text field.. Choose this option if you want to copy and paste the certificate information from the clipboard. Be sure to include the header.


See Also

"Sending the Server Certificate Request" on page 76

Install the Server Certificate - Step 3

This Certificate belongs to. Displays the name of the company or user who owns the certificate issued by the CA.

This Certificate was issued by. Displays the name of the CA who processed the company's or user's certificate request.

Serial Number. The serial number, valid date, and all other information displayed here are automatically generated by the CA.

This certificate is valid from. Displays dates the certificate is valid.

Add. Adds a server certificate if one has not already been installed into the certificate database.

Replace. Overwrites a currently installed certificate with a new certificate.

Cancel. Dismisses the dialog box without installing the certificate.


Security Warning
The server you've tried to connect to has presented a certificate to you for authentication purposes. Your client software does not recognize or does not trust this certificate, and it will not allow you to connect to the server until you accept the certificate.

The certificate might be expired or terminated. There is also a risk that the server's security has been compromised, and that the certificate may be presented fraudulently by a server posing as the authentic one.

You can view the certificate to help you determine whether you want to accept or reject it.


See Also

"Certificates and Authentication"
"Contents of a Certificate"

SSL Token Password
The server you are attempting to start uses the Secure Sockets Layer (SSL) protocol. Enter the password for the token you used when you enabled SSL for this server.

An SSL token provides cryptographic services and stores certificates and keys. Tokens may be stored in a local key database (internal tokens),or they may stored in a SmartCard or other external device.


See Also

"The SSL Protocol"

 

©Copyright 1999 Netscape Communications Corporation