Configuring utilities to authenticate users with a client and server SSL certificate
You can configure the AllDBConnector class to use Oracle Wallet SSL certificates to authenticate a user to establish a database connection for HCL Commerce utilities.
About this task
To complete the following steps, you must run the Oracle orapki and Listener Control utilities, and update Oracle configuration files. For more information about configuring the Oracle files, running these Oracle utilities, including any updated usage syntax, see the Oracle Documentation.
Note: If you need to share certificates across multiple server tiers, you can
copy the Oracle Wallet from one server tier into the other server tiers. For example, to configure
utilities like the stagingprop utility to use an Oracle Wallet to authenticate users, you can create
the Wallet in your staging environment and then copy the Wallet into your production environment.
You must create the
override
configuration in the
alldbconnector.xml file for both environments. For your production environment
override
configuration, use the path to the copied Wallet as the
wallet_directory value for the oracle.net.wallet_location
property.Procedure
Configure your database server to use an Oracle Wallet that includes an SSL certificate
for authentication.
-
Modify the Oracle database user so that the user can be identified by an SSL certificate.
Run the following command from Oracle bin directory:
sqlplus / as sysdba alter user wcs identified externally as 'CN=oracleuser'; quit;
Note: If your server tier is the same as your client tier, ensure that your user DN is the same as your server tier. For example,alter user wcs identified externally as 'CN=server';
-
Create an Oracle Wallet with the Oracle orapki utility.
In a command-line utility, run the following command from Oracle bin directory:
Whereorapki wallet create -wallet wallet_directory -auto_login -pwd wallet_password
- wallet_directory is the directory where you want to create the Wallet. For
example,
c:\server.wallet
.Note: Ensure that the directory that you set as the wallet_directory is readable and executable by the appropriate users. - wallet_password is the password that you want to set for the Wallet. For
example,
s3rv3rp45s
.
orapki wallet create -wallet c:\server.wallet -auto_login -pwd s3rv3rp45s
- wallet_directory is the directory where you want to create the Wallet. For
example,
-
Install the certificate that is issued by the certificate authority.
For more information about creating a certificate request and installing the certificate, see the Oracle Documentation.As an example for testing purposes, add a self-signed certificate to your Oracle Wallet for use as the database server certificate. In a command-line utility, run the following command from Oracle bin directory:
Whereorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password
- wallet_directory is the directory where you want to create the Wallet. For
example,
c:\server.wallet
. - dn_name is the distinguished name of the certificate owner, which is the
database server name. For example,
CN=server
. - wallet_password is the password that you want to set for the Wallet. For
example,
s3rv3rp45s
.
orapki wallet add -wallet c:\server.wallet -dn "CN=server" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd s3rv3rp45s
- wallet_directory is the directory where you want to create the Wallet. For
example,
-
Export the SSL certificate for the database server tier.
In a command-line utility, run the following command from Oracle bin directory:
Whereorapki wallet export -wallet wallet_directory -dn "dn_name" -cert certificate_file -pwd wallet_password
- wallet_directory is the directory where you want to create the Wallet. For
example,
c:\server.wallet
. - dn_name is the distinguished name of the certificate owner, which is the
database server name. For example,
CN=server
. - certificate_file is the path and name of the file that is to include the
certificate that you are exporting. For example,
c:\server.cert
. - wallet_password is the password that you want to set for the Wallet. For
example,
s3rv3rp45s
.
orapki wallet export -wallet c:\server.wallet -dn "CN=server" -cert c:\server.cert -pwd s3rv3rp45s
- wallet_directory is the directory where you want to create the Wallet. For
example,
Configure your client tier to create an Oracle Wallet that includes the database server
SSL certificate and an SSL certificate for authenticating users.
Note: If the client tier where users
run HCL Commerce utilities is the same as your database server tier, skip to step 12.
-
Create an Oracle Wallet with the orapki utility in your client environment.
In a command-line utility, run the following command from Oracle bin directory:
orapki wallet create -wallet c:\client.wallet -auto_login -pwd cl13ntp45s
-
Import the SSL certificate from your server tier.
In a command-line utility, run the following command from Oracle bin directory:
Whereorapki wallet add -wallet wallet_directory -trusted_cert -cert certificate_file -pwd wallet_password
- wallet_directory is the directory where you want to create the Wallet. For
example,
c:\client.wallet
. - certificate_file is the path and name of the file that is to include the
certificate that you are exporting. For example,
c:\server.cert
. - wallet_password is the password that you want to set for the Wallet. For
example,
cl13ntp45s
.
orapki wallet add -wallet c:\client.wallet -dn "CN=server" -cert c:\server.cert -pwd cl13ntp45s
- wallet_directory is the directory where you want to create the Wallet. For
example,
-
Update the Oracle sqlnet.ora configuration file for your client.
-
Update the Oracle tnsnames.ora configuration file.
-
Install the certificate that is issued by the certificate authority.
For more information about creating a certificate request and installing the certificate, see the Oracle Documentation.As an example for testing purposes, add a self-signed certificate to the client tier Wallet for use as the user certificate. If your client is the same as your server, add the certificate to your server tier Wallet. In a command-line utility, run the following command from Oracle bin directory:
Whereorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password
- wallet_directory is the directory where you want to create the Wallet. For
example,
c:\client.wallet
. - dn_name is the distinguished name of the certificate owner, which is the
database server name. For example,
CN=server
. - wallet_password is the password that you want to set for the Wallet. For
example,
cl13ntp45s
.
orapki wallet add -wallet c:\client.wallet -dn "CN=oracleuser" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd cl13ntp45s
- wallet_directory is the directory where you want to create the Wallet. For
example,
-
Export the user SSL certificate from the client tier Oracle Wallet.
In a command-line utility, run the following command from Oracle bin directory:
orapki wallet export -wallet c:\client.wallet -dn "CN=oracleuser" -cert c:\user.cert -pwd cl13ntp45s
Continue the configuration for your database server tier.
-
Import the user SSL certificate from your client tier Oracle Wallet into the server tier Oracle
Wallet.
In a command-line utility, run the following command from Oracle bin directory:
orapki wallet add -wallet c:\server.wallet -trusted_cert -cert c:\user.cert -pwd s3rv3rp45s
-
Shut down your Oracle database by running the following command from Oracle
bin directory:
sqlplus / as sysdba shutdown immediate; quit;
-
Stop the Oracle listener with the Oracle Listener Control utility by running the following
command from Oracle bin directory:
lsnrctl stop
-
Update the Oracle listener listener.ora configuration file.
-
Update the Oracle sqlnet.ora configuration file.
-
Restart the Oracle listener by running the following command from Oracle
bin directory:
lsnrctl start
-
Start your Oracle database by running the following command from Oracle
bin directory:
sqlplus / as sysdba startup; quit;
Configure the AllDBConnector class configuration for establishing
a database connection for HCL Commerce utilities to use the certificate in the Oracle
Wallet.
-
Update the database connection acquisition configuration file to ensure that the WebSphere
Commerce utilities can authenticate users through the Oracle Wallet.
Results
stagingprop.sh -sourcedb orasrcwallet -destdb oradestwallet -sourcedb_user randomValue -sourcedb_passwd randomValue -destdb_user randomValue -destdb_passwd randomValue
- orasrcwallet is the identifier of the override configuration for your authoring or staging environment.
- oradestwallet is the identifier of the override configuration for your production environment.
- randomValue is any value for the specified parameter. With this Oracle Wallet configuration, the value is ignored by the AllDBConnector class and is not used to authenticate the user.