| Oracle® Database Advanced Security Administrator's Guide 10g Release 1 (10.1) Part Number B10772-01 |
|
![]() Previous |
![]() Next |
Security administrators use Oracle Wallet ManagerOracle Wallet Manage r to manage public key security credentials on Oracle clients and servers. The wallets it creates can be read by Oracle Database, Ora cle Application Server 10g, and the Oracle Identity Management infrastructure.
This chapter describes Oracle Wallet Manager, and contains the following topics:
See Also:
|
Oracle Wallet Manager is an application that wallet owners use to manag e and edit the security credentials in their Oracle wallets. A wallet is a password-protected container that is used to store authent ication and signing credentials, including private keys, certificates, and trusted certificates needed by SSL. You can use Oracle Wal let Manager to perform basic tasks such as creating wallets, generating certificate requests, and opening wallets to access PKI-based services. In addition, Oracle Wallet Manager can save credentials to hardware security modules by using APIs which comply to the Pub lic-Key Cryptography Standards #11 (PKCS #11) specification. Oracle Wal let Manager can be used to upload wallets to and download them from an LDAP directory. Oracle Wallet Manager can also be used to impo rt third-party PKCS #12-format wallets, and export Oracle wallets to a third-party environment.
Oracle Wallet Manager provides the following features:
Oracle wallets are password protected. Oracle Wallet Manager includes an enhanced wallet password management module that enforces Password Management Policy guidelines, including the following:
Oracle Wallet Manager stores priva te keys associated with X.509 certificates and uses Triple-DES encryption.
Oracle Wallet Manager is backward-compatible to Release 8.1.7.
RSA Laboratories, a division of RSA Security, Inc., has developed, in coope ration with representatives from industry, academia, and government, a family of basic cryptography standards called Public-Key Crypt ography Standards, or PKCS for short. These standards have been developed to establish interoperability between computer systems that use public-key technology to secure data across intranets and the Internet.
Oracle Wallet M anager stores X.509 certificates and private keys in PKCS #12 format, a nd generates certificate requests according to the PKCS #10 specification. 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 that use APIs that conform to th
e 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, PCMCI
A cards, smart diskettes, or other types of portable hardware devices that store private keys, perform cryptographic ope
rations, or both.
See Also:<
/font>
|
Oracle Wallet Manage r enables you to store multiple certificates for each wallet, supportin g the following Oracle PKI certificate usages:
Oracle Wa llet Manager supports multiple certificates for a single digital entity, where each certificate can be used for a set of Oracle PKI c ertificate usages, but the same certificate cannot be used for all such usages (See Table 8-2 and Table 8-3 for legal usage combinations). There must be a one-to-one mapping between cert ificate requests and certificates. The same certificate request can be used to obtain multiple certificates; however, more than one c ertificate 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 to define Oracle PKI certificate usages (Table 8-1):
| Value | |
|---|---|
|
0 |
digitalSignature |
|
1 |
nonRepudiation |
|
2 |
keyEncipherment |
|
3 |
dataEncipherment |
| <
a name="1006383">
4 |
keyAgreement |
|
5 |
keyCertSign |
|
6 |
cRLSign |
|
7 |
encipherOnly |
|
8 |
decipherOnly |
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 8-2 and Table 8-
3.
| KeyU sage Value | Critical?Foot 1 | Usage strong> |
|---|---|---|
|
none |
na |
Certificate is importable for SSL or S/MIME encryption use. |
|
0 alone, or any combination including 0 but excluding 5 and 2 |
na |
Accep t certificate for S/MIME signature or code-signing use. |
|
1 alone |
Yes |
Not importable. |
|
No |
< p class="TB">Accept certificate for S/MIME signature or code-signing use. | |
|
2 alone, or 2 + any combination excluding 5 |
<
a name="1008134">
na |
Accept certificate for SSL o r S/MIME encryption use. |
|
5 alone, or any combination including 5 |
na |
Accept certificate for CA certificate signing use. |
|
Any settings not list ed previously |
Yes |
a>
Not importable. |
| <
/a>
No |
Certificate is importable for SSL or S/MIME en cryption use. |
1 If the KeyUsage extension is critical, the certificate cannot be used for other purposes.
font> |
| KeyUsage Value | Critical?Foot 1 | Usage |
|---|---|---|
|
none |
na |
Importable. |
|
Any combination excluding 5 |
Yes |
Not importable. p> |
|
No |
Importable. |
|
|
5 alone, or any combination including 5 |
na |
Importable. |
1 If the KeyUsage extension
is critical, the certificate cannot be used for other purposes. |
You should obtain certificates from the certificate authority with the correct KeyUsage value fo
r the required Oracle PKI certificate usage. A single wallet can contain multiple ke
y pairs for the same usage. Each certificate can support multiple Oracle PKI certificate u
sages, as indicated by Table 8-2 and Table 8-3. Oracl
e 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 us ed.
If you do not have a certificate with SSL usage, then an ORA-28885 error (<
code>No certificate with required key usage found) is returned.
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 over-write of f unctional wallets, only wallets containing an installed certificate can be uploaded.
Directo ry user entries must be defined and configured in the LDAP directory before Oracle Wallet Manager can be used to upload or download w allets for a user. If a directory contains Oracle8i (or prior) users, they are automatically upgraded to use the wallet upload and download feature on first use.
Oracle Wallet Manager downloads a user wallet by using a simple password-based connection to the LDAP directory. However, for uploads it 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, password-bas ed authentication is used.
See Also:
|
To start Oracle Wallet Manager:
> Programs > Oracle-HOME_NAME > Network Ad
ministration > Wallet Managerowm.Wallets provide a necessary repository in which you can securely store your user certificates a nd the trust points you need to validate the certificates of your peers.
The following steps provide an overview of the complete wall et creation process:
Typically, this feature, which enables PKI-based access to services without a password, is required for mos t wallets. It is required for database server and client wallets. It is only optional for products that take the wallet password at t he time of startup.
After completing the preceding process, you have a wallet th at contains a user certificate and its associated trust points.
This section describes how to create a new wallet and perform associated wallet management tasks, such as generating certificate r equests, exporting certificate requests, and importing certificates into wallets, in the following subsections:
Because an Oracle wal let contains user credentials that can be used to authenticate the user to multiple databases, it is especially 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 charact ers combined with numbers or special characters.
You can use Oracle Wallet Manager to create PKCS #12 wallets (the standard default wallet type) that store creden tials in a directory on your file system. It can also be used to create PKCS #11 wallets that store credentials on a hardware securit y module for servers, or private keys on tokens for clients. The following sections explain how to create both types of wallets by us ing Oracle Wallet Manager.
Unless you have a hardwa re security module (a PKCS #11 device), then you should use a standard wallet that stores credentials in a directory on your file sys tem.
To create a standard wallet, perform the following tasks:
> New from the menu bar. The New Wallet dialog box appears.Password must have a minimum length of eight characters, and contain alphabetic c haracters combined with numbers or special characters. Do you want to try again?
If you choose No, you ar e returned to the Oracle Wallet Manager main window. The new wallet you just created appears in the left window pane. The certificate has a status of [Empty], and the wallet displays its default trusted certificates.
If you do not have permission to save the walle t in the system default, you can save it to another location. This location must be used in the SSL configuration for clients and ser vers.
A message at the bottom of the window confirms that the wallet was successfully saved .
To create a wallet to store PKCS #11 credentials on a hardware security module, perform the following tasks:
> New from the menu bar; the New Wallet dialog box appears.The smart card password, which is different from the wallet password, is stored in t he wallet.
If you choose
If you do not have permission to save the wallet in the system default, you can save it to another location.
A message at the bottom of the window confirms that the wallet was successfully saved.
Open a wallet that already exists in the file system directory as follows:
You are returned to the main window and a message appears at the bottom of the window indicating th e wallet was opened successfully. The wallet's certificate and its trusted certificates are displayed in the left window pane.
li>To close an open wallet in the currently selected direc tory:
Choose Wallet > Clo
se.
A message appears at the bottom of the window to confirm that the wallet is clo sed.
Third-party wallets are those where the cer tificate requests have been generated without using Oracle Wallet Manager. Oracle Wallet Manager can import and support the following PKCS #12-format wallets, subject to procedures and limitations specific to the program you use:
To import a third-party wallet, perform the following tasks:
For UNIX and Windows, the appropriate file name is ewallet.p12.
For other operating systems, see the Oracle documentation for that specific operating system.
|
Note: Because browsers typically do not export trusted certificat es under PKCS #12 (other than the signer's own certificate), you may need to add trust poi nts to authenticate the other party in the SSL connection. You can use Oracle Wallet Manager to import trusted certificates. |
Oracle Wallet Manager can export its own wallets to third party environments.
To export a wallet to third-party environments:
ewallet.p12 on UNIX and Windows platforms).
You can export a wal let to a text-based PKI format if you want to put a wallet into a tool that does not support PKCS #12. Individual components are form atted according to the standards listed in Table 8-4. Within the wallet, only those certifica tes with SSL key usage are exported with the wallet.
To export a wallet to text-based PKI fo rmat:
| Component | |
|---|---|
|
Certificate chains |
X509v3 |
tr>
|
Trusted certificates td> |
X509v3 |
|
Private keys |
PK CS #8 |
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 accidental destruction of your wallet, Oracle Wallet Manager will not permit you to execute the upload option unless the target wallet is currently open and co ntains at least one user certificate.
To upload a wallet:
> Upload Into The Directory Service.... If the currently open wallet has not been saved, a dialog box appears with the foll
owing message:
Wallet needs to be saved before uploading.
Choose Yes to proceed.
SSL key usage. Depending on whether a certificate with SSL key usage is
found in the wallet, one of the following results occur:
If th e connection fails, a dialog box prompts for the directory password of the specified DN. Oracle Wallet Manager attempts connection 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.
When a wallet is downloaded from an LDAP direc tory, it is resident in working memory. It is not saved to the file system unless you expressly save it using any of the Save options described in the following sections.
To download a wallet from an LDAP directory:
> Download From The Directory Service....Depending on whether the downloading operation succeeds or not, one of the following results occurs:
If Oracle Wallet Manager cannot ope n the target wallet using the wallet password, then check to make sure you entered the correct password. Otherwise a message displays at the bottom of the window, indicating that the wallet was downloaded successfully.
To save your changes to the current open wallet:
Choose Wallet > Save.
A message at the bottom of the window confirms that the wallet changes were successfully saved to the wallet in the selecte d directory location.
To save open wa llets to a new location, use the Save As... menu option:
>
Save As.... The Select Directory dialog box appears.The following message appears if a wallet alread y exists in the selected location:
A wallet already exists in the selected path. Do you w ant to overwrite it?
Choose 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 loca tion.
To save wallets in the defau lt directory location, use the Save In System Default menu option:
Choose Wallet > Save In System Default.
A message at the bottom of the window confirms that the wallet was successfully saved in the system defa ult wallet location as follows for UNIX and Windows platforms:
ORACLE_HOME/admin/ORACLE_SIDORACLE_BASE\ORACLE_HOME\rdbms\admin
<
p>
To delete the current open wallet:
A password change is effective immediately. The wallet is saved to the currently selected directory, with the ne w encrypted password.
|
Note: If you are using a wallet with auto login enabled, you must regenerate the auto login wallet af ter changing the password. See "Using Auto Login" |
To change the password for the current open wallet:
> Change Password. The Change Wallet Password dialog box appears.A message at the bottom of the window confirms that the password was successfully changed.
See Also:
|
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 fea ture is disabled for the wallet. File system permissions provide the necessary security for auto login wallets. When auto login is en abled 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.
To enable auto login:
To disable auto login:
Oracl e Wallet Manager uses two kinds of certificates: user certificates and trusted certificates. All certificates are signed data structu res that bind a network identity with a corresponding public key. User certificates are used by end entities, including server applic ations, to validate an end entity's identity in a public key/private key exchange. In comparison, trusted certificates are any certif icates that you trust, such as those provided by CAs to validate the us er certificates that they issue.
This section describes how to manage both certificate types , in the following subsections:
User ce rtificates can be used by end users, smart cards, or applications, such as Web servers. Server certificates are a type of user certif icate. For example, if a CA issues a certificate for a Web server, placing its disti nguished name (DN) in the Subject field, then the Web server is the certificate owner, thus the "user" for this user cer tificate. 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, a third-party publication, listed in the Preface under "Related Documentation", for a discussion of user-centric and other trust models. |
Managing user certificates involves the following tasks:
You ca n add multiple certificate requests with Oracle Wallet Manager. When adding multiple requests, Oracle Wallet Manager automatically po pulates 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 certi ficate. However, you cannot edit an existing certificate request. Store only a correctly filled out certificate request in a wallet.< /p>
To create a PKCS #10 certificate request:
>
Add Certificate Request. The Add Certificate Request dialog box appears.| Field Name | Description |
|---|---|
|
Common Name |
Mandatory. Enter the name of the user's or servic e's identity. Enter a user's name in first name /last name format. Example: Eileen.Sanger |
|
Organizational Un it |
Optional. Enter the name of the identity's organizational unit. Example: Finance. |
|
Organization |
Optional.Enter the name of the identity's organizat ion. 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 o f the state or province in which the identity resides. Enter the full state name, because so me certificate authorities do not accept two-letter abbreviations. |
|
Country |
Mandato ry. Choose to view a list of country abbreviations. Select the country in which the organization is located. |
|
Key Size |
<
a name="1006986">
Mandatory. Choose to view a list of key sizes to use when creating the public/private key pair. S ee Table 8-6 to evaluate key size. |
|
Advanced |
Optional. Choose Advanced to view the Advanced Certificate Request dialog panel. Use this field to ed it or customize the identity's distinguished name (DN). For example, you can edit the full state name and locality. |
Table 8-6 lists the available key sizes and the relative security each size provides. Typically, CAs use key sizes of 1024 or 2048. When certificate owne rs wish to keep their keys for a longer duration, they choose 3072 or 4096 bit keys.
| Key Size | < /a> Relative Security Level |
|---|---|
|
512 or 768 |
Not regarded as secure. |
|
1024 or 2048 |
Secure. |
|
3072 or 4096 |
Very secure. |
The certificate authority 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 cert ificate from the certificate authority's e-mail, or import the user certificate from a file. Certificate authorities may send your ce rtificate in a PKCS #7 certificate chain file, or as an individual X.509 certificate. Oracle Wallet Manager can import both types. PK CS #7 certificate chains are a collection of certificates, including the user's certificate and all of the supporting CA and subCA ce rtificates. In contrast, an X.509 certificate file contains an individual certificate without the supporting certificate chain.
< dl class="A1">Begin Certificate and End Certificate.> Import User
Certificate.... The Import Certificate dialog box appears.Please provide a base64 format certificate an d paste it below.
The file containing the us
er certificate should have been saved in either text (BASE64) or binary (der) format.
cert.txt).To remove a user certificate from a wallet:
><
/code> Remove User Certificate.... A dialog panel appears and prompts you to verify that you want to re
move the user certificate from the wallet.You must remove a cert ificate before removing its associated request.
To remove a certificate request:
To save t he certificate in a file system directory, export the certificate by using the following steps:
> Export User Certificate... from the menu bar. The Export Certificate dialog box appea
rs.To save the certificate reque st in a file system directory, export the certificate request by using the following steps:
> Export Certificate Request.... The Export Certificate Request dialog box appears.
Managing truste d certificates includes the following tasks:
You can import a tru sted certificate into a wallet in either of two ways: paste the trusted certificate from an e-mail that you receive from the certific ate authority, or import the trusted certificate from a file.
Oracle Wallet Manager automati cally installs trusted certificates from VeriSign, RSA, Entrust, and GTE CyberTrust when you create a new wallet.
Begin Certificate and End Certificate.> Import Trusted Certificate... from the
menu bar. The Import Trusted Certificate dialog panel appears.Please provide a base64 format certificate and paste it below.
The file containing the trusted certificate should have been saved in either text (
BASE64) or binary (der) format.
> Import Trusted C
ertificate.... The Import Trusted Certificate dialog panel appears.cert.txt).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. Also, you cannot verify a certificate aft er its trusted certificate has been removed from your wallet.
To remove a trusted certificat e from a wallet:
> Remove Trusted Certificate... from
the menu bar.
A dialog panel warns you that your user certificate will no longer be ver ifiable by its recipients if you remove the trusted certificate that was used to sign it.
To export a trusted certificate to another file system location:
> Exp
ort Trusted Certificate.... The Export Trusted Certificate dialog box appears.To export all of your trusted certificates to another file system location:
> Export All Trusted Certificates.... The E
xport Trusted Certificate dialog box appears.