'UnsatisfiedLinkError' running SslConfig utility in DX NetOps Portal
search cancel

'UnsatisfiedLinkError' running SslConfig utility in DX NetOps Portal

book

Article ID: 440581

calendar_today

Updated On:

Products

Network Observability CA Performance Management

Issue/Introduction

When attempting to launch the SslConfig utility on the DX NetOps Performance Center portal, the application fails to load and exits with an InvocationTargetException (LAX).

The stack trace shows a java.lang.UnsatisfiedLinkError specifically citing that a Bouncy Castle FIPS library (libbc-probe.so) failed to map a segment from a shared object in /tmp:

text
 
Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)Stack Trace:java.lang.UnsatisfiedLinkError: /tmp/bc-fips-jni_.../libbc-probe.so: failed to map segment from shared object

Cause

This issue occurs when the system's /tmp directory is mounted with the noexec flag for security hardening. The Bouncy Castle FIPS encryption libraries used by the SslConfig utility attempt to execute from /tmp by default. If execution is restricted on that partition, the utility cannot load the necessary native libraries.

Resolution

To resolve this, you must manually redirect the Java temporary directory for the SslConfig process to a location that allows execution.

Prerequisites

Identify the path that was used when IATEMPDIR was set during the most recent install/upgrade, for example: /data/Install-Files/tmp or /opt/CA/tmp).

Steps

  1. Log in to the Performance Center portal as root or the user that owns the Performance Center installation.

  2. Open the SslConfig executable script for editing:

    bash
     
    vi /opt/CA/PerformanceCenter/Tools/bin/SslConfig
  3. Locate the line (approximately line 2648) that defines the JAVA_TOOL_OPTIONS variable. It should look like this:

    bash
     
    export JAVA_TOOL_OPTIONS=-Djdk.util.zip.disableZip64ExtraFieldValidation=true
  4. Modify the line to include the -Djava.io.tmpdir parameter, pointing to your verified temporary directory. Ensure the entire value is enclosed in double quotes:

    Review this command before running it.

    bash
     
    export JAVA_TOOL_OPTIONS="-Djdk.util.zip.disableZip64ExtraFieldValidation=true -Djava.io.tmpdir=/data/Install-Files/tmp"

    (Note: Replace /data/Install-Files/tmp with your specific directory path.)

  5. Save the file and exit the editor.

  6. Retry starting SslConfig

Additional Information

For similar issues involving the SsoConfig utility, refer to KB 433281