IBM Support

API Error: NSS failed to initialize

Troubleshooting


Problem

The debug.log file reports "API Error: NSS Failed to Initialize." This technote discusses the cause of this error as well as steps to resolve it.

Symptom

The following error occurs continually in the debug.log file:

20080508T162221.590-0800 1 Looking for NSS libraries in library path.


20080508T162221.595-0800 1 Unable to load 'libnss3.so' library from 'library path' directory
20080508T162221.599-0800 1 Unable to load 'libsmime3.so' library from 'library path' directory
20080508T162221.603-0800 1 Unable to load 'libnspr4.so' library from 'library path' directory
20080508T162221.607-0800 1 Unable to load 'libplc4.so' library from 'library path' directory
20080508T162221.610-0800 1 Unable to load all the necessary NSS support libraries.

Cause

For AIX, Linux, or Solaris operating systems, the API has to be explicitly set to configure NSS. In contrast, Microsoft Windows automatically detects and configures the appropriate API settings for configuring NSS.

Resolving The Problem

For AIX, Linux, or Solaris operating systems, you need to update the prefs.config file with the entries give below. The prefs.config file is located at /etc/PureEdge/prefs/prefs.config.resti

The overrideDefaultPathToNetscapeProfile must contain the cert8.db and key3.db files. The prefs.config example below demonstrates the cert key added to the Mozilla Firefox default profile. For IBM Forms Server, you would add the certificate to the root user, therefore requiring you to point to the Mozilla Firefox home folder, /root/.mozilla/firefox/<profile name>.

The overrideDefaultPathToNetscapeSecurityLibraries must point to the folder containing the libnss3.so file.

Example of prefs.config file:


    overrideDefaultPathToNetscapeProfile = /pureedge/home/rparhar/.mozilla/firefox/xkxxep32.default
    overrideDefaultPathToNetscapeSecurityLibraries = /usr/lib

NOTE: The overrideDefaultPathToNetscapeSecurityLibraries should be set to the path containing the NSS libraries like libnss3.so, etc. In some cases with 64 bit *nix system, /usr/lib64 will contain all these libraries and in others, you may need to create symbolic links in /usr/lib folder to some of the missing libraries that are contained in /usr/lib64.

If you want to configure NSS for your application that is running on WAS, you will also need to add the same path for overrideDefaultPathToNetscapeSecurityLibraries in your respective PATH variable for your OS in WAS as described in the link below.

Setting the library path on AIX, Linux and Solaris


For more information on the prefs.config file, refer to the topic "Configuring the API" in the IBM Forms Knowledge Center.

For further explanation about the debug.log and how to generate it, refer to "Collecting Data" under the heading manual log collection section.

[{"Product":{"code":"SS4BP3","label":"Lotus Forms Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"API","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF027","label":"Solaris"},{"code":"PF016","label":"Linux"},{"code":"PF012","label":"IBM i"}],"Version":"8.2;8.1;8.0.1;8.0.0.2;8.0.0.1;8.0;4.0.0.2;4.0.0.1;4.0;3.5.1.2;3.5.1.1;3.5.1;3.5;3.0.1;3.0","Edition":"All Editions","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]

Document Information

More support for:
Lotus Forms Server

Software version:
8.2, 8.1, 8.0.1, 8.0.0.2, 8.0.0.1, 8.0, 4.0.0.2, 4.0.0.1, 4.0, 3.5.1.2, 3.5.1.1, 3.5.1, 3.5, 3.0.1, 3.0

Operating system(s):
AIX, Solaris, Linux, IBM i

Document number:
358623

Modified date:
16 June 2018

UID

swg21318233