LicenseReader needs permissions for readEnvironmentVariable

User fa1369adab

24-09-2009 00:22:43

I am porting our web application to Tomcat6 and Java1.6.  During startup, the log shows two problems:



Sep 23, 2009 8:08:25 PM chemaxon.license.LicenseReader readSystemProperty
WARNING: Reading Java system property is not allowed: null
Sep 23, 2009 8:08:25 PM chemaxon.license.LicenseReader readEnvironmentVariable
WARNING: Reading environment variable is not allowed: null



I think the license reader is failing to find the license file.  In the policy file /etc/tomcat6/policy.d/50local.policy I have placed these permissions:



    permission java.io.FilePermission "${user.home}${/}.chemaxon/*", "read";
    permission java.util.PropertyPermission "user.home", "read";
    permission java.util.PropertyPermission "user.name", "read";



but that is clearly insufficient.


One symptom (I think caused by the license problem) is that MarvinSketch fails to load.  I don't even get the warning about accepting the certificate by which it is signed.


What permissions do I still need to grant the Tomca6 application?  I am using JChem-5.2.3 and Marvin-4.1.11.


 

ChemAxon 909aee4527

24-09-2009 10:49:09

Hi Refloy,


do you use applets or beans in your web application?


In case of applets and Java Web Start, the package must be signed, otherwise Java won't allow reading the user home.


In other cases, the situation can be more difficult, that's why we need this information before we can help you further.


Kind regards,
Judit

User fa1369adab

24-09-2009 13:55:50

The application calls methods from JChem, such as those in chemaxon.struc.Molecule and chemaxon.struc.MolAtom.  It also presents MarvinSketch as an applet to the user.  We are not using beans and we are not using Java Web Start.  The application is started from Tomcat.

ChemAxon 909aee4527

28-09-2009 12:27:02

Hi Refloy,


there are two possible causes we can think of:



  1. The applet package is not signed.
    You can check this using the Help > About MarvinSketch (or Help > About JVM in earlier versions) menu item. The window should display the environment as Trusted Applet.

  2. You directly call Marvin API from JavaScript.
    This way it behaves as it were not signed. If this is the cause, we suggest to upgrade to a newer version, because we made some changes to help this around the 5.1.2 version.


Kind regards,
Judit


 

User fa1369adab

29-09-2009 13:10:33

The MarvinSketch problem was unrelated and has been solved.


However, I am still getting the warning messages at JChem startup.  At least some JChem function is present, though, so perhaps JChem is reading the license file, even though it is presenting these warnings.

ChemAxon 909aee4527

29-09-2009 13:37:08

Thank you for the feedback.


We will try to find and dismiss the cause of the warnings in JChem, but I think these warnings will not cause a real problem.


However please definitely report us as soon as you find a case with a LicenseException.


Kind regards,
Judit