Enabling TLS 1.2 with Backward Compatibility in Oracle E-Business Suite Release 12.2 using Elliptic Curve Cryptography (ECC) certificate
Introduction
Oracle E-Business Suite connections fall into the following three categories:
- User accesses Oracle E-Business Suite applications pages through the network using a browser
- User accesses Oracle E-Business Suite application through Oracle Forms when using Forms Servlet mode
- An XML Gateway message originating from a customer is sent to Oracle E-Business Suite
- A mobile phone communications with the Oracle E-Business Suite through a REST service
- Workflow notification emails from the concurrent manager tier
- Payments call back from the database tier
- Oracle Process Manager and Notification (OPMN)
- Oracle Applications Manager Log Viewer
- Punchout in Oracle iProcurement
- XML Gateway connection to a partner applications
- Payments credit card processing
- Dunn & Bradstreet (HZ)
- International Trade Management (ITM) for screening orders and deliveries
- CIS Tax Module
Enabling TLS 1.2 with Backward Compatibility :-
- Oracle E-Business Suite inbound, outbound, and loopback connections are currently certified with TLS 1.2, 1.1, and 1.0
- TLS 1.2 with Backward Compatibility allows for the handshake between the client and server to negotiate and use the highest version of TLS (1.2, 1.1, or 1.0) supported end-to-end by both parties..
- Oracle Fusion Middleware 11.1.1.9 is required for TLS 1.2
- On top of FMW 11.1.1.9, it is required that you apply the July 2016 Critical Patch Update (CPU) or later
- Apply FMW patch 23630525 and patch 26045188 version 11.1.1.9
- Navigation: From the Domain Structure panel, choose Deployments.
- Locate in the list of deployments NonJ2EEManagement (11.1.1).
- Stop the application “NonJ2EEManagement (11.1.1)”.
- In the Change Center panel click 'Lock & Edit'.
- Click the check box beside the deployed application NonJ2EEManagement (11.1.1).
- Delete the NonJ2EEManagement (11.1.1) application.
- Click 'Activate Changes'.
- Redeploy the
$ORACLE_HOME/opmn/applications/NonJ2EEManagement.earfile delivered by this patch:$ $ORACLE_HOME/opmn/bin/opmnctl redeploy -adminHost <ADMINSERVER_HOST> -adminPort <ADMINSERVER_PORT>
- Oracle Workflow - Apply patch 22806350:R12.OWF.C to address an Oracle Workflow Notification Mailer issue.
- Oracle iProcurement - Apply the patch(es) mentioned in My Oracle Support Knowledge Document 1937220.1, Punchout in Oracle iProcurement and Exchange Fails After Supplier Site Migrates From SSLv3 to TLS Protocol (with SSL Handshake SSLIOClosedOverrideGoodbyeKiss), which corresponds to the appropriate application versions.
- Oracle XML Gateway - Apply patch 22326911:R12.ECX.C.
- Oracle iPayment - Apply patch 22522877:R12.IBY.C
Prerequisites for Implementing TLS for ECC Certification
<s_web_ssl_directory>/Apache directory, if there is no Apache directory, create the same $FMW_HOME/oracle_common/bin/orapki wallet add -wallet ./ -trusted_cert -cert rootca.crt -auto_login_only -jsafeIf your certificate authority provides an intermediate certificate, then perform the following to import that certificate into the wallet:
$FMW_HOME/oracle_common/bin/orapki wallet add -wallet ./ -trusted_cert -cert intca.crt -auto_login_only –jsafe$FMW_HOME/oracle_common/bin/orapki wallet add -wallet ./ -user_cert -cert server.crt -auto_login_only -jsafea) Identify s_ohs_instance_loc
[appluat@myserver Apache]$ egrep 's_ohs_instance_loc|s_ohs_component' $CONTEXT_FILE
b) Move the existing wallet files to a backup directory in case you wish to use them again in the future.
c) Copy the cwallet.sso from <s_web_ssl_directory>/Apache into the current directory (s_ohs_instance_loc)
6) Modify the OPMN wallet
a) Navigate to the <s_ohs_instance_loc>/config/OPMN/opmn/wallet directory
b) Move the existing wallet files to a backup directory in case you wish to use them again in the future.
c) Copy cwallet.sso from <s_web_ssl_directory>/Apache into <s_ohs_instance_loc>/config/OPMN/opmn/wallet directory
7) Configure the OPMN Cipher Suites
ssl-ciphers line from opmn.xmlwallet-file="/EBS_web_EBSDB_OHS1/config/OPMN/opmn/wallet" ssl-versions="TLSv1.0,TLSv1.1,TLSv1.2"
Modify Fusion Middleware Control Console
$EBS_DOMAIN_HOME/opmn/<s_ohs_instance>/<s_ohs_component>/wallet$EBS_DOMAIN_HOME/opmn/<s_ohs_instance>/wallet$FMW_HOME/webtier/instances/<s_ohs_instance>/config/OHS/<s_ohs_component>/proxy-wallet
Primary Application node
cwallet.sso file from the <s_ohs_instance_loc>/config/OPMN/opmn/wallet directory to below location $EBS_DOMAIN_HOME/opmn/<s_ohs_instance>/<s_ohs_component>/wallet$EBS_DOMAIN_HOME/opmn/<s_ohs_instance>/wallet
cwallet.sso file from the <s_ohs_instance_loc>/config/OPMN/opmn/wallet directory to below location OHS as the TLS Termination Point
- Log in to Oracle Fusion Middleware Control Console (for example,
http://<hostname>.<domain>:<AdminServer Port>/em). - Select Web Tier Target under EBS Domain.
- Select Administration > Advanced Configuration.
- Select
ssl.conffile for edit. - Update the Listen <port> and the VirtualHost _default_:<port> directives to SSL port, for example Listen 4443.
- Update the SSLProtocol and SSLCipherSuite entry to match the following:
Edit admin.conf file
SSLCipherSuite line or delete it because the RSA ciphersuites we used for the RSA certificate will not work with the ECC certificateEnter the APPS user password:
Enter the WebLogic AdminServer password:
Configure Loopback and Outbound Connections
Note: If you have NOT already applied the April 2017 or later JDK patch to your application tier, then you will also need to add the -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 parameter. The JDK April 2017 patch and later do not require this additonal parameter.
Append the following JVM parameter to all managed servers:
- Log in to Oracle Fusion Middleware Administration Console (for example,
http://<hostname>.<domain>:<AdminServer Port>/console) - Click on Lock & Edit.
- Under Domain Structure > your EBS domain > Environment and Servers, select one of the managed servers. (Note that you will need to repeat this for all managed servers in your environment.)
Then under the Server Start tab in the Arguments section, add the following:-DUseSunHttpHandler=true - Click on Save.
- Repeat steps 3 and 4 for all remaining managed servers.
- For each of the managed servers and the AdminServer, under the SSL tab, click on Advanced, and set the Hostname Verification to Custom Hostname Verifier and the Custom Hostname Verifier field to
weblogic.security.utils.SSLWLSWildcardHostnameVerifier. - Click on Activate Changes
For Admin Server :-
keytool command will let you know if you attempt to add a certificate already present in cacerts.<s_fmw_jdktop>/jre/lib/security directoryca.crt (ROOT) and server.crt (Intermediate ) files to this directory, and issue the following command to ensure that cacerts has write permissions:<s_fmw_java_use_64> variable is set to 'true', then repeat the steps for the 32-bit cacerts in $OA_JRE_TOP/lib/security.Oracle E-Business Suite 12.2 - OAM Context Editor to change the TLS related variables shown in this table:
TLS-Related Variables in the Context File | ||
|---|---|---|
| Variable | Non-TLS Value | TLS Value |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | same as s_webport | same as s_webssl_port |
s_webssl_port | not applicable | default is 4443 |
s_https_listen_parameter | not applicable | same as s_webssl_port |
s_login_page | url constructed with http protocol and s_webport | url constructed with https protocol and s_webssl_port |
s_external_url | url constructed with http protocol and s_webport | url constructed with https protocol and s_webssl_port |
Synchronization Between Run and Patch File Systems
Edit $APPL_TOP_NE/ad/custom/adop_sync.drv.
between the <Begin Customization> and <End Customization> section after the existing <#Copy Ends>:
#SSL SECTION - START
# Required for SSL setup migration from RUN to PATCH file-system.
# Please alter the commands in the event that rsync is not available or the platform does not support the example syntax.
#10.1.2 b64InternetCertificate.txt
rsync -zr %s_current_base%/EBSapps/10.1.2/sysman/config/b64InternetCertificate.txt %s_other_base%/EBSapps/10.1.2/sysman/config/b64InternetCertificate.txt
#Oracle HTTP Server Wallet - cwallet.sso
rsync -zr %s_current_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OHS/%s_ohs_component%/keystores/default/cwallet.sso %s_other_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OHS/%s_ohs_component%/keystores/default/cwallet.sso
#OPMN Wallet - cwallet.sso
rsync -zr %s_current_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OPMN/opmn/wallet/cwallet.sso %s_other_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OPMN/opmn/wallet/cwallet.sso
#Fusion Middleware Control Wallets - cwallet.sso
rsync -zr %s_current_base%/FMW_Home/user_projects/domains/EBS_domain_%s_dbSid%/opmn/%s_ohs_instance%/%s_ohs_component%/wallet/cwallet.sso %s_other_base%/FMW_Home/user_projects/domains/EBS_domain_%s_dbSid%/opmn/%s_ohs_instance%/%s_ohs_component%/wallet/cwallet.sso
rsync -zr %s_current_base%/FMW_Home/user_projects/domains/EBS_domain_%s_dbSid%/opmn/%s_ohs_instance%/wallet/cwallet.sso %s_other_base%/FMW_Home/user_projects/domains/EBS_domain_%s_dbSid%/opmn/%s_ohs_instance%/wallet/cwallet.sso
rsync -zr %s_current_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OHS/%s_ohs_component%/proxy-wallet/cwallet.sso %s_other_base%/FMW_Home/webtier/instances/%s_ohs_instance%/config/OHS/%s_ohs_component%/proxy-wallet/cwallet.sso
Run AutoConfig.
Run AutoConfig using the adautocfg.sh script in the application tier $ADMIN_SCRIPTS_HOME directory.
Restart the application tier services.
Use the adstpall.sh/adstrtal.sh script in the $ADMIN_SCRIPTS_HOME directory to stop and restart all services.
Try to access application using HTTPS

Comments
Post a Comment