Skip Headers
Oracle® Collaboration Suite Security Guide
10g Release 1 (10.1.1)

Part Number B14489-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

6 Managing Wallets and Certificates

This appendix explains how to obtain and manage security credentials for Oracle Application Server resources. Security administrators can use Oracle Wallet Manager and its command-line utility, orapki, to manage Public Key Infrastructure (PKI) credentials on Oracle clients and servers. These tools create credentials that can be read by Oracle Database, Oracle Application Server, and the Oracle Identity Management infrastructure.

This appendix contains the following topics:

Using Oracle Wallet Manager

This section describes Oracle Wallet Manager, a graphical user interface (GUI) tool used to manage PKI certificates. It contains the following topics:

Overview of Oracle Wallet Manager

Oracle Wallet Manager is an application used to manage and edit security credentials in Oracle wallets. A wallet is a password-protected container that stores authentication and signing credentials, including private keys, certificates, and trusted certificates, all of which are used by SSL for strong authentication. You can use Oracle Wallet Manager to perform the following tasks:

  • Create wallets

  • Generate certificate requests

  • Open wallets to access PKI-based services

  • Save credentials to hardware security modules by using APIs, which comply to Public Key Cryptography Standard (PKCS#11) specification

  • Upload wallets to and download them from an LDAP directory

  • Import third-party PKCS #12-format wallets to use in an Oracle environment

  • Export Oracle wallets to third-party environments

The following sections describe the features of Oracle Wallet Manager:

Wallet Password Management

Oracle wallets are password-protected. Oracle Wallet Manager includes an enhanced wallet password management module that enforces the following password management policy guidelines:

  • Minimum password length: 8 characters

  • Maximum password length: Unlimited

  • Alphanumeric character mix: Required

Strong Wallet Encryption

Oracle Wallet Manager stores private keys associated with X.509 certificates and uses Triple-DES encryption.

Microsoft Windows Registry Wallet Storage

As an option, Oracle Wallet Manager enables you to store multiple Oracle wallets in the user profile area of the Microsoft Windows system registry or in a Microsoft Windows file management system. Storing your wallets in the registry provides the following benefits:

  • Better Access Control: Wallets stored in the user profile area of the registry are accessible only by the associated user. User access controls for the system become, by extension, access controls for the wallets. In addition, when you log out of a system, access to your wallet is effectively prohibited.

  • Easier Administration: Because wallets are associated with specific user profiles, no file permissions need to be managed, and the wallets stored in the profile are automatically deleted when the user profile is deleted. Oracle Wallet Manager can be used to create and manage the wallets in the registry.

Oracle Wallet Manager lets you perform the following tasks:

  • Open the wallet from the registry

  • Save the wallet to the registry

  • Save the wallet to a different registry location

  • Delete the wallet from the registry

  • Open the wallet from the file system and save it to the registry

  • Open the wallet from the registry and save it to the file system

Third-Party Wallet Support

Oracle Wallet Manager can use PKI credentials from the following third-party applications:

  • Microsoft Internet Explorer 5.0 and later

  • Netscape Communicator 4.7.2 and later

  • OpenSSL

Browser PKI credential stores (those from Microsoft Internet Explorer and Netscape) hold user certificates, which contain the subject's public key and identifying information, and their associated trusted certificates. To use these credentials, you must export them from the third-party environment and save them in PKCS #12 format. Then, you can use Oracle Wallet Manager to open them for use with SSL.

LDAP Directory Support

Oracle Wallet Manager can upload wallets to and retrieve them from an LDAP-compliant directory. Storing wallets in a centralized LDAP-compliant directory lets users access them from multiple locations or devices, ensuring consistent and reliable user authentication, while providing centralized wallet management throughout the wallet life cycle. To prevent accidental overwrite of functional wallets, only wallets containing an installed certificate can be uploaded.

Directory user entries must be defined and configured in the LDAP directory before Oracle Wallet Manager can be used to upload or download wallets for a user. Oracle Wallet Manager downloads a user wallet by using a simple password-based connection to the LDAP directory. However, for uploads, Oracle Wallet Manager uses an SSL connection, if the open wallet contains a certificate with SSL Oracle PKI certificate usage. If an SSL certificate is not present in the wallet, then password-based authentication is used.

Note:

The directory password and the wallet password are independent of each other and can be different. Oracle recommends that these passwords be maintained to be consistently different, where neither one can logically be derived from the other.

Starting Oracle Wallet Manager

To start Oracle Wallet Manager:

  • On Microsoft Windows, click Start, Programs, ORACLE_HOME, Network Administration, and then Wallet Manager.

  • On UNIX, type owm at the command prompt.

Creating a Complete Wallet: Process Overview

A wallet is a necessary repository in which you can securely store user certificates and the trust points needed to validate the certificates of peers.

The following steps provide an overview of the complete wallet creation process:

  1. Use Oracle Wallet Manager to create a new wallet:

  2. Generate a certificate request. When you create a wallet with Oracle Wallet Manager, the tool automatically prompts you to create a certificate request. Refer to Adding a Certificate Request for information about creating a certificate request.

  3. Send the certificate request to the Certificate Authority (CA) you want to use. You can copy and paste the certificate request text into an e-mail message, or you can export the certificate request to a file. Refer to Exporting a User Certificate Request. The certificate request becomes part of the wallet and must remain there until you remove its associated certificate.

  4. When the CA sends your signed user certificate and its associated trusted certificate, you can import these certificates in the following order:

    1. Import the trusted certificate of the CA into the wallet. Refer to Importing a Trusted Certificate. This step is optional if the new user certificate has been issued by one of the CAs whose trusted certificate is already present in Oracle Wallet Manager by default.

    2. After you have successfully imported the trusted certificate, import the user certificate that the CA sent to you into your wallet. Refer to Importing the User Certificate Into the Wallet.

    Note:

    User certificates and trusted certificates in the PKCS #7 format can be imported at the same time.
  5. Set the Auto Login feature for the wallet. Refer to Using Auto Login. This step is optional.

    Typically, this feature, which enables PKI-based access to services without a password, is required for most wallets. It is required for database server and client wallets. It is only optional for products that take the wallet password at the time of startup.

After completing the preceding steps, you have a wallet that contains a user certificate and its associated trust points.

Managing Wallets

This section describes how to create a wallet and perform associated wallet management tasks in the following subsections:

Guidelines for Creating Wallet Passwords

Because an Oracle Wallet contains user credentials that can be used to authenticate the user to multiple databases, it is important to choose a strong wallet password. A malicious user who guesses the wallet password can access all the databases to which the wallet owner has access.

Passwords must contain at least eight characters that consist of alphabetic characters combined with numbers or special characters.

Caution:

It is strongly recommended that you avoid choosing easily guessed passwords based on user names, phone numbers, or government identification numbers, such as admin0, oracle1, or 2135551212A. This prevents a potential attacker from using personal information to deduce user passwords. It is also a prudent security practice for you to change your passwords periodically, such as once in a month or once in three months.

When you change passwords, you must regenerate Auto Login wallets.

Creating a Wallet

You can use Oracle Wallet Manager to create PKCS #12 wallets (the standard default wallet type) that store credentials in a directory on your file system. It can also be used to create PKCS #11 wallets that store credentials on a hardware security module for servers, or private keys on tokens for clients. The following sections explain how to create both types of wallets by using Oracle Wallet Manager:

Creating a Standard Wallet

Unless you have a hardware security module (a PKCS #11 device), you should use a standard wallet that stores credentials in a directory on your file system.

To create a standard wallet:

  1. From the Wallet menu, select New. The New Wallet dialog box is displayed.

  2. Follow the guidelines specified in Guidelines for Creating Wallet Passwords and enter a password in the Wallet Password field. This password protects unauthorized use of your credentials.

  3. Reenter that password in the Confirm Password field.

  4. Select Standard from the Wallet Type list.

  5. Click OK to continue. If the entered password does not conform to the required guidelines, then the following message is displayed:

    Password must have a minimum length of eight characters, and contain alphabetic
    characters combined with numbers or special characters. Do you want to try
    again?
    
    
  6. An alert that informs you that a new empty wallet has been created appears. It prompts you to choose whether you want to add a certificate request. Refer to Adding a Certificate Request.

    If you click No, then you are redirected to the Oracle Wallet Manager main window. The new wallet you just created is displayed in the left pane. The certificate has a status of [Empty], and the wallet displays its default trusted certificates.

  7. From the Wallet menu, select Save In System Default to save the new wallet.

    If you do not have permission to save the wallet in the system default, then you can save it to another location. This location must be used in the SSL configuration for clients and servers.

    A message at the bottom of the window confirms that the wallet was successfully saved.

Creating a Wallet to Store Hardware Security Module Credentials

To create a wallet to store credentials on a hardware security module that complies with PKCS #11:

  1. From the Wallet menu, select New. The New Wallet dialog box is displayed.

  2. Follow the guidelines specified in Guidelines for Creating Wallet Passwords and enter a password in the Wallet Password field.

  3. Reenter that password in the Confirm Password field.

  4. Choose PKCS11 from the Wallet Type list, and click OK to continue. The New PKCS11 Wallet dialog box is displayed.

  5. Choose a vendor name from the Select Hardware Vendor list.

    Note:

    In the current release of Oracle Wallet Manager, only nCipher hardware has been certified to interoperate with Oracle wallets.
  6. In the PKCS11 library filename field, enter the path to the directory in which the PKCS11 library is stored, or click Browse to find it by searching the file system.

  7. Enter the SmartCard password, and click OK.

    The SmartCard password, which is different from the wallet password, is stored in the wallet.

  8. An alert that informs you that a new empty wallet has been created appears. It prompts you to decide whether you want to add a certificate request. Refer to Adding a Certificate Request.

    If you click No, then you are redirected to the Oracle Wallet Manager main window. The new wallet you just created is displayed in the left pane. The certificate has a status of [Empty], and the wallet displays its default trusted certificates.

  9. From the Wallet menu, select Save In System Default to save the new wallet.

    If you do not have permission to save the wallet in the system default, then you can save it to another location.

    A message at the bottom of the window confirms that the wallet was successfully saved.

    Note:

    If you change the SmartCard password or move the PKCS #11 library, then an error message appears when you try to open the wallet. Then, you are prompted to enter the new SmartCard password or the new path to the library.

Opening an Existing Wallet

To open a wallet that already exists in the file system directory:

  1. From the Wallet menu, select Open. The Select Directory dialog box is displayed.

  2. Navigate to the directory location in which the wallet is located, and select the directory.

  3. Click OK. The Open Wallet dialog box is displayed.

  4. Enter the wallet password in the Wallet Password field.

  5. Click OK.

    You are redirected to the main window and a message is displayed at the bottom of the window indicating the wallet was opened successfully. The wallet certificate and its trusted certificates are displayed in the left pane.

Closing a Wallet

To close an open wallet in the currently selected directory, select Close from the Wallet menu.

A message is displayed at the bottom of the window to confirm that the wallet is closed.

Exporting Oracle Wallets to Third-Party Environments

Oracle Wallet Manager can export its own wallets to third-party environments.

To export a wallet to third-party environments:

  1. Use Oracle Wallet Manager to save the wallet file.

  2. Follow the procedure specific to your third-party product to import an operating system PKCS #12 wallet file created by Oracle Wallet Manager (called ewallet.p12 on UNIX and Microsoft Windows platforms).

    Note:

    • Oracle Wallet Manager supports multiple certificates for each wallet, but current browsers typically support import of single-certificate wallets only. For these browsers, you must export an Oracle wallet containing a single key pair.

    • Oracle Wallet Manager supports exporting wallets only to Netscape Communicator 4.7.2 and later, OpenSSL, and Microsoft Internet Explorer 5.0 and later.

Exporting Oracle Wallets to Tools That Do Not Support PKCS #12

You can export a wallet to text-based PKI format if you want to put a wallet into a tool that does not support PKCS #12. Individual components are formatted according to the standards listed in Table 6-1. Within the wallet, only those certificates with SSL key usage are exported with the wallet.

To export a wallet to text-based PKI format:

  1. From the Operations menu, select Export Wallet.... The Export Wallet dialog box is displayed.

  2. Enter the destination file system directory for the wallet, or navigate to the directory structure under Folders.

  3. Enter the destination file name for the wallet.

  4. Click OK to return to the main window.

Table 6-1 PKI Wallet Encoding Standards

Component Encoding Standard
Certificate chains X.509v3
Trusted certificates X.509v3
Private keys PKCS #8

Uploading a Wallet to an LDAP Directory

To upload a wallet to an LDAP directory, Oracle Wallet Manager uses SSL if the specified wallet contains an SSL certificate. Otherwise, it lets you enter the directory password.

To prevent the accidental destruction of your wallet, Oracle Wallet Manager will not permit you to complete the upload option unless the target wallet is currently open and contains at least one user certificate.

To upload a wallet:

  1. From the Wallet menu, select Upload Into The Directory Service.... If the currently open wallet has not been saved, then the following message is displayed:

    Wallet needs to be saved before uploading.

    Click Yes to proceed.

  2. Wallet certificates are checked for SSL key usage. Depending on whether a certificate with SSL key usage is found in the wallet, one of the following results occur:

    • If at least one certificate has SSL key usage: When prompted, enter the LDAP directory server host name and port information, and then click OK. Oracle Wallet Manager attempts to connect to the LDAP directory server using SSL. A message is displayed indicating whether the wallet was uploaded successfully or if it failed.

    • If no certificates have SSL key usage: When prompted, enter your distinguished name (DN), the LDAP server host name and port information, and click OK. Oracle Wallet Manager attempts to connect to the LDAP directory server using simple password authentication mode, assuming that the wallet password is the same as the directory password.

      If the connection fails, then you are prompted for the directory password of the specified DN. Oracle Wallet Manager attempts to connect to the LDAP directory server using this password and displays a warning message if the attempt fails. Otherwise, Oracle Wallet Manager displays a status message at the bottom of the window indicating that the upload was successful.

Downloading a Wallet from an LDAP Directory

When a wallet is downloaded from an LDAP directory, it is stored in the working memory. It is not saved to the file system unless you explicitly save it using any of the Save options described in the following sections.

To download a wallet from an LDAP directory:

  1. From the Wallet menu, select Download From The Directory Service....

  2. A dialog box prompts for your DN, the LDAP directory password, host name, and port information. Oracle Wallet Manager uses simple password authentication to connect to the LDAP directory.

    Depending on whether the downloading operation succeeds or not, one of the following results occurs:

    • If the download operation fails: Check to make sure that you have correctly entered your DN, and the LDAP server host name and port information.

    • If the download is successful: Click OK to open the downloaded wallet. Oracle Wallet Manager attempts to open that wallet using the directory password. If the operation fails after using the directory password, then a dialog box prompts for the wallet password.

      If Oracle Wallet Manager cannot open the target wallet using the wallet password, then check to make sure that you have entered the correct password. Otherwise, a message is displayed at the bottom of the window, indicating that the wallet was downloaded successfully.

Saving Changes

To save your changes to the current open wallet, select Save from the Wallet menu.

A message at the bottom of the window confirms that the wallet changes were successfully saved to the wallet in the selected directory location.

Saving an Open Wallet to a New Location

To save open wallets to a new location:

  1. From the Wallet menu, select Save As.... The Select Directory dialog box is displayed.

  2. Select a directory location to save the wallet.

  3. Click OK.

    The following message is displayed if a wallet already exists in the selected location:

    A wallet already exists in the selected path. Do you want to overwrite it?
    
    

    Click Yes to overwrite the existing wallet, or No to save the wallet to another location.

    A message at the bottom of the window confirms that the wallet was successfully saved to the selected directory location.

Saving a Wallet in System Default

To save wallets in the default directory location, use the Save In System Default menu option:

From the Wallet menu, select Save In System Default.

A message at the bottom of the window confirms that the wallet was successfully saved in the system default wallet location, as follows, for UNIX and Microsoft Windows platforms:

  • (UNIX) ORACLE_HOME/admin/ORACLE_SID

  • (Microsoft Windows) ORACLE_BASE\ORACLE_HOME\rdbms\admin

    Note:

    • SSL uses the wallet that is saved in the system default directory location.

    • Some Oracle applications cannot use the wallet if it is not in the system default location. Check the Oracle documentation for your specific application to determine whether wallets must be placed in the default wallet directory location.

Deleting a Wallet

To delete an open wallet:

  1. From the Wallet menu, select Delete. The Delete Wallet dialog box is displayed.

  2. Review the displayed wallet location to confirm that you are deleting the correct wallet.

  3. Enter the wallet password.

  4. Click OK. A dialog box is displayed that informs you that the wallet was successfully deleted.

    Note:

    Any open wallet in application memory will remain in memory until the application exits. Deleting a wallet that is currently in use does not immediately affect system operation.

Changing the Password

A password change is effective immediately. The wallet is saved to the currently selected directory, with the new encrypted password.

Note:

If you are using a wallet with Auto Login enabled, then you must regenerate the Auto Login wallet after changing the password. Refer to Chapter6, "Using Auto Login".

To change the password for the current open wallet:

  1. From the Wallet menu, select Change Password. The Change Wallet Password dialog box is displayed.

  2. Enter the existing wallet password.

  3. Enter the new password.

  4. Reenter the new password.

  5. Click OK.

A message at the bottom of the window confirms that the password was successfully changed.

Using Auto Login

The Oracle Wallet Manager Auto Login feature creates an obfuscated copy of the wallet and enables PKI-based access to services without a password until the Auto Login feature is disabled for the wallet. File system permissions provide the necessary security for Auto Login wallets. When Auto Login is enabled for a wallet, it is only available to the operating system user who created that wallet.

You must enable Auto Login if you want single sign-on access to multiple Oracle databases, which is disabled by default. Sometimes these are called SSO wallets because they provide single sign-on capability.

Enabling Auto Login

To enable Auto Login select Auto Login from the Wallet menu. A message at the bottom of the window indicates that Auto Login is enabled.

Disabling Auto Login

To disable Auto Login, clear Auto Login from the Wallet menu. A message at the bottom of the window indicates that Auto Login is disabled.

Managing Certificates

Oracle Wallet Manager uses two types of certificates, user certificates and trusted certificates. All certificates are signed data structures that bind a network identity with a corresponding public key. User certificates are used by end entities, including server applications, to validate the identity of an end entity in a public key/private key exchange. In comparison, trusted certificates are the certificates that you trust, such as those provided by CAs to validate the user certificates that they issue.

This section describes how to manage both certificate types, in the following subsections:

  • Managing User Certificates

  • Managing Trusted Certificates

    Note:

    You must first install a trusted certificate from the certificate authority before you can install a user certificate issued by that authority. Several trusted certificates are installed by default when you create a new wallet.

Managing User Certificates

User certificates can be used by end users, smart cards, or applications, such as Web servers. Server certificates are a type of user certificate. For example, if a CA issues a certificate for a Web server by placing its DN in the Subject field, then the Web server is the certificate owner or the user for this user certificate. User certificates do not validate other user certificates, except when they are used as a trusted certificate in a user-centric trust model.

See Also:

Understanding Public-Key Infrastructure: Concepts, Standards, and Deployment Considerations by Carlisle Adams and Steve Lloyd, a third-party publication, for a discussion of user-centric and other trust models.

Managing user certificates involves the following tasks:

Adding a Certificate Request

You can add multiple certificate requests with Oracle Wallet Manager. When adding multiple requests, Oracle Wallet Manager automatically populates each subsequent request dialog box with the content of the initial request that you can then edit.

The actual certificate request becomes part of the wallet. You can reuse any certificate request to obtain a new certificate. However, you cannot edit an existing certificate request. Store only a correctly filled certificate request in a wallet.

To create a PKCS #10 certificate request:

  1. From the Operations menu, select Add Certificate Request. The Create Certificate Request dialog box is displayed.

  2. Enter the information specified in Table 6-2.

  3. Click OK. A message informs you that a certificate request was successfully created. You can either copy the certificate request text from the body of this dialog box and paste it into an e-mail message to send to a certificate authority, or you can export the certificate request to a file.

  4. Click OK to return to the Oracle Wallet Manager main window. The status of the certificate changes to [Requested].

Table 6-2 Certificate Request: Fields and Descriptions

Field Name Description
Common Name Mandatory. Enter the name of the identity of the user or service identity. Enter a user name in firstname.lastname format.

Example: Eileen.Sanger

Organizational Unit Optional. Enter the name of the organizational unit of the identity. Example: Finance.
Organization Optional. Enter the name of the organization of the identity. Example: XYZ Corp.
Locality/City Optional. Enter the name of the locality or city in which the identity resides.
State/Province Optional. Enter the full name of the state or province in which the identity resides.

Enter the full state name, because some certificate authorities do not accept two-letter abbreviations.

Country Mandatory. Select to view a list of country abbreviations. Choose the country in which the organization is located.
Key Size Mandatory. Select to view a list of key sizes to use when creating the public/private key pair. Refer to Table 6-3 to evaluate key sizes.
Advanced Optional. Select Advanced to view the Advanced Certificate Request dialog box. Use this dialog box to edit or customize the identity's DN. For example, you can edit the full state name and locality.

Table 6-3 lists the available key sizes and the relative security each size provides. Typically, CAs use key sizes of 1024 or 2048 bits. When certificate owners wish to keep their keys for a longer duration, they choose 3072 or 4096 bit keys.

Table 6-3 Available Key Sizes

Key Size Relative Security Level
512 or 768 Not regarded as secure.
1024 or 2048 Secure.
3072 or 4096 Very secure.

Importing the User Certificate Into the Wallet

The CA sends you an e-mail notification when your certificate request has been fulfilled. Import the certificate into a wallet in either of two ways, copy and paste the certificate from the e-mail of the CA, or import the user certificate from a file. CAs may send your certificate in a PKCS #7 certificate chain file, or as an individual X.509 certificate. Oracle Wallet Manager can import both types. PKCS #7 certificate chains are a collection of certificates, including the user's certificate and all of the supporting CA and subCA certificates. In contrast, an X.509 certificate file contains an individual certificate without the supporting certificate chain.

To copy and paste the text only (BASE64) user certificate from the e-mail of the CA:

  1. Copy the certificate text from the e-mail message or file you receive from the CA. Include the lines Begin Certificate and End Certificate.

  2. From the Operations menu, select Import User Certificate.... The Import Certificate dialog box is displayed.

  3. Select Paste the certificate, and then click OK. Another Import Certificate dialog box is displayed with the following message:

    Please provide a base64 format certificate and paste it below.
    
    
  4. Paste the certificate into the dialog box, and click OK. A message at the bottom of the window confirms that the certificate was successfully installed. You are redirected to the Oracle Wallet Manager main window, and the status of the corresponding entry in the left panel subtree changes to [Ready].

To import a file that contains the user certificate:

  1. From the Operations menu, select Import User Certificate.... The Import Certificate dialog box is displayed.

  2. Choose Select a file that contains the certificate, and click OK. Another Import Certificate dialog box is displayed.

  3. Enter the path or folder name of the certificate file location.

  4. Select the name of the certificate file (for example, cert.txt).

  5. Click OK. A message at the bottom of the window confirms that the certificate was successfully installed. You are redirected to the Oracle Wallet Manager main window, and the status of the corresponding entry in the left panel subtree changes to [Ready].

Note:

The file containing the user certificate should have been saved in either text (BASE64) or binary (der) format.

Importing Certificates Created with a Third-Party Tool

Third-party certificates are the certificates whose certificate requests have been generated without using Oracle Wallet Manager. Oracle Wallet Manager can import and support the following PKCS #12-format certificates, subject to procedures and limitations specific to the program you use:

  • Netscape Communicator 4.x

  • Microsoft Internet Explorer 5.x and later

  • OpenSSL

To import a certificate created with a third-party tool, you must first export it from the application you are using, and then save it as a wallet file that can be read by Oracle Wallet Manager. Refer to Importing Wallets Created with a Third-Party Tool for information about importing certificates that are created with third-party tools.

Removing a User Certificate from a Wallet

To remove a user certificate from a wallet:

  1. In the left panel, select the certificate that you want to remove.

  2. From the Operations menu, select Remove User Certificate.... A dialog box is displayed and it prompts you to verify that you want to remove the user certificate from the wallet.

  3. Click Yes to return to the Oracle Wallet Manager main panel. The certificate displays a status of [Requested].

Removing a Certificate Request

You must remove a certificate before removing its associated request.

To remove a certificate request:

  1. In the left panel, select the certificate request that you want to remove.

  2. From the Operations menu, select Remove Certificate Request....

  3. Click Yes. The certificate displays a status of [Empty].

Exporting a User Certificate

To save the certificate in a file system directory, export the certificate, as follows:

  1. In the left panel, select the certificate that you want to export.

  2. From the Operations menu, select Export User Certificate.... The Export Certificate dialog box is displayed.

  3. Enter the file system directory location in which you want to save your certificate, or navigate to the directory structure under Folders.

  4. Enter a file name for your certificate in the Enter File Name field.

  5. Click OK. A message at the bottom of the window confirms that the certificate was successfully exported to the file. You are redirected to the Oracle Wallet Manager main window.

See Also:

Exporting Oracle Wallets to Third-Party Environments for information about exporting wallets. Note that Oracle Wallet Manager supports storing multiple certificates in a single wallet, yet current browsers typically support only single-certificate wallets. For these browsers, you must export an Oracle wallet that contains a single key-pair.

Exporting a User Certificate Request

To save the certificate request in a file system directory, export the certificate request, as follows:

  1. In the left panel, select the certificate request that you want to export.

  2. From the Operations menu, select Export Certificate Request.... The Export Certificate Request dialog box is displayed.

  3. Enter the file system directory location in which you want to save your certificate request, or navigate to the directory structure under Folders.

  4. Enter a file name for your certificate request in the Enter File Name field.

  5. Click OK. A message at the bottom of the window confirms that the certificate request was successfully exported to the file. You are redirected to the Oracle Wallet Manager main window.

Managing Trusted Certificates

Managing trusted certificates includes the following tasks:

Importing a Trusted Certificate

You can import a trusted certificate into a wallet either by pasting the trusted certificate from an e-mail that you receive from the CA, or importing the trusted certificate from a file.

Oracle Wallet Manager automatically installs trusted certificates from VeriSign, RSA, Entrust, and GTE CyberTrust when you create a new wallet.

To copy and paste the text-only (BASE64) trusted certificate:

  1. Copy the trusted certificate from the body of the e-mail message you received that contained the user certificate. Include the lines Begin Certificate and End Certificate.

  2. From the Operations menu, select Import Trusted Certificate.... The Import Trusted Certificate dialog box is displayed.

  3. Select Paste the Certificate and click OK. Another Import Trusted Certificate dialog box is displayed with the following message:

    Please provide a base64 format certificate and paste it below.
    
    
  4. Paste the certificate into the window and click OK. A message at the bottom of the window informs you that the trusted certificate was successfully installed.

  5. Click OK. You are redirected to the Oracle Wallet Manager main panel, and the trusted certificate is displayed at the bottom of the Trusted Certificates list.

To import a file that contains the trusted certificate:

  1. From the Operations menu, select Import Trusted Certificate.... The Import Trusted Certificate dialog box is displayed.

  2. Enter the path or folder name of the trusted certificate location.

  3. Select the name of the trusted certificate file (for example, cert.txt).

  4. Click OK. A message at the bottom of the window informs you that the trusted certificate was successfully imported into the wallet.

  5. Click OK to exit the dialog box. You are redirected to the Oracle Wallet Manager main window, and the trusted certificate is displayed at the bottom of the Trusted Certificates list.

Note:

The file containing the trusted certificate should have been saved in either text (BASE64) or binary (der) format.

Removing a Trusted Certificate

You cannot remove a trusted certificate if it has been used to sign a user certificate still present in the wallet. To remove such trusted certificates, you must first remove the certificates it has signed. In addition, you cannot verify a certificate after its trusted certificate has been removed from your wallet.

To remove a trusted certificate from a wallet:

  1. Select the trusted certificate listed in the Trusted Certificates list.

  2. From the Operations menu, select Remove Trusted Certificate....

    A dialog box warns you that your user certificate will no longer be verifiable by its recipients if you remove the trusted certificate that was used to sign it.

  3. Click Yes. The selected trusted certificate is removed from the Trusted Certificates list.

Exporting a Trusted Certificate

To export a trusted certificate to another file system location:

  1. In the left panel, select the trusted certificate that you want to export.

  2. From the Operations menu, select Export Trusted Certificate.... The Export Trusted Certificate dialog box is displayed.

  3. Enter a file system directory in which you want to save your trusted certificate, or navigate to the directory structure under Folders.

  4. Enter a file name to save your trusted certificate.

  5. Click OK. You are redirected to the Oracle Wallet Manager main window.

Exporting All Trusted Certificates

To export all your trusted certificates to another file system location:

  1. From the Operations menu, select Export All Trusted Certificates.... The Export Trusted Certificate dialog box is displayed.

  2. Enter a file system directory location in which you want to save your trusted certificates, or navigate to the directory structure under Folders.

  3. Enter a file name to save your trusted certificates.

  4. Click OK. You are redirected to the Oracle Wallet Manager main window.

Performing Certificate Validation and CRL Management With the orapki Utility

The orapki utility is a command-line tool that you can use to manage certificate revocation lists (CRLs), create and manage Oracle wallets, and create signed certificates for testing purposes.

The following sections describe this tool and how to use it:

Overview of orapki

The orapki utility is provided to manage PKI elements, such as wallets and certificate revocation lists, on the command line so that the tasks it performs can be incorporated into scripts. This enables you to automate many of the routine tasks of maintaining a PKI.

This command-line utility can be used to perform the following tasks:

  • Create signed certificates for testing purposes

  • Manage Oracle wallets:

    • Create and display Oracle wallets

    • Add and remove certificate requests

    • Add and remove certificates

    • Add and remove trusted certificates

  • Manage CRLs:

    • Rename CRLs with a hash value for certificate validation

    • Upload, list, view, and delete CRLs in Oracle Internet Directory

orapki Utility Syntax

The basic syntax of the orapki command-line utility is:

orapki module command -parameter value

In the preceding command, module can be wallet (Oracle wallet), crl (certificate revocation list), or cert (PKI digital certificate). The available commands depend on the module you are using. For example, if you are working with a wallet, then you can add a certificate or a key to the wallet by using the add command. The following example adds the user certificate located at /private/lhale/cert.txt to the wallet located at $ORACLE_HOME/wallet/ewallet.p12:

orapki wallet add -wallet $ORACLE_HOME/wallet/ewallet.p12 -user_cert -cert /private/lhale/cert.txt

Displaying orapki Help

You can display all the orapki commands that are available for a specific mode by entering the following at the command line:

orapki mode help

For example, to display all available commands for managing CRLs, enter the following at the command line:

orapki crl help

Note:

Using the -summary, -complete, or -wallet command options is optional. A command will still run if these command options are not specified.

Creating Signed Certificates for Testing Purposes

This command-line utility provides a convenient, lightweight way to create signed certificates for testing purposes. The following syntax can be used to create signed certificates and to view certificates:

To create a signed certificate for testing purposes, use the following command:

orapki cert create [-wallet wallet_location] -request certificate_request_location
-cert certificate_location -validity number_of_days [-summary]

This command creates a signed certificate from the certificate request. The -wallet parameter specifies the wallet containing the user certificate and private key that will be used to sign the certificate request. The -validity parameter specifies the number of days, starting from the current date, that this certificate will be valid. Specifying a certificate and certificate request is mandatory for this command.

To view a certificate, use the following command:

orapki cert display -cert certificate_location [-summary | -complete]

This command enables you to view a test certificate that you have created with orapki. You can choose either -summary or -complete, which determines how much detail the command will display. If you choose -summary, then the command will display the certificate and its expiration date. If you choose -complete, then it will display additional certificate information, including the serial number and public key.

Managing Oracle Wallets with the orapki Utility

The following sections describe the syntax used to create and manage Oracle wallets with the orapki command-line utility. You can use these orapki utility wallet module commands in scripts to automate the wallet creation process. This section contains the following topics:

Creating and Viewing Oracle Wallets with the orapki Utility

To create an Oracle wallet, use the following command:

orapki wallet create -wallet wallet_location

The preceding command prompts you to enter and reenter a wallet password. It creates a wallet in the location specified for -wallet.

To create an Oracle wallet with Auto Login enabled, use the following command:

orapki wallet create -wallet wallet_location -auto_login

The preceding command creates a wallet with Auto Login enabled. This command can also be used to enable Auto Login on an existing wallet. If wallet_location already contains a wallet, then Auto Login will be enabled for it. To turn the Auto Login feature off, use Oracle Wallet Manager. Refer to Using Auto Login for details.

Note:

For wallets with the Auto Login feature enabled, you are prompted for a password only for operations that modify the wallet, such as add.

To view an Oracle wallet, use the following command:

orapki wallet display -wallet wallet_location

The preceding command displays the certificate requests, user certificates, and trusted certificates contained in the wallet.

Adding Certificates and Certificate Requests to Oracle Wallets with orapki

To add a certificate request to an Oracle wallet, use the following command:

orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048

The preceding command adds a certificate request to a wallet for the user with the specified DN, user_dn. You can also specify the key size of the requested certificate: 512, 1024, or 2048 bits. To sign the request, export it with the export option. Refer to Exporting Certificates and Certificate Requests from Oracle Wallets with the orapki Utility.

To add a trusted certificate to an Oracle wallet, use the following command:

orapki wallet add -wallet wallet_location -trusted_cert -cert
certificate_location

This command adds a trusted certificate, at -cert certificate_location, to a wallet. You must add all trusted certificates in the certificate chain of a user certificate before adding a user certificate, or the command to add the user certificate will fail.

To add a root certificate to an Oracle wallet, use the following command:

orapki wallet add -wallet wallet_location -dn certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days

The preceding command creates a new self-signed root certificate and adds it to the wallet. The -validity parameter, which is mandatory, specifies the number of days, starting from the current date, that this certificate will be valid. You can specify a key size for this root certificate: 512, 1024, or 2048 bits.

To add a user certificate to an Oracle wallet, use the following command:

orapki wallet add -wallet wallet_location -user_cert -cert certificate_location

The preceding command adds the user certificate at the location specified with the -cert parameter to the Oracle wallet at wallet_location. Before you add a user certificate to a wallet, you must add all the trusted certificates that make up the certificate chain. If all trusted certificates are not installed in the wallet before you add the user certificate, then adding the user certificate fails.

Exporting Certificates and Certificate Requests from Oracle Wallets with the orapki Utility

To export a certificate from an Oracle wallet, use the following command:

orapki wallet export -wallet wallet_location -dn certificate_dn -cert certificate_filename

The preceding command exports a certificate with the subject's DN from a wallet to a file that is specified by -cert.

To export a certificate request from an Oracle wallet, use the following command:

orapki wallet export -wallet wallet_location -dn certificate_request_dn -request certificate_request_filename

The preceding command exports a certificate request with the subject's DN from a wallet to a file that is specified by -request.

Managing Certificate Revocation Lists (CRLs) with the orapki Utility

CRLs must be managed with the orapki utility. This utility creates a hashed value of the CRL issuer's name to identify the location of the CRL in your system. If you do not use orapki, then your Oracle server cannot locate CRLs to validate PKI digital certificates. The following sections describe CRLs, how you use them, and how to use the orapki utility to manage them:

Certificate Validation with Certificate Revocation Lists

The process of determining whether a given certificate can be used in a given context is referred to as certificate validation. Certificate validation includes determining that:

  • A trusted CA has digitally signed the certificate.

  • The certificate's digital signature corresponds to the independently calculated hash value of the certificate itself and the public key of the CA.

  • The certificate has not expired.

  • The certificate has not been revoked.

The SSL network layer automatically performs the first three validation checks, but you must configure CRL checking to ensure that certificates have not been revoked. CRLs are signed data structures that contain a list of revoked certificates. They are usually issued and signed by the same entity who issued the original certificate.

What CRLs Should You Use?

You should have CRLs for all of the trust points that you honor. The trust points are the trusted certificates from a third-party identity that is qualified with a level of trust. Typically, the certificate authorities you trust are called trust points.

How does CRL Checking Work?

Certificate revocation status is checked against CRLs which are located in file system directories, Oracle Internet Directory, or downloaded from the location specified in the CRL Distribution Point (CRL DP) extension on the certificate. If you store your CRLs on the local file system or in the directory, then you must update them regularly. If you use CRL DPs, then CRLs are downloaded each time a certificate is used so there is no need to regularly refresh the CRLs.

The server searches for CRLs in the following locations, in the order listed subsequently. When the system finds a CRL that matches the DN of the certificate CA, it stops searching.

  1. Local file system

    The system checks the sqlnet.ora file for the SSL_CRL_FILE parameter first, followed by the SSL_CRL_PATH parameter. If these two parameters are not specified, then the system checks the wallet location for any CRLs.

    Note:

    If you store CRLs on your local file system, then you must use the orapki utility to periodically update them. Refer to Renaming CRLs with a Hash Value for Certificate Validation.
  2. Oracle Internet Directory

    If the server cannot locate the CRL on the local file system and directory connection information has been configured in the ORACLE_HOME/ldap/admin/ldap.ora file, then the server searches in the directory. It searches the CRL subtree by using the DN) of the CA and the DN of the CRL subtree.

    The server must have a properly configured ldap.ora file to search for CRLs in the directory. It cannot use the Domain Name System (DNS) discovery feature of Oracle Internet Directory. In addition, if you store CRLs in the directory, then you must use the orapki utility to periodically update them. Refer to Uploading CRLs to Oracle Internet Directory.

  3. CRL DP

    If the CA specifies a location in the CRL DP X.509, version 3, certificate extension when the certificate is issued, then the CRL that contains revocation information for that certificate is downloaded. Currently, Oracle Advanced Security supports downloading CRLs over HTTP and LDAP.

    Notes:

    • For performance reasons, only user certificates are checked.

    • Oracle recommends that you store CRLs in the directory rather than the local file system.

Certificate Revocation List Management

Before you enable certificate revocation status checking, you must ensure that the CRLs you receive from the CAs you use are in a form (renamed with a hash value) or in a location (uploaded to the directory) in which your system can use them. Oracle Advanced Security provides a command-line utility, orapki, that you can use to perform the following tasks:

You can also use LDAP command-line tools to manage CRLs in Oracle Internet Directory.

Renaming CRLs with a Hash Value for Certificate Validation

When the system validates a certificate, it must locate the CRL issued by the CA who created the certificate. The system locates the CRL by matching the issuer name in the certificate with the issuer name in the CRL.

When you specify a CRL storage location for the Certificate Revocation Lists Path field in Oracle Net Manager (sets the SSL_CRL_PATH parameter in the sqlnet.ora file), use the orapki utility to rename CRLs with a hash value that represents the issuer's name. Creating the hash value enables the server to load the CRLs.

On UNIX operating systems, orapki creates a symbolic link to the CRL. On Microsoft Windows operating systems, it creates a copy of the CRL file. In either case, the symbolic link or the copy created by orapki are named with a hash value of the issuer's name. Then, when the system validates a certificate, the same hash function is used to calculate the link (or copy) name so that the CRL can be loaded.

Depending on your operating system, enter one of the following commands to rename CRLs stored in the file system.

To rename CRLs stored in UNIX file systems:

orapki crl hash -crl crl_filename [-wallet wallet_location] -symlink crl_directory [-summary]

To rename CRLs stored in Microsoft Windows file systems:

orapki crl hash -crl crl_filename [-wallet wallet_location] -copy crl_directory [-summary]

In the preceding commands, crl_filename is the name of the CRL file, wallet_location is the location of a wallet that contains the certificate of the CA that issued the CRL, and crl_directory is the directory in which the CRL is located.

Using -wallet and -summary are optional. Specifying -wallet causes the tool to verify the validity of the CRL against the certificate of the CA prior to renaming the CRL. Specifying the -summary option causes the tool to display the CRL issuer's name.

Uploading CRLs to Oracle Internet Directory

Publishing CRLs in the directory enables CRL validation throughout your enterprise, eliminating the need for individual applications to configure their own CRLs. All applications can use the CRLs stored in the directory in which they can be centrally managed, reducing the administrative overhead of CRL management and use.

You must be a member of the directory group CRLAdmins (cn=CRLAdmins,cn=groups,%s_OracleContextDN%) to upload CRLs to the directory by using orapki. This is a privileged operation because these CRLs are accessible to the entire enterprise. Contact your directory administrator to be added to this administrative directory group.

To upload CRLs to the directory, enter the following at the command line:

orapki crl upload -crl crl_location -ldap hostname:ssl_port -user username [-wallet wallet_location] [-summary]

In the preceding command, crl_location is the file name or URL in which the CRL is located, hostname and ssl_port (SSL port with no authentication) are the host name and SSL port of the system on which your directory is installed, username is the directory user who has permission to add CRLs to the CRL subtree, and wallet_location is the location of a wallet that contains the certificate of the CA that issued the CRL.

Using -wallet and -summary are optional. Specifying -wallet causes the tool to verify the validity of the CRL against the certificate of the CA prior to uploading it to the directory. Specifying the -summary option causes the tool to print the CRL issuer's name and the LDAP entry in which the CRL is stored in the directory.

Note:

  • The orapki utility prompts you for the directory password when you perform this operation.

  • Ensure that you specify the directory SSL port on which the Diffie-Hellman–based SSL server is running. This is the SSL port that does not perform authentication. Neither the server authentication nor the mutual authentication SSL ports are supported by the orapki utility.

Listing CRLs Stored in Oracle Internet Directory

You can display a list of all CRLs stored in the directory with orapki, which lets you browse to locate a particular CRL to view or download to your local system. This command displays the CA who issued the CRL (Issuer) and its location (DN) in the CRL subtree of your directory.

To list CRLs in Oracle Internet Directory, enter the following at the command line:

orapki crl list -ldap hostname:ssl_port

In the preceding command, hostname and ssl_port are the host name and SSL port of the system on which your directory is installed. Note that this is the directory SSL port with no authentication, as described in the preceding section.

Viewing CRLs in Oracle Internet Directory

You can view specific CRLs that are stored in Oracle Internet Directory in a summarized format, or you can request a complete listing of revoked certificates for the specified CRL. A summary listing provides the CRL issuer's name and its validity period. A complete listing provides a list of all revoked certificates contained in the CRL.

To view a summary listing of a CRL in Oracle Internet Directory, enter the following at the command line:

orapki crl display -crl crl_location [-wallet wallet_location] -summary

In the preceding command, crl_location is the location of the CRL in the directory. It is convenient to paste the CRL location from the list that is displayed when you use the orapki crl list command. Refer to Listing CRLs Stored in Oracle Internet Directory.

To view a list of all revoked certificates contained in a specified CRL, which is stored in Oracle Internet Directory, enter the following at the command line:

orapki crl display -crl crl_location [-wallet wallet_location] -complete

For example, the following orapki command:

orapki crl display -crl $T_WORK/pki/wlt_crl/nzcrl.txt -wallet $T_WORK/pki/wlt_crl -complete

produces the following output, which lists the CRL issuer's DN, its publication date, date of its next update, and the revoked certificates it contains:

issuer = CN=root,C=us, thisUpdate = Sun Nov 16 10:56:58 PST 2003, nextUpdate = Mon
Sep 30 11:56:58 PDT 2013, revokedCertificates = {(serialNo =
153328337133459399575438325845117876415, revocationDate - Sun Nov 16 10:56:58 PST
2003)}
CRL is valid

Using the -wallet option causes the orapki crl display command to validate the CRL against the certificate of the CA.

Depending on the size of your CRL, choosing the -complete option may take a long time to display.

You can also use Oracle Directory Manager, a GUI tool that is provided with Oracle Internet Directory, to view CRLs in the directory. CRLs are stored in the following directory location:

cn=CRLValidation,cn=Validation,cn=PKI,cn=Products,cn=OracleContext

Deleting CRLs from Oracle Internet Directory

To delete CRLs from the directory by using orapki, you must be a member of the directory group CRLAdmins. Refer to Uploading CRLs to Oracle Internet Directory for information about this directory administrative group.

To delete CRLs from the directory, enter the following at the command line:

orapki crl delete -issuer issuer_name -ldap host:ssl_port -user username [-summary]

In the preceding command, issuer_name is the name of the CA who issued the CRL, hostname and ssl_port are the host name and SSL port of the system on which your directory is installed, and username is the directory user who has permission to delete CRLs from the CRL subtree. Note that this must be a directory SSL port with no authentication. Refer to Uploading CRLs to Oracle Internet Directory for more information about this port.

Using the -summary option causes the tool to print the CRL LDAP entry that was deleted.

For example, the following orapki command:

orapki crl delete -issuer "CN=root,C=us" -ldap machine1:3500 -user cn=orcladmin -summary

produces the following output, which lists the location of the deleted CRL in the directory:

Deleted CRL at cn=root cd45860c.rN,cn=CRLValidation,cn=Validation,cn=PKI,cn=Products,cn=OracleContext

orapki Utility Commands

This section lists and describes the following orapki commands:

orapki cert create

The following sections describe this command.

Purpose

Use this command to create a signed certificate for testing purposes.

Syntax
orapki cert create [-wallet wallet_location] -request certificate_request_location
-cert certificate_location -validity number_of_days [-summary]

  • The -wallet parameter specifies the wallet containing the user certificate and private key that will be used to sign the certificate request.

  • The -request parameter (mandatory) specifies the location of the certificate request for the certificate you are creating.

  • The -cert parameter (mandatory) specifies the directory location in which the tool places the new signed certificate.

  • The -validity parameter (mandatory) specifies the number of days, starting from the current date, that this certificate will be valid.

orapki cert display

The following sections describe this command.

Purpose

Use this command to display details of a specific certificate.

Syntax
orapki cert display -cert certificate_location [-summary|-complete]

  • The -cert parameter specifies the location of the certificate you want to display.

  • You can use either the -summary or the -complete parameter to display the following information:

    • -summary displays the certificate and its expiration date.

    • -complete displays additional certificate information, including the serial number and public key.

orapki crl delete

The following sections describe this command.

Purpose

Use this command to delete CRLs from Oracle Internet Directory. Note that the user who deletes CRLs from the directory by using orapki must be a member of the CRLAdmins (cn=CRLAdmins,cn=groups,%s_OracleContextDN%) directory group.

Syntax
orapki crl delete -issuer issuer_name -ldap hostname:ssl_port -user username
[-wallet wallet_location] [-summary]

  • The -issuer parameter specifies the name of the CA who issued the CRL.

  • The -ldap parameter specifies the host name and SSL port for the directory in which the CRLs are to be deleted. Note that this must be a directory SSL port with no authentication. Refer to Uploading CRLs to Oracle Internet Directory for more information about this port.

  • The -user parameter specifies the user name of the directory user who has permission to delete CRLs from the CRL subtree in the directory.

  • The -wallet parameter (optional) specifies the location of the wallet that contains the certificate of the certificate authority (CA) who issued the CRL. Using it causes the tool to verify the validity of the CRL against the CA's certificate prior to deleting it from the directory.

  • The -summary parameter is optional. Using it causes the tool to print the CRL LDAP entry that was deleted.

orapki crl display

The following sections describe this command.

Purpose

Use this command to display specific CRLs that are stored in Oracle Internet Directory.

Syntax
orapki crl display -crl crl_location [-wallet wallet_location] [-summary|-complete]

  • The -crl parameter specifies the location of the CRL in the directory. It is convenient to paste the CRL location from the list that displays when you use the orapki crl list command. Refer to orapki crl list.

  • The -wallet parameter (optional) specifies the location of the wallet that contains the certificate of the certificate authority (CA) who issued the CRL. Using it causes the tool to verify the validity of the CRL against the CA's certificate prior to displaying it.

  • Selecting either the -summary or the -complete parameters displays the following information:

    • -summary provides a listing that contains the CRL issuer's name and the CRL's validity period.

    • -complete provides a list of all revoked certificates that the CRL contains. Note that this option may take a long time to display, depending on the size of the CRL.

orapki crl hash

The following sections describe this command.

Purpose

Use this command to generate a hash value of the CRL issuer to identify the location of the CRL in your file system for certificate validation.

Syntax
orapki crl hash -crl crl_filename|URL [-wallet wallet_location] [-symlink|-copy] crl_directory [-summary]

  • The -crl parameter specifies the filename that contains the CRL or the URL in which it can be found.

  • The -wallet parameter (optional) specifies the location of the wallet that contains the certificate of the certificate authority (CA) who issued the CRL. Using it causes the tool to verify the validity of the CRL against the CA's certificate prior to uploading it to the directory.

  • Depending on your operating system, use either the -symlink or the -copy parameter:

    • (UNIX) Use -symlink to create a symbolic link to the CRL at the crl_directory location.

    • (Microsoft Windows) Use -copy to create a copy of the CRL at the crl_directory location.

  • The -summary parameter (optional) causes the tool to display the CRL issuer's name.

orapki crl list

The following sections describe this command.

Purpose

Use this command to display a list of CRLs stored in Oracle Internet Directory. This is useful for browsing to locate a particular CRL to view or download to your local file system.

Syntax
orapki crl list -ldap hostname:ssl_port

The -ldap parameter specifies the host name and SSL port for the directory server from which you want to list CRLs. Note that this must be a directory SSL port with no authentication. Refer to Uploading CRLs to Oracle Internet Directory for more information about this port.

orapki crl upload

The following sections describe this command.

Purpose

Use this command to upload CRLs to the CRL subtree in Oracle Internet Directory. Note that you must be a member of the directory administrative group CRLAdmins (cn=CRLAdmins,cn=groups,%s_OracleContextDN%) to upload CRLs to the directory.

Syntax
orapki crl upload -crl crl_location -ldap hostname:ssl_port -user username [-wallet wallet_location] [-summary]

  • The -crl parameter specifies the directory location or the URL of the CRL that you are uploading to the directory.

  • The -ldap parameter specifies the host name and SSL port for the directory to which you are uploading the CRLs. Note that this must be a directory SSL port with no authentication. Refer to Uploading CRLs to Oracle Internet Directory for more information about this port.

  • The -user parameter specifies the user name of the directory user who has permission to add CRLs to the CRL subtree in the directory.

  • The -wallet parameter specifies the location of the wallet that contains the certificate of the CA who issued the CRL. This is an optional parameter. Using it causes the tool to verify the validity of the CRL against the certificate of the CA certificate prior to uploading it to the directory.

  • The -summary parameter is also optional. Using it causes the tool to display the CRL issuer's name and the LDAP entry in which the CRL is stored in the directory.

orapki wallet add

The following sections describe this command.

Purpose

Use this command to add certificate requests and certificates to an Oracle wallet.

Syntax

To add certificate requests:

orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048

  • The -wallet parameter specifies the location of the wallet to which you want to add a certificate request.

  • The -dn parameter specifies the distinguished name of the certificate owner.

  • The -keySize parameter specifies the key size for the certificate.

  • To sign the request, export it with the export option. Refer to orapki wallet export.

To add trusted certificates, use the following command:

orapki wallet add -wallet wallet_location -trusted_cert -cert certificate_location

  • The -trusted_cert parameter causes the tool to add the trusted certificate, at the location specified with -cert, to the wallet.

To add root certificates, use the following command:

orapki wallet add -wallet wallet_location -dn certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days

  • The -self_signed parameter causes the tool to create a root certificate.

  • The -validity parameter is mandatory. Use this parameter to specify the number of days, starting from the current date, that this root certificate will be valid.

To add user certificates:

orapki wallet add -wallet wallet_location -user_cert -cert certificate_location

  • The -user_cert parameter causes the tool to add the user certificate at the location specified with the -cert parameter to the wallet. Before you add a user certificate to a wallet, you must add all the trusted certificates that make up the certificate chain. If all trusted certificates are not installed in the wallet before you add the user certificate, then adding the user certificate will fail.

orapki wallet create

The following sections describe this command.

Purpose

Use this command to create an Oracle wallet or to set Auto Login on for an Oracle wallet.

Syntax
orapki wallet create -wallet wallet_location [-auto_login]

  • The -wallet parameter specifies a location for the new wallet or the location of the wallet for which you want to turn on Auto Login.

  • The -auto_login parameter creates an Auto Login wallet, or it turns on automatic login for the wallet specified with the -wallet option. Refer to Using Auto Login for details about Auto Login wallets.

orapki wallet display

The following sections describe this command.

Purpose

Use this command to view the certificate requests, user certificates, and trusted certificates in an Oracle wallet.

Syntax
orapki wallet display -wallet wallet_location

The -wallet parameter specifies a location for the wallet you want to open if it is not located in the current working directory.

orapki wallet export

The following sections describe this command.

Purpose

Use this command to export certificate requests and certificates from an Oracle wallet.

Syntax

To export a certificate from an Oracle wallet, use the following command:

orapki wallet export -wallet wallet_location -dn certificate_dn -cert certificate_filename

  • The -wallet parameter specifies the location of the wallet from which you want to export the certificate.

  • The -dn parameter specifies the distinguished name of the certificate.

  • The -cert parameter specifies the name of the file that contains the exported certificate.

To export a certificate request from an Oracle wallet:

orapki wallet export -wallet wallet_location -dn certificate_request_dn -request certificate_request_filename

The -request parameter specifies the name of the file that contains the exported certificate request.

Interoperability With X.509 Certificates

Oracle Wallet Manager functionality supports users who already have certificates provisioned. If you do not use Oracle Wallet Manager to create certificates, then you can use it to manage and store certificates created previously.

Public Key Cryptography Standards (PKCS) Support

Oracle Wallet Manager stores X.509 certificates and private keys in Public Key Cryptography Standards (PKCS) #12 format, and generates certificate requests according to the PKCS #10 specification developed by RSA Laboratories. This makes the Oracle wallet structure interoperable with supported third-party PKI applications, and provides wallet portability across operating systems.

Oracle Wallet Manager wallets can be enabled to store credentials on hardware security modules using APIs that conform to the PKCS #11 specification. When PKCS11 wallet type is chosen at the time of wallet creation, then all keys stored in that wallet are saved to a hardware security module or token, such as smart cards, PCMCIA cards, smart diskettes, or other types of portable hardware devices that store private keys, perform cryptographic operations, or both.

Multiple Certificate Support

Oracle Wallet Manager enables you to store multiple certificates for each wallet, supporting the following Oracle PKI certificate usages:

  • SSL

  • S/MIME signature

  • S/MIME encryption

  • Code-Signing

  • CA Certificate Signing

Oracle Wallet Manager supports multiple certificates for a single digital entity, where each certificate can be used for a set of Oracle PKI certificate usages, but the same certificate cannot be used for all such usages (Refer to Table 6-4 and Table 6-5 for legal usage combinations). There must be a one-to-one mapping between certificate requests and certificates. The same certificate request can be used to obtain multiple certificates. However, more than one certificate for each certificate request cannot be installed in the same wallet at the same time.

Oracle Wallet Manager uses the X.509 Version 3 KeyUsage extension types to define Oracle PKI certificate usages. The key usage extension types are optional bits that can be set in certificates. Setting these bits defines what purpose the key of the certificate can be used for. When certificates are issued, the certificate authority sets these bits according to the type of certificate that you have requested. Table 6-4 lists and describes these key usage types.

Table 6-4 X.509 Version 3 KeyUsage Extension Types, Values, and Descriptions

KeyUsage Extension Type Value Description
digitalSignature 0 Used for entity authentication and to authenticate data origin integrity.
nonRepudiation 1 Used to protect against the signing entity falsely denying some action.
keyEncipherment 2 Used when the subject public key is used for key transport.
dataEncipherment 3 Used when the subject public key is used for enciphering data, other than cryptographic keys.
keyAgreement 4 Used when the subject public key is used for key agreement during SSL connection negotiation.
keyCertSign 5 Used when the subject public key is used for verifying a signature on certificates. May only be used in CA certificates.
cRLSign 6 Used when the subject public key is used for verifying a signature on certificate revocation lists.
encipherOnly 7 When the encipherOnly bit is asserted, the keyAgreement bit must also be set. When these two bits are set the subject public key may be used only for enciphering data while performing key agreement.
decipherOnly 8 As with the encipherOnly bit, the keyAgreement bit must also be set when decipherOnly is set. When these two bits (decipherOnly and keyAgreement) are set the subject public key may be used only for deciphering data while performing key agreement.

See Also:

The Internet Engineering Task Force RFC #2459, Internet X.509 Public Key Infrastructure Certificate and CRL Profile, for a complete description of the KeyUsage extension types at the following URL:
http://www.ietf.org/rfc/

When installing a certificate (user certificate or trusted certificate), Oracle Wallet Manager maps the KeyUsage extension values to Oracle PKI certificate usages as specified in Table 6-4 and Table 6-5.

Table 6-5 Oracle Wallet Manager Import of Trusted Certificates to an Oracle Wallet

KeyUsage Value Critical?Foot 1  Usage
none na Importable.
Any combination excluding 5 Yes

No

Not importable.

Importable.

5 alone, or any combination including 5 na Importable.

Footnote 1 If the KeyUsage extension is critical, then the certificate cannot be used for other purposes.

You should obtain certificates from the certificate authority with the correct KeyUsage value for the required Oracle PKI certificate usage. A single wallet can contain multiple key pairs for the same usage. Each certificate can support multiple Oracle PKI certificate usages, as indicated by Table 6-4 and Table 6-5. Oracle PKI applications use the first certificate containing the required PKI certificate usage.

For example, for SSL usage, the first certificate containing the SSL Oracle PKI certificate usage is used.

If you do not have a certificate with SSL usage, then an ORA-28885 error (No certificate with required key usage found) is returned.

Importing Wallets Created with a Third-Party Tool

Oracle has developed wallets to function as secure containers to keep PKI credentials together. Oracle wallets hold user certificates, which contain the subject's public key and identifying information, and their associated trusted certificates. Third-party applications whose PKI credentials interoperate with Oracle Wallet Manager use various ways to organize credentials, but some are not as tightly organized as Oracle wallets are. Some provide the option to export the associated trusted certificates when you export a user certificate, but some do not provide this option. When you import certificates from third-party tools that do not provide the option to include the associated trusted certificates, you must manually add the trusted certificates by using Oracle Wallet Manager.

Oracle Wallet Manager can import and support PKCS #12-format certificates from the following applications, subject to procedures and limitations specific to the program you use:

  • Netscape Communicator 4.x

  • Microsoft Internet Explorer 5.x and later

  • OpenSSL

To import a certificate created with a third-party tool, perform the following steps:

  1. Follow the procedures for your particular product to export the certificate and its associated trusted certificates.

    If your third-party product does not provide the option to include the trusted certificates, then you must export them separately and save them in either text (BASE64) or binary (der) format.

  2. Save the exported certificate to a file name according to your operating system in a directory expected by Oracle Wallet Manager.

    For UNIX and Microsoft Windows, the file name is ewallet.p12.

    For other operating systems, refer to the Oracle documentation for that specific operating system.

  3. Use Oracle Wallet Manager to navigate to the directory in which you saved the ewallet.p12 file and open it to use the PKI credentials it contains.

    If you exported the trusted certificate separately, then you must import the trusted certificate first before you open the ewallet.p12 file that contains the imported third-party user certificate.