IBM Tivoli Directory Server, Version 6.3

Using ikeyman

The following key-management program, ikeyman, is provided with IBM® JAVA. It is a user-friendly GUI for managing key files, which is implemented as a Java applet. IBM JAVA version 6 is available when you install IBM Tivoli® Directory Server version 6.3. The ikeyman utility is available on Windows in the <TDS_Install_Directory>\java\jre\bin directory, on Linux in the /opt/ibm/ldap/V6.3/java/jre/bin directory, and on AIX® and Solaris systems in the /opt/IBM/ldap/V6.3/java/jre/bin directory.

Note:
If you are prompted to set JAVA_HOME, you can set it to the java subdirectory of the IBM Tivoli Directory Server. If you use IBM Tivoli Directory Server, you also need to set the LIBPATH environment variable as follows:
On Linux platform
$export LIBPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$LIBPATH
On Windows platform
c:\> set LIB=%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin; %LIB%

On AIX systems use the LIBPATH environment variable to specify the library path, and on Solaris systems use the LD_LIBRARY_PATH environment variable.

Use ikeyman to create public-private key pairs and certificate requests, receive certificate requests into a key database file, and manage keys in a key database file.

Note:
When setting up Secure Sockets Layer communications, ensure that you use the correct key database file type for your application. For example, Java-based applications such as the Web Administration Console require JKS file types, while C-applications like IBM Tivoli Directory Server require CMS key database file types.

The tasks you can perform with ikeyman include:

Creating a key pair and requesting a certificate from a Certificate Authority

If your client application is connecting to an LDAP server that requires client and server authentication, then you need to create a public-private key pair and a certificate.

If your client application is connecting to an LDAP server that requires only server authentication, it is not necessary to create a public-private key pair and a certificate. It is sufficient to have a certificate in your client key database file that is marked as a trusted root. If the Certification Authority (CA) that issued the server's certificate is not already defined in your client key database, you need to request the CA's certificate from the CA, receive it into your key database, and mark it as trusted. See Designating a key as a trusted root.

Your client uses its private key to sign messages sent to servers. The server sends its public key to clients so that they can encrypt messages to the server, which the server decrypts with its private key.

To send its public key to a server, the client needs a certificate. The certificate contains the client's public key, the Distinguished Name associated with the client's certificate, the serial number of the certificate, and the expiration date of the certificate. A certificate is issued by a CA, which verifies the identity of the client.

The basic steps to create a certificate that is signed by a CA are:

  1. Create a certificate request using ikeyman.
  2. Submit the certificate request to the CA. This can be done using e-mail or an online submission from the CA's Web page.
  3. Receive the response from the CA to an accessible location on the file system of your server.
  4. Receive the certificate into your key database file.
Note:
If you are obtaining a signed client certificate from a CA that is not in the default list of trusted CAs, you need to obtain the CA's certificate, receive it into your key database and mark it as trusted. This must be done before receiving your signed client certificate into the key database file.

To create a public-private key pair and request a certificate:

  1. Start the ikeyman Java utility by typing:
    ikeyman
  2. Select Key Database File.
  3. Select New (or Open if the key database already exists).
  4. Specify a key database type, key database file name, and location. Click OK.
    Note:
    A key database is a file that the client or server uses to store one or more key pairs and certificates.
  5. When prompted, supply a password for the key database file. Click OK.
  6. Select Create.
  7. Select New Certificate Request.
  8. Supply user-assigned label for key pair. The label identifies the key pair and certificate in the key database file.
  9. If you are requesting a low-assurance client certificate, enter the common name. This must be unique and the full name of the user.
  10. If you are requesting a high-assurance secure server certificate, then:
  11. Click OK.
  12. A message identifying the name and location of the certificate request file is displayed. Click OK.
  13. Send the certificate request to the CA.

    If this is a request for a VeriSign low assurance certificate or secure server certificate, you must e-mail the certificate request to VeriSign.

    You can mail the low assurance certificate request to VeriSign immediately. A secure server certificate request requires more documentation. To find out what VeriSign requires for a secure server certificate request, go to the following URL: http://www.verisign.com/server/index.html.

  14. When you receive the certificate from the CA, use ikeyman to receive it into the key database where you stored the key pair. See Receiving a certificate into a key database.
Note:
Change the key database password frequently. If you specify an expiration date, you need to keep track of when you need to change the password. If the password expires before you change it, the key database is not usable until the password is changed.

Receiving a certificate into a key database

After receiving a response from your CA, you need to receive the certificate into a key database.

To receive a certificate into a key database:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply a password for the key database file. Click OK.
  6. Select Create.
  7. Select Personal Certificates in the middle window.
  8. Click Receive.
  9. Enter the name and location of the certificate file that contains the signed certificate, as received from the CA. Click OK.

Changing a key database password

To change a key database password:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Key Database File.
  7. Select Change password.
  8. Enter <New password>.
  9. Confirm <New password>.
  10. Select and set an optional password expiration time.
  11. Select Stash the password to a file? if you want the password to be encrypted and stored on disk.
  12. Click OK.
  13. A message is displayed with the file name and location of the stash password file. Click OK.
Note:
The password is important because it protects the private key. The private key is the only key that can sign documents or decrypt messages encrypted with the public key.

Showing information about a key

To show information about a key, such as its name, size or whether it is a trusted root:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. To see information about keys designated as Personal certificates:
  7. To see information about keys that are designated as Signer Certificates:

Deleting a Key

To delete a key:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select the type of key you want to delete from the list under the Key database content section (Personal Certificates, Signer Certificates, or Personal Certificate Requests).
  7. Select a certificate.
  8. Click Delete.
  9. Click Yes to confirm.

Making a key the default key in the key ring

The default key must be the private key that the server uses for its secure communications.

To make a key the default key in the key ring:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Personal Certificates from the list under the Key database content section.
  7. Select the desired certificate.
  8. Click View/Edit.
  9. Select the Set the certificate as the default box. Click OK.

Creating a key pair and certificate request for self-signing

By definition, a secure server must have a public-private key pair and a certificate.

The server uses its private key to sign messages to clients. The server sends its public key to clients so they can encrypt messages to the server, which the server decrypts with its private key.

The server needs a certificate to send its public key to clients. The certificate contains the server's public key, the distinguished name associated with the server's certificate, the serial number of the certificate, and the expiration date of the certificate. A certificate is issued by a CA, who verifies the identity of the server.

You can request one of the following certificates:

For information about using a CA such as VeriSign to sign the server certificate, see Creating a key pair and requesting a certificate from a Certificate Authority.

The basic steps to creating a self-signed certificate are:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select New, or Open if the key database already exists.
  4. Specify a key database type, key database file name, and location. Click OK.
    Note:
    A key database is a file that the client or server uses to store one or more key pairs and certificates.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Click New self-signed.
  7. Supply the following:
  8. Click OK.

Exporting a key

If you need to transfer a key pair or certificate to another computer, you can export the key pair from its key database to a file. On the other computer, you can import the key pair into a key ring.

To export a key from a key database:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Personal Certificates from the list under the Key database content section.
  7. Select the desired certificate.
  8. Click Export/Import.
  9. For Action type, select Export Key.
  10. Select the Key file type.
    Note:
    IBM Tivoli Directory Server requires CMS key database file types.
  11. Specify a file name.
  12. Specify the location.
  13. Click OK.
  14. Enter the required password for the file. Click OK.

Importing a key

To import a key into a key ring:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Personal Certificates from the list under the Key database content section.
  7. Select the desired certificate.
  8. Click Export/Import.
  9. For Action type, select Import Key.
  10. Select the desired Key file type.
    Note:
    When setting up Secure Sockets Layer communications, ensure that you use the correct key database file type for your application. For example, Java-based applications such as the Web Administration Console require JKS file types, while C-applications like IBM Tivoli Directory Server require CMS key database file types.
  11. Enter the file name and location.
  12. Click OK.
  13. Enter the required password for the source file. Click OK.

Designating a key as a trusted root

A trusted root key is the public key and associated distinguished name of a CA. The following trusted roots are defined in each new key database:

Note:
Each of these trusted roots are initially set to be trusted roots by default.

To designate a key as a trusted root:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Signer Certificates from the list under the Key database content section.
  7. Click Populate.
  8. From the Add CA Certificates dialog box, select the desired certificates.
  9. Click View/Edit.
  10. Check the Set the certificate as a trusted root check box, and click OK.
  11. Select Key Database File, and then select Close.

Removing a key as a trusted root

A trusted root key is the public key and associated distinguished name of a CA. The following trusted roots are defined in each new key database:

Note:
Each of these trusted roots are initially set to be trusted roots by default.

To remove the trusted root status of a key:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Signer Certificates from the list under the Key database content section.
  7. Select the desired certificate.
  8. Click View/Edit.
  9. Clear the Set the certificate as a trusted root check box. Click OK.
  10. Select Key Database File, and then select Close.

Requesting a certificate for an existing key

To create a certificate request for an existing key:

  1. Type ikeyman to start the Java utility.
  2. Select Key database file.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key database file. Click OK.
  6. Select Personal Certificates from the list under the Key database content section.
  7. Select the desired certificate.
  8. Click Export/Import.
  9. For Action type, select Export Key.
  10. Select the desired key file type.
  11. Enter the certificate file name and location.
  12. Click OK.
  13. Select Key Database File, and then select Close.

Send the certificate request to the CA.

If this is a request for a VeriSign low assurance certificate or secure server certificate, you must e-mail the certificate request to VeriSign.

You can mail the low assurance certificate request to VeriSign immediately. A secure server certificate request requires more documentation. To find out what VeriSign requires for a secure server certificate request, go to the following URL: http://www.verisign.com/server/index.html.

Migrating a key ring file to the key database format

The ikeyman program can be used to migrate an existing key ring file, as created with mkkf, to the format used by ikeyman.

To migrate a key ring file:

  1. Type ikeyman to start the Java utility.
  2. Select Key Database File.
  3. Select Open.
  4. Specify the key database type, key database file name, and location. Click OK.
  5. When prompted, supply the password for the key ring file. Click OK.
  6. Select Key Database File.
  7. Select Save as.
  8. Select CMS as the key database type.
  9. Specify a file name.
  10. Specify location.
  11. Click OK.

[ Top of Page | Previous Page | Next Page ]