OraFormsConnect(OraForms: 21 - Communication Error., class javax.net.ssl.SSLHandshakeException Received fatal alert: handshake_failuresun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method).

OraFormsConnect(OraForms: 21 - Communication Error., class javax.net.ssl.SSLHandshakeException Received fatal alert: handshake_failuresun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method).

With the replay of a Oracle Forms script, Silk Performer will use the OraFormsConnect function to establish a connection with an Oracle Forms server. During the execution of this call, and assuming it is a secure connection that is being established, an SSL handshake will take place.

The SSL handshake will allow the server to authenticate itself with the client and vice versa.

During this SSL handshake, an exchange takes place between the client and server which involves not only the identification of used protocols and ciphers, but also certificates.

Should the server request a client certificate during the handshake, then in order for it to be presented to the server during record, it will need to be imported, in one of the supported formats - .pem, .pfx, .p12 - along with a private key, into the Silk Performer recorder settings

SILK PERFORMER | SETTINGS | SYSTEM | RECORDER | PROXIES | SOCKS | EDIT and then selected from dropdown list.

Given that the client certificate was needed for a successful connection to the server during record, then it will also be required for replay.

If the certificate is not presented during the SSL handshake with the server, then the following error is likely to be reported:

OraFormsConnect(OraForms: 21 - Communication Error., class javax.net.ssl.SSLHandshakeException Received fatal alert: handshake_failuresun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)...

As Oracle Forms is a Java technology, for replay, the client certificate will need to be configured within the Silk Performer JVM (Java Virtual Machine) settings,

SILK PERFORMER | SETTINGS | ACTIVE PROFILE | JAVA | ADVANCED.

The 'Command Line Options:' section allows for commands and arguments to be presented to the JVM. It is here where the client certificate must be defined. To do this, enter in the following:

-Dcom.microfocus.silkperformer.custom.clientcert="C:\###\###\.p**" 

-Dcom.microfocus.silkperformer.custom.clientcert.pw="password"  

The directory within the double quotes "" for '.clientcert' value, will be the exact location of the client certificate upon the system, i.e. C:\Users\myUser\Desktop\myClientCert.p12.

'.p**' - will be the format the certificate was exported as and the password to assign to the .pw value, will be the password provided when the certificate was exported.

During the subsequent script replay execution, the client certificate will be presented to the server and the error

'OraFormsConnect(OraForms: 21 - Communication Error., class javax.net.ssl.SSLHandshakeException Received fatal alert: handshake_failuresun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)'

should no longer occur. There is however the possibility of a new OraForms:21 error, even with the client certificate in place.

It is key to note, that although the error code for this new error is similar to the error returned prior to specifying the client certificate, the Exception details will ultimately differ

OraFormsConnect(OraForms: 21 - Communication Error., class javax.net.ssl.SSLException java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-emptysun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Steps on how this error may be addressed, can be found within the following KB article.

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
1 of 1
Last update:
‎2018-02-23 15:26
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.