When you attempt to add or configure a plugin (such as the Viptela Plugin) in DX Virtual Network Assurance (VNA), the configuration fails. The server.log file contains the following error:
ERROR [org.jboss.resteasy.core.providerfactory.DefaultExceptionMapper] (default task-2) RESTEASY002375: Error processing request POST /vna/rest/v1/admin/plugins/Viptela Plugin - com.ca.em.sdn.gateway.broker.core.resources.PluginResource.configurePlugin: java.lang.NoClassDefFoundError: Could not initialize class org.bouncycastle.crypto.CryptoServicesRegistrar
Further down in the stack trace, the following root cause is present:
Caused by: java.lang.UnsatisfiedLinkError: /tmp/bc-fips-jni_####/libbc-probe.so: /tmp/bc-fips-jni_####/libbc-probe.so: failed to map segment from shared object [in thread "default task-2"]
DX Virtual Network Assurance (VNA)
The Bouncy Castle FIPS security library used by VNA plugins extracts a native JNI shared object (libbc-probe.so) to the system temporary directory (defaulting to /tmp) and attempts to execute it. If your Linux environment is hardened and the /tmp partition is mounted with the noexec flag, the operating system blocks the execution of this file. This prevents the plugin from initializing its security providers.
To resolve this issue, you must redirect the Java temporary directory to a location that allows execution.
/opt/CA/VNA/wildfly/bin/standalone.conf in a text editor.VNA_CUSTOM_JAVA_OPTS line.-Djava.io.tmpdir=/opt/CA/VNA/tmp parameter to the existing options.VNA_CUSTOM_JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/opt/CA/VNA/tmp"sudo systemctl status wildfly and ensure the -Djava.io.tmpdir parameter is visible in the running process arguments.For information regarding similar restrictions affecting the DX NetOps Data Collector or Portal utilities, please refer to .