Tuesday, May 15, 2012

How to resolve “Java has discovered application components that could indicate a security concern”

In this article I will describe how to resolve “Java has discovered application components that could indicate a security concern” issue.

Figure - 1

The cause of this warning is that your application contains both signed and unsigned java code. From JDK 6 update 19 this security check is added. To get rid of this warning message you should use either all signed java code or all unsigned java code. Mix of signed and unsigned java code will raise this warning.

Below is the procedure of signing the jar file. This method is valid for Forms 11g.

  1. Backup and open the file “ORACLE_INSTANCE\bin\sign_webutil.bat” in a notepad. 
  2. Search for “KEYSTORE_PASSWORD=<Your KEYSTORE password>”. Replace <Your KEYSTORE password> with your password. e.g. KEYSTORE_PASSWORD=MyPassword  
  3. Search for “JAR_KEY_PASSWORD=<Your private key password>”. Replace <Your private key password> with your password. e.g. JAR_KEY_PASSWORD=MyJarPassword 
  4. Search for "SET KEYSTORE="%HOMEDRIVE%%HOMEPATH%/.keystore" change HOMEDRIVE and HOMEPATH variables with values according to your environment and locate your keystore file. e.g. KEYSTORE="K:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\servers\WLS_FORMS\.keystore". If you don’t know the password then rename the existing .keystore to somename.keystore and signing process will create new .keystore file with the key and password provided by you in steps 1 and 2. 
  5. Now sign the jar file with the following command.
ORACLE_INSTANCE\bin\sign_webutil.bat %ORACLE_HOME%\forms\java\jacob.jar

Where 
ORACLE_INSTANCE=K:\Oracle\Middleware\asinst_6 and
ORACLE_HOME=K:\Oracle\Middleware\as_1 set these variables according to your environment.

Repeat these steps for all jar files used in your application the restart the forms managed server.

Insha-Allah this will help and serve the purpose. For any corrections and improvements please suggest.


2 comments:

  1. Sir, i think this is just a warning. Sometimes for different purposes we may need both signed and unsigned codes. I don't think if we can't just make a call from unsigned to signed or vice versa. Are you sure this issue is being caused by only having signed and unsigned java code?

    ReplyDelete
  2. Aslamulalikum Nasir Bhai,

    Thank you for sharing the useful information, it really helps me, we have installed java 7. And at java 7 applet where we enter the username, password,and database string name to login the application. In that small window the TAB button doesnt work, can you please tell us the solution.

    Thanks,

    Atif

    ReplyDelete