| Oracle® Database Advanced Security Administrator'
s Guide 10g Release 1 (10.1) Part Number B10772-01 |
|
|
View PDF |
This chapter describes h ow to configure and use the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols which are supported by Oracle Adv anced Security. It contains the following topics:
Secure Sockets Layer (SSL) is an industry standard protocol originally designed by Netscape Commu nications Corporation for securing network connections. SSL uses RSA public key cryptography in conjunction with symmetric key crypto graphy to provide authentication, encryption, and data integrity.
This section discusses the following topics:
Although SSL was primarily develope d by Netscape Communications Corporation, the Internet Engineering Task Force (IETF) took over development of it, with Netscape's ble ssing, and renamed it Transport Layer Security (TLS). Essentially, TLS is an incremental improvement to SSL version 3.0.
| See Also:
The TLS Protocol Version 1.0 [RFC 2246] at the IETF Web site, which can be found at the followi ng URL: |
See Also:
|
When a network connection over SS L is initiated, the client and server perform an SSL handshake that includes the following steps:
Th e authentication process consists of the following steps:
A public key infrastructure (PKI) is a substr ate of network components that provide a security underpinning, based on trust assertions, for an entire organization. A PKI exists s o that disparate network entities can access its security services, which use public-key cryptography, on an as-needed basis. Oracle provides a complete PKI that is based on RSA Security, Inc., Public-Key Cryptography Standards, and which interoperates with Oracle s ervers and clients.
Traditional private-key or s ymmetric-key cryptography requires a single, secret key that is shared by two or more parties to a secure communication. This key is used to both encrypt and decrypt secure messages sent between the parties, requiring prior, secure distribution of the key to each pa rty. The problem with this method is that it is difficult to securely transmit and store the key.
Public-key cryptography provides a solution to this problem, by employing publ
ic and private key pairs and a secure method for key distribution. The freely available
Public-key algorithms can guarantee the secrecy of a message, but they don't nece ssarily guarantee secure communications because they don't verify the identities of the communicating parties. In order to establish secure communications, it is important to verify that the public key used to encrypt a message does in fact belong to the target reci pient. Otherwise, a third party can potentially eavesdrop on the communication and intercept public key requests, substituting its ow n public key for a legitimate key (the man-in-the-middle attack).
< a name="1009657">In order to avoid such an attack, it is necessary to verify the owner of the public key, a proces s called authentication. Authentication can be accomplished through a < a href="asogls.htm#996784">certificate authority (CA), which is a third party that is trusted by bo th of the communicating parties.
The CA issues public key certificates that contain an entit y's name, public key, and certain other security credentials. Such credentials typically include the CA name, the CA signature, and t he certificate effective dates (From Date, To Date).
The CA uses its private key to encrypt a message, while the public key is used to decrypt it, thus verifying that the message was encrypted by the CA. The CA public key is well known, and does not have to be authenticated each time it is accessed. Such CA public keys are stored in wallets.
Public key infrastructure (PKI ) components in an Oracle environment include the following:
A certificate authority (CA) is a trusted third party that certifies the identity of entities, such as users, databases, administrators, clients, and servers. When an entity requests certification, the CA verifies its identity and g rants a certificate, which is signed with the CA's private key.
Different CAs may have diffe rent identification requirements when issuing certificates. Some CAs may verify a requester's identity with a driver's license, some may verify identity with the requester's fingerprints, while others may require that requesters have their certificate request form n otarized.
The CA publishes its own certificate, which includes its public key. Each network entity has a list of trusted CA certificates. Before communicating, network entities exchange certificates and check that each other' s certificate is signed by one of the CAs on their respective trusted CA certificate lists.
Network entities can obtain their certificates from the same or different CAs. By default, Oracle Advanced Security automatically ins talls trusted certificates from VeriSign, RSA, Entrust, and GTE CyberTrust when you create a new wallet.
< p class="BP">Oracle Application Server Certificate Authority, part of Oracle Identity Management Infrastructure, is a new Oracle PKI component available in Oracle Application Server 10g (9.0.4).A certificate is created when an entity's public key is signed by a trusted certificate authority (CA). A certifica te ensures that an entity's identification information is correct and that the public key actually belongs to that entity.
A certificate contains the entity's name, public key, and an expiration date--as well as a serial numb er and certificate chain information. It can also contain information a bout the privileges associated with the certificate.
When a network entity receives a certif icate, it verifies that it is a trusted certificate, that is, one that has been issued and signed by a trusted certif icate authority. A certificate remains valid until it expires or until it is revoked.
Typically, when a CA signs a certificate binding a public ke y pair to a user identity, the certificate is valid for a specified period of time. However, certain events, such as user name change s or compromised private keys, can render a certificate invalid before the validity period expires. When this happens, the CA revokes the certificate and adds its serial number to a Certificate Revocation List (CRL). CAs periodically publish CRLs to alert the user p opulation when it is no longer acceptable to use a particular public key to verify its associated user identity.
When servers or clients receive user certificates in an Oracle environment, they can validate the certificate by checking its expiration date, signature, and revocation status. Certificate revocation status is checked by validating it against pu blished CRLs. If certificate revocation status checking is turned on, then the server searches for the appropriate CRL depending on h ow this feature has been configured. The server searches for CRLs in the following locations:
| See Also:
"Certificate Validation with Certificate Revocation Lists" for information about configuring and managing this PKI component |
<
/tr>
A wallet is a container that is used to store authentication and signing credentials, including private keys, certificates, and t rusted certificates needed by SSL. In an Oracle environment, every entity that communicates over SSL must have a wallet containing an X.509 version 3 certificate, private key, and list of trusted certificates (with the exception of Diffie-Hellman).
Security administrators use Oracle Wallet Manager to manage security credentials on the server. Wallet owners use it to manage security credentials on clients. Specifically, you use Oracle Wallet Manager to do the following:
|
Installation of Oracle Advanced Security 10g Release 1 (10.1) also installs Oracle Wallet Manager release 10.1. |
Oracle Advanced Security uses these devices for the following functions:
Cryptographic information can be stored on two types of hardware dev ices:
An Oracle environment supports hardware devices using APIs that conform to the RSA Security, Inc., Public-Key Cryptography Standards (PKCS) #11 specification.
|
Note: Curre ntly only nCipher devices are certified with Oracle Advanced Security. Certificate with other vendors is in progress. |
<
/tr>
| See Also:
"Configuring Your System to Use Hardwa re Security Modules" for details configuration details. |
You can configure Oracle Advanced Security to use SSL concurrently with database usernames and passwords, RADIUS, and Kerberos, which are discussed in the following sections: p>
| See Also:
Appendix A, "Data Encryption and Integrity Paramet
ers" for information about how to configure SSL with other supported authentication methods, including an example of a |
Figure 1-5, which displays the Oracle Advanced Security implementation architecture, shows that Oracle Advanced Sec urity operates at the session layer on top of SSL and uses TCP/IP at th e transport layer. This separation of functionality lets you employ SSL concurrently with other supported protocols.
| See Also:
Oracle Net Services Administrator's Guide, for information about stack communications in an Oracle n etworking environment |
Figure 7-1 illustrates a configuration in which SSL is used in combination with another authentication method supported by Oracle Advanced Security. In this example, SSL is used to establish the initial hands hake (server authentication), and an alternative authentication method is used to authenticate the client.
Text description of the illustration asoag018.gif
| See Also: |
| See Also:
Oracle Net Services Administrator's Guide for information about Oracle Connection Manager |
Consid er the following issues when using SSL:
|
Note:
|
See Also:
|
To enable SSL:
Before proceeding with the next step, you must confirm that a wallet has been created. To co nfirm that your wallet is ready, open it by using Oracle Wallet Manager. The wallet should contain a certificate with a status of "Re ady" and auto login turned on. If auto login is not on, then select it from the Wallet menu and re-save the wallet. This turns auto l ogin on.
Use Oracle Net Manager to specify requir ed configuration parameters for the server (See "Starting Oracle Net Manager"):
Note that if you are configuring the database-to-directory SSL connection for Enterpris e User Security, then Database Configuration Assistant automatically creates a database wallet while registering the database with th e directory. You must use that wallet to store the database PKI credentials for SSL-authenticated Enterprise User Security.
|
Important: sqlnet.ora file.
Be sure to enter the same wallet location when you create it and when you set the location in the |
The sqlnet.ora and listener.ora files are updated with the following entri
es:
wallet_location = (SOURCE= (METHOD=Fi le) (METHOD_DATA= (DIRECTORY=wallet_location)))a>
A cipher suite is a set of authentication, encryption, and data integrity algorithms used for exchanging messages between netw ork entities. During an SSL handshake, two entities negotiate to see which cipher suite they will use when transmitting messages back and forth.
When you install Oracle Advanced Security, the SSL cipher suites listed in Table 7-1 are set for you by default and negotiated in the order they are listed. You can override t
he default order by setting the SSL_CIPHER_SUITES parameter. For example, if you use Oracle Net Manager to add the ciphe
r suite SSL_RSA_WITH_RC4_128_SHA, all other cipher suites in the default setting are ignored.
You can prioritize the cipher suites. When the client negotiates with servers regarding which cipher suite to use, it follows the prioritization you set. When you prioritize the cipher suites, consider the following:
|
Note: If you set a cipher suite employing Dif fie-Hellman anonymous authentication on the server, then you must also set the same cipher suite on the client. Otherwise, the connec tion fails. If you use a cipher suite employing Diffie-Hellman anonymous, then you must set
the |
Table 7-1 lists the SSL cipher suites supported in the current release of Oracle Advanced Security. These cipher suites are set by default when you install Oracle Advanced Security. This table als o lists the authentication, encryption, and data integrity types each cipher suite uses.
| Cipher Suites | Authentication | Encryption | < /a> Data Integrity |
|---|---|---|---|
|
SSL_RSA_WITH_3DES_EDE_CBC_SHA |
RSA |
3DES EDE CBC < /td> |
SHA-1 |
|
SSL_RSA_WITH_RC4_128_SHA |
RSA |
RC4 128 |
SHA-1 |
|
SSL_RSA_WITH_RC4_128_MD5 |
RSA |
RC4 128 |
MD5 |
|
SSL_RSA_WITH_DES_CBC_SHA < /td> |
RSA |
DE S CBC |
SHA-1 |
|
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA |
DH anon |
3DES EDE CBC |
SHA-1 |
|
SSL_DH_anon_WITH_RC4_128_MD5 |
DH anon |
RC4 128 |
<
/a>
MD5 |
|
SSL_DH_anon_WITH_DES_CBC_SHA |
DH anon |
DES CBC |
SHA-1 |
|
SSL_RSA_EXPORT_WITH_RC4_4 0_MD5 |
RSA |
RC4 40 |
MD5 |
|
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA |
RSA |
DES40 CBC |
SHA-1 |
|
SSL_RSA_WITH_AES_128_CBC_SHAFoot 1 |
RSA |
AES 128 CBC |
SHA-1 |
|
SSL_RSA_WITH_AES_256_CBC_SHA |
RSA |
AES 256 CBC |
SHA-1 p> |
| 1 AES cipher
s work with Transport Layer Security (TLS 1.0) only |
Text description of the illustration ssl0002.gif
Text description of the illustration ssl0004.gif
< /a>You can set the SSL_VERSION parameter in the sqlnet.ora file. This parameter defines
the version of SSL that must run on the systems with which the server communicates. You can require these systems to use any valid v
ersion. The default setting for this parameter in sqlnet.ora is undetermined, which is set by selecting
If you chose Any, then the
sqlnet.ora file is updated with the following entry:
SSL_VERSION=UNDETERMINED
The SSL_CLIENT_
AUTHENTICATION parameter in the sqlnet.ora file controls whether the client is authenticated using SSL. The defau
lt value is TRUE.
You must set this parameter to FALSE if you are
using a cipher suite that contains Diffie-Hellman anonymous authentication (DH_anon). Also, you can set this parameter t
o FALSE for the client to authenticate itself to the server by using any of the non-SSL authentication methods supported
by Oracle Advanced Security, such as Kerberos or RADIUS.
Text description of the illustration ssl0005.gif
The sqlnet.ora file is updated with the following entry:
SSL_CLIENT_AUTHENTICATION=FALSE
The SQLNET.AUTHENTICATION_
SERVICES parameter in the sqlnet.ora file sets the SSL authentication service.
Set this parameter if you want to use SSL authentication in conjunction with another authentication method supported by Oracle Advanced Security. For example, use this parameter if you want the server to authenticate itself to the client by using SSL and the client to authenticate itself to the server by using Kerberos.
Add TCP/IP with SSL (TCPS) to this parameter in the sqlnet.ora file by usin
g a text editor. For example, if you want to use SSL authentication in conjunction with RADIUS authentication, set this parameter as
follows:
SQLNET.AUTHENTICATION_SERVICES = (TCPS, radius)
If you do not want to use SSL authentication in conjunction with another a uthentication method, then do not set this parameter.
Configure the listener with a TCP/IP with SSL listening endpoint in the liste
ner.ora file. Oracle Corporation recommends using port number 2484 for typical Oracle Net clients.
See Also:
|
To configure SSL on the client:
Appendix B, "Authentication Parameters", for the dynamic parameter names. |
Before proceeding with the next step, you must c onfirm that a wallet has been created on the client and that the client has a valid certificate.
|
Note: Oracle Corporation r ecommends that you use Oracle Wallet Manager to remove the trusted certificate in your Oracle wallet associated with each certificate authority that you do not use. |
<
strong class="NH">See Also:
|
You must specify the server's distinguished nam
e (DN) and TCPS as the protocol in the client network configuration files to enable server DN matching and
TCP/IP with SSL connections. Server DN matching prevents the database server from faking its identity to the client during connection
s by matching the server's global database name against the DN from the server certificate.
You must manually edit the client network configuration files, tnsnames.ora and listener.ora, to specify th
e server's DN and the TCP/IP with SSL protocol. The tnsnames.ora file can be located on the client or in the LDAP direct
ory. If it is located on the client, then it typically resides in the same directory as the listener.ora file. Depending
on your operating system, these files reside in the following directory locations:
To edit the tnsnames.ora and listener.ora files, use the fol
lowing steps:
tnsnames.ora
file, add the SSL_SERVER_CERT_DN parameter and specify the database server's DN as follows:
(SECURITY=
(SSL_SERVER_CERT_DN="cn=finance,cn=OracleConte xt,c=us,o=acme"))
The client uses this informat
ion to obtain the list of DNs it expects for each of the servers, enforcing the server's DN to match its service name. Example 7-1 shows an entry for the Finance database in the tnsnames.ora file.
Alternatively, the administrator can ensure that the common name (CN) portion of the server's DN matc hes the service name.
tnsnames.ora
file, enter tcps as the PROTOCOL in the ADDRESS parameter. This specifies that the client wil
l use TCP/IP with SSL to connect to the database that is identified in the SERVICE_NAME parameter. Example 7-1 also shows an entry that specifies TCP/IP with SSL as the connecting protocol in the tnsnames.ora file.listener.ora file, enter tcps
as the PROTOCOL in the ADDRESS parameter. Example 7-2 shows an entry that
specifies TCP/IP with SSL as the protocol.finance= (DESCRIPTION= (ADDRESS_LIST=
(ADDRESS= (PROTOCOL = tcps) (HOST = finance_server) (PORT = 15 75)))
(CONNECT_DATA=
(SERVICE_NAME = Finance.us.acme.com))
(SECURITY=
(SSL_SERVER_CERT_DN="cn=finance,cn=OracleContext,c=us,o=acme"))
LISTENER= (DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS= (PROTOCOL = tcps) (HOST = finance_server) (PORT = 1575))))
Use Oracle Net Manager to specify requi red configuration parameters for the client (See "Starting Oracle Net Manager"):
Text description of the illustration ssl0001.gif
|
Note: This check can be made only when RSA ciphers are selected, which is the default setting. |
| See Also: < p class="NB">"Certificate Validation with Certificate Revocation Lists" for information about configuring the client for certificate validation with certificate revocation lists |
|
Note: If you want to store CRLs on your local file system or in Oracle Internet
Directory, then you must use the command line utility, |
Text description of the illustration ssl0006.gif
Requires certific ate revocation status checking. The SSL connection is rejected if a certificate is revoked or no CRL is found. SSL connections are ac cepted only if it can be verified that the certificate has not been revoked.
Performs certificate revocation status check ing if a CRL is available. The SSL connection is rejected if a certificate is revoked. SSL connections are accepted if no CRL is foun d or if the certificate has not been revoked.
Enter the path
to the directory where CRLs are stored, or click Browse to find it by searching the file system. Speci
fying this path sets the SSL_CRL_PATH parameter in the sqlnet.ora file. If a path is not specified for this
parameter, then the default is the wallet directory. Both DER-encoded (binary format) and PEM-encoded (BASE64) CRLs are supported.
Enter the path to a comprehensive C
RL file (where PEM-encoded (BASE64) CRLs are concatenated in order of preference in one file), or click Browse
strong> to find it by searching the file system. Specifying this file sets the SSL_CRL_FILE parameter in the sqlne
t.ora file. If this parameter is set, then the file must be present in the specified location, or else the application will er
ror out during startup.
|
Note: If you want to store CRLs in a local file system directory by setting the Certificate Revocation Lists Path, then you must use the |
ldap.ora file. See "To create an ldap.ora file for y
our Oracle home:"
sqlnet.ora
file is updated with the following entry:
SSL_CERT_REVOCATION=NONE< /a>
| See Also:
"Troubleshooting Certificate Validation" for information about r esolving certificate validation errors. |
Before you can 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) where your sy
stem can use them. Oracle Advanced Security provides a command-line utility, orapki, that you can use to perform the fol
lowing tasks:
You can also use LDAP command-line tools to manage CRLs in Oracle Internet Directory.
| See Also:
Appendix A, "Syntax for Command-Line Tools" in Oracle Internet Directory Application Developer's Guide for information about LDAP command-line tools and their syntax.< /p> |
You can display all the
orapki crl help
This command displays all avai lable CRL management commands and their options.
|
Note: Using the |
<
/tr>
Wh en the system validates a certificate, it must locate the CRL issued by the CA who created the certificate. The system locates the ap propriate 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 r
ename 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 Windows operat
ing systems, it creates a copy of the CRL file. In either case, the symbolic link or the copy created by orapki are name
d with a hash value of the issuer's name. Then when the system validates a certificate, the same hash function is used to calculate t
he link (or copy) name so the appropriate CRL can be loaded.
Depending on your operating sys tem, enter one of the following commands to rename CRLs stored in the file system.
orapki crl hash -crl crl_filename [-wallet wallet_location] -symlink crl_ directory [-summary]
where crl_filename is the name of the CRL file, wallet_location is the location of a wa
llet that contains the certificate of the CA that issued the CRL, and crl_directory is the directory where the CRL is lo
cated.
Using -wallet and -summary are optional. Specifying -
wallet causes the tool to verify the validity of the CRL against the CA's certificate prior to renaming the CRL. Specifying th
e -summary option causes the tool to display the CRL issuer's name.
Publishing CRLs in the directory enables CRL validation through out your enterprise, eliminating the need for individual applications to configure their own CRLs. All applications can use the CRLs stored in the directory where they can be centrally managed, greatly reducing the administrative overhead of CRL management and use.< /p>
The user who uploads CRLs to the directory by using orapki must be a member of
the directory group CRLAdmins (cn=CRLAdmins,cn=groups,%s_OracleContextDN%). This is a privileged operation
because these CRLs are accessible to the entire enterprise. Contact your directory administrator to be added to this administrative d
irectory group.
orapki crl upload -crl crl_location -ldap hostname:ssl_port -user username [-wallet wallet_location] [-summary]
where crl_location is the file name or URL where the CRL is located, hostname and ssl_port (SSL po
rt with no authentication) are for 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. Spe
cifying -wallet causes the tool to verify the validity of the CRL against the CA's certificate 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 where th
e CRL is stored in the directory.
You can display a list of all CRLs stored in the directory with orapki, which is useful for
browsing 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.
orapki crl list -ldap hostname:ssl_port
where the hostname and ssl_<
/code>port are for the system on which your directory is installed. Note that this is the directory SSL por
t with no authentication as described in the preceding section.
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 v alidity period. A complete listing provides a list of all revoked certificates contained in the CRL.
orapki crl display -crl crl_location [-wallet wallet_location] -summary < /a>
where crl_location is the location of the CRL in the directory. It is conv
enient to paste the CRL location from the list that displays when you use the orapki crl list command. See: "Listing CRLs Stored in Oracle Internet Directory".
orapki crl display -crl crl_location [-wallet wallet_location] -complete
For example, t
he following orapki command:
orapki crl display -crl $T_WORK/pki/wlt_crl/nzcr l.txt -wallet $T_WORK/pki/wlt_ crl -complete
produces the followin g output, which lists the CRL issuer's DN, its publication date, date of its next update, and the revoked certificates it contains: p>
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 -wa
llet option causes the orapki crl display command to validate the CRL against the CA's certificate.
Depending on the size of your CRL, choosing the -complete option may take a long time to dis
play.
You can also use Oracle Directory Manager, a graphical user interface tool that is pro vided 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
The user who deletes CRLs from the directory by using orapk
i must be a member of the directory group CRLAdmins. See "Uploading CRLs to Oracle I
nternet Directory" for information about this directory administrative group.
orapki crl delete -issuer issuer_name -ldap host:ssl_port -user username [-summa ry]
where issuer_name is the name of the CA who issued the CRL, the hostname and ssl_port are for the system on which your directory is installed, and username is the directory user who ha s permission to delete CRLs from the CRL subtree. Note that this must be a directory SSL port with no authentication. See "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 tha
t 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 direc tory:
Deleted CRL at cn=root cd45860c.rN,cn=CRLValidation,cn=Validation,cn=PKI,cn=Product s,cn=OracleContext
To determine wheth
er certificates are being validated against CRLs, you can enable Oracle Net tracing. When a revoked certificate is validated by using
CRLs, then you will see the following entries in the Oracle Net tracing file without error messages logged between entry and exit:
nzcrlVCS_VerifyCRLSignature: entry nzcrlVCS _VerifyCRLSignature: exit nzcrlVCD_VerifyCRLDate: entry nzcrlVCD_V erifyCRLDate: exit nzcrlCCS_CheckCertStatus: entry nzcrlCCS_CheckC ertStatus: Certificate is listed in CRL nzcrlCCS_CheckCertStatus: exit
Note that when certificate validation fails, the peer in the SSL handshake sees an ORA-29024: Certif
icate Validation Failure. If this message displays, see "ORA-29024: Certificate Validation Failur
e" for information about how to resolve the error.
| See Also:
Oracle Net Services Administrator's Guide f or information about setting tracing parameters to enable Oracle Net tracing |
The following trace mes
sages, relevant to certificate validation, may be logged between the entry and exit entries in the Oracle N
et tracing file. Oracle SSL looks for CRLs in multiple locations, so there may be multiple errors in the trace.
Check the following list of possible error messages for information about how to resolve them.
Cause: The CRL signature cannot be verified.
Action: Ensure that the downloaded CRL is issued by the peer's CA and that the CRL was not corrupted when it
was downloaded. Note that the orapki utility verifies the CRL before renaming it with a hash value or before uploading
it to the directory. See "Certificate Revocation List Management" f
or information about using orapki for CRL management.
Cause: The current time is later than the time listed in the next update field. You should not see this error if CRL DP is used. The systems searches f or the CRL in the following order:
The first CRL found in this search may not be the latest. p>
Action: Update the CRL with the most recent copy.
Action: Ensure that the CRL locations specified in the configuration are correct by performing the following steps:
orapki utility to configure CRLs fo
r system use as follows:
Cause: Oracle Internet Directory (OID) connection information is not set. Note that this is not a fatal error. The search continues with CRL DP.
Action: If you want to store the CRLs in Oracle Interne
t Directory, then use Oracle Net Configuration Assistant to create and configure an ldap.ora file for your Oracle home.
See "To create an ldap.ora file for your Oracle home:"
Cause: The CRL could not be fetched by using the CRL DP. This happens if the certificate does not hav e a location specified in its CRL DP extension, or if the URL specified in the CRL DP extension is incorrect.
Action: Manually download the CRL. Then depending on whether you want to store it on yo ur local file system or in Oracle Internet Directory, perform the following steps:
If you w ant to store the CRL on your local file system:
orapki utility to configure the CRL for system use. See "Renaming CRLs
with a Hash Value for Certificate Validation"I f you want to store the CRL in Oracle Internet Directory:
ldap.ora file with directory connection in
formation. See "To create an ldap.ora file for your Oracle home:"
a>orapki utility to upload the CRL to the directo
ry. See "Uploading CRLs to Oracle Internet Directory"Oracle Advanced Security supports hardware security modules that use APIs which conform to the RSA Security, Inc., PKCS #11 s pecification. Typically, these hardware devices are used to securely store and manage private keys in tokens or smart cards, or to ac celerate cryptographic processing.
This section contains the following topics:
The following general guidelines apply if you are usi ng a hardware security module with Oracle Advanced Security:
PKCS11 by using Oracle Wallet Manager and specify the absolute p
ath to the PKCS #11 library (including the library name) if you wish to store the private key in the token. Oracle PKCS11 wallets contain information that points to the token for private key access.You ca n use the wallet containing PKCS #11 information just as you would use any Oracle wallet, except the private keys are stored on the h ardware device and the cryptographic operations are performed on the device as well.
| See Also:
"Creating a Wallet to Store Hardware Security Module Credentials" |
|
Note: You must contact your n Cipher representative to obtain certified hardware and software to use with Oracle Advanced Security. |
To use an nCipher hardware security module, you need the following components:
To use the secure accelerator, you must provide the absolute p ath to the directory that contains the nCipher PKCS #11 library (including the library name) when you create the wallet by using Orac le Wallet Manager. This enables the library to be loaded at runtime. Typically, the nCipher card is installed at the following locati ons:
The nCipher PKCS #11 lib rary is located at the following file system directory locations for typical installations:
/opt/nfast/toolkits/pkcs11/libcknfast.so/opt/nfast/toolkits/pkcs11/libcknfast-64.soC:\nfast\toolkits\pkcs11\cknfast.dll
To
detect whether the module is being used, you can turn on Oracle Net tracing. If the wallet contains PKCS #11 information and the priv
ate key on the module is being used, then you will see the following entries in the Oracle Net tracing file without error messages lo
gged between entry and exit:
nzpkcs11_Init: entry nzpkcs11CP_ChangeProviders: entry nzpkcs11CP_ChangeProviders: exit nzpkcs11GPK_Ge tPrivateKey: entry nzpkcs11GPK_GetPrivateKey: exit nzpkcs11_Init: exit ... nzpkcs11_Decrypt: entry nzpkcs11_Decrypt: exit nzpkcs11_Sign: entry nzpkcs11_Sign: exit
| See Also:
Oracle Net Services Administrator's Guide for informat ion about setting tracing parameters to enable Oracle Net tracing |
The following errors are associated with using PK CS #11 hardware security modules:
Cause: The system cannot locate the PKCS #11 libra ry at the location specified when the wallet was created. This happens only when the library is moved after the wallet is created.
Action: Copy the PKCS #11 library back to its original location (w here it was when the wallet was created).
Cause: The smart card that was used to create the wal let is not present in the hardware security module slot.
Action: Ensure that the smart card that was used when the wallet was created is present in the hardware security module slot.
Cause: This can occur when
Action: Depending on the cause, take one of the following actions:
| See Also:
"Creating a Wallet to Store Hardware Security Module Credentials" |
<
/tr>
|
Note: The nCipher log file is in the directory where the module is installed at the following location:
|