![Oracle](../../base/images/ngoracle.gif)
Configuración de programas de utilidad para autenticar usuarios con un certificado SSL de cliente y servidor
Puede configurar la clase AllDBConnector para que utilice certificados SSL de Oracle Wallet que autentiquen un usuario para que establezca una conexión de base de datos para los programas de utilidad de HCL Commerce.
Por qué y cuándo se efectúa esta tarea
Para completar los siguientes pasos, debe ejecutar los programas de utilidad Listener Control y orapki de Oracle y actualizar los archivos de configuración de Oracle.orapki Para obtener más información sobre cómo configurar los archivos de Oracle, ejecutar estos programas de utilidad de Oracle, incluidos toda la sintaxis de uso actualizado, consulte Oracle Documentation.
Nota: Si necesita compartir certificados entre varios niveles de servidor, puede copiar Oracle Wallet de un nivel de servidor en los otros niveles de servidor. Por ejemplo, para configurar programas de utilidad como el programa de utilidad stagingprop de modo que utilicen un Oracle Wallet para autenticar usuarios, puede crear Wallet en el entorno de transición y, a continuación, copiar el Wallet en el entorno de producción. Debe crear la configuración de
override
en el archivo alldbconnector.xml para los dos entornos. Para la configuración de override
, utilice la vía de acceso al Wallet copiado como el valor wallet_directory para la propiedad oracle.net.wallet_location
.Procedimiento
Configure el servidor de base de datos para utilizar Oracle Wallet que incluya un certificado SSL para su autenticación.
-
Modifique el usuario de base de datos de Oracle para que el usuario pueda identificarse mediante un certificado SSL.
Ejecute el siguiente mandato desde el directorio bin de Oracle:
sqlplus / as sysdba alter user wcs identified externally as 'CN=oracleuser'; quit;
Nota: Si el nivel de servidor es el mismo que el nivel de cliente, asegúrese de que el DN es el mismo que el nivel de servidor. Por ejemplo,alter user wcs identified externally as 'CN=server';
-
Cree un Oracle Wallet con el programa de utilidad orapki de Oracle.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directoriobin de Oracle:
Dondeorapki wallet create -wallet wallet_directory -auto_login -pwd wallet_password
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
c:\server.wallet
.Nota: Asegúrese de que el directorio que se establece como wallet_directory puedan leerlo y ejecutarlo los usuarios adecuados. - wallet_password es la contraseña que desea establecer para la Wallet. Por ejemplo,
s3rv3rp45s
.
orapki wallet create -wallet c:\server.wallet -auto_login -pwd s3rv3rp45s
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
-
Instale el certificado emitido por la entidad emisora de certificados.
Para obtener más información sobre cómo crear una solicitud de certificado e instalar el certificado, consulte Oracle Documentation.Como ejemplo para fines de prueba, añada un certificado firmado automáticamente a Oracle Wallet para utilizarlo como certificado de servidor de base de datos. En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
Dondeorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
c:\server.wallet
. - dn_name es el nombre distinguido del propietario del certificado, que es el nombre del servidor de la base de datos. Por ejemplo,
CN=server
. - wallet_password es la contraseña que desea establecer para la Wallet. Por ejemplo,
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 es el directorio en el que desea crear la Wallet. Por ejemplo,
-
Exporte el certificado SSL para el nivel de servidor de base de datos.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
Dondeorapki wallet export -wallet wallet_directory -dn "dn_name" -cert certificate_file -pwd wallet_password
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
c:\server.wallet
. - dn_name es el nombre distinguido del propietario del certificado, que es el nombre del servidor de la base de datos. Por ejemplo,
CN=server
. - certificate_file es la vía de acceso y el nombre de archivo en el que debe incluir el certificado que exporta. Por ejemplo,
c:\server.cert
. - wallet_password es la contraseña que desea establecer para la Wallet. Por ejemplo,
s3rv3rp45s
.
orapki wallet export -wallet c:\server.wallet -dn "CN=server" -cert c:\server.cert -pwd s3rv3rp45s
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
Configure el nivel de cliente para crear un Oracle Wallet que incluya un certificado SSL de servidor de base de datos y un certificado SSL para autenticar usuarios.
Nota: Si el nivel de cliente donde los usuarios ejecutan programas de utilidad de HCL Commerce es el mismo que el nivel de servidor de base de datos, salte al paso 12.
-
Cree un Oracle Wallet con el programa de utilidad orapki en el entorno de cliente.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
orapki wallet create -wallet c:\client.wallet -auto_login -pwd cl13ntp45s
-
Importe el certificado SSL del nivel de servidor.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
Dondeorapki wallet add -wallet wallet_directory -trusted_cert -cert certificate_file -pwd wallet_password
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
c:\client.wallet
. - certificate_file es la vía de acceso y el nombre de archivo en el que debe incluir el certificado que exporta. Por ejemplo,
c:\server.cert
. - wallet_password es la contraseña que desea establecer para la Wallet. Por ejemplo,
cl13ntp45s
.
orapki wallet add -wallet c:\client.wallet -dn "CN=server" -cert c:\server.cert -pwd cl13ntp45s
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
-
Actualice el archivo de configuración sqlnet.ora de Oracle para el cliente.
-
Actualice el archivo de configuración tnsnames.ora de Oracle.
-
Instale el certificado emitido por la entidad emisora de certificados.
Para obtener más información sobre cómo crear una solicitud de certificado e instalar el certificado, consulte Oracle Documentation.Como ejemplo para fines de prueba, añada un certificado firmado automáticamente a Wallet de nivel de cliente para utilizarlo como certificado de usuario. Si el cliente es el mismo que el servidor, añada el certificado a Wallet de nivel de servidor. En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
Dondeorapki wallet add -wallet wallet_directory -dn "dn_name" -keysize 1024 -self_signed -validity 365 -user_cert -trusted_cert -pwd wallet_password
- wallet_directory es el directorio en el que desea crear la Wallet. Por ejemplo,
c:\client.wallet
. - dn_name es el nombre distinguido del propietario del certificado, que es el nombre del servidor de la base de datos. Por ejemplo,
CN=server
. - wallet_password es la contraseña que desea establecer para la Wallet. Por ejemplo,
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 es el directorio en el que desea crear la Wallet. Por ejemplo,
-
Exporte el certificado SSL de usuario desde Oracle Wallet de nivel de cliente.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
orapki wallet export -wallet c:\client.wallet -dn "CN=oracleuser" -cert c:\user.cert -pwd cl13ntp45s
Continúe la configuración para el nivel de servidor de base de datos.
-
Importe el certificado SSL de usuario de Oracle Wallet de nivel de cliente en Oracle Wallet de nivel de servidor.
En un programa de utilidad de línea de mandatos, ejecute el siguiente mandato desde el directorio bin de Oracle:
orapki wallet add -wallet c:\server.wallet -trusted_cert -cert c:\user.cert -pwd s3rv3rp45s
-
Concluya la base de datos Oracle ejecutando el siguiente mandato desde el directorio bin de Oracle:bin
sqlplus / as sysdba shutdown immediate; quit;
-
Detenga el oyente de Oracle con el programa de utilidad Listener Control de Oracle mediante la ejecución del siguiente mandato desde el directorio bin de Oracle:
lsnrctl stop
-
Actualice el archivo de configuración listener.ora del oyente de Oracle.
-
Actualice el archivo de configuración sqlnet.ora de Oracle.
-
Reinicie el oyente de Oracle mediante la ejecución del siguiente mandato desde el directorio bin de Oracle:
lsnrctl start
-
Inicie la base de datos Oracle ejecutando el siguiente mandato desde el directorio bin de Oracle:bin
sqlplus / as sysdba startup; quit;
Ejecute la configuración de clase AllDBConnector para establecer una conexión de base de datos para que los programas de utilidad de HCL Commerce utilicen el certificado en el Oracle Wallet.
-
Actualice el archivo de configuración de adquisición de conexión de base de datos para asegurarse de que los programas de utilidad de WebSphere Commerce pueden autenticar usuarios a través de Oracle Wallet.
Resultados
stagingprop.sh -sourcedb orasrcwallet -destdb oradestwallet -sourcedb_user randomValue -sourcedb_passwd randomValue -destdb_user randomValue -destdb_passwd randomValue
- orasrcwallet es el identificador de la configuración de sustitución para el entorno de creación o transición.
- oradestwallet es el identificador de la configuración de sustitución para el entorno de producción.
- randomValuees cualquier valor para el parámetro especificado. Con esta configuración de Oracle Wallet, el valor se ignora por la clase AllDBConnector y no se utiliza para autenticar el usuario.