IBM Support

UnsatisfiedLinkError: jcryptoki

Troubleshooting


Problem

Error starting Sterling Secure Proxy with HSM enabled: Exception in thread "main" java.lang.UnsatisfiedLinkError: jcryptoki (A file or directory in the path name does not exist.)

Symptom

Exception in thread "main" java.lang.UnsatisfiedLinkError: jcryptoki (A file or directory in the path name does not exist.)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1018)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:982)
at java.lang.System.loadLibrary(System.java:506)
at jprov.cryptoki.Cryptoki.<clinit>(Cryptoki.java:73)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at au.com.eracom.crypto.provider.ERACOMProvider.<clinit>(ERACOMProvider.java:65)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:174)
at org.apache.harmony.security.fortress.Services.newInstance(Services.java:1121)
at org.apache.harmony.security.fortress.Services.access$800(Services.java:56)
at org.apache.harmony.security.fortress.Services$NormalServices.createProviderInstance(Services.java:355)
at org.apache.harmony.security.fortress.Services$NormalServices.createExtPr
oviderInstance(Services.java:333)
at org.apache.harmony.security.fortress.Services$NormalServices.access$1200
(Services.java:160)
at org.apache.harmony.security.fortress.Services$NormalServices$3.run(Servi
ces.java:609)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at org.apache.harmony.security.fortress.Services$NormalServices.loadExtProv
iders(Services.java:585)
at org.apache.harmony.security.fortress.Services$NormalServices.access$300(
Services.java:160)
at org.apache.harmony.security.fortress.Services$NormalServices$1.run(Servi
ces.java:203)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at org.apache.harmony.security.fortress.Services$NormalServices.<clinit>(Se
rvices.java:198)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at org.apache.harmony.security.fortress.Services.getProvidersList(Services.
java:782)
at java.security.SecureRandom.findService(SecureRandom.java:140)
at java.security.SecureRandom.<init>(SecureRandom.java:106)
at com.sterlingcommerce.security.provider.SecurityProperties.getDefaultPRNG
Algorithm(SecurityProperties.java:797)
at com.sterlingcommerce.security.provider.SecurityProperties.initialize(Sec
urityProperties.java:418)
at com.sterlingcommerce.security.provider.SecurityProperties.load(SecurityP
roperties.java:144)
at com.sterlingcommerce.security.provider.SecurityProperties.load(SecurityP
roperties.java:97)
at com.sterlingcommerce.hadrian.tools.ListCertificatesTool.main(ListCertifi
catesTool.java:151)

Cause

Missing ERACOM HSM Jar and lib files in the Sterling Secure Proxy JRE directory

Environment

Eracom HSM

Resolving The Problem

Copy the following JAR Files from ERACOM

<ERACOM install path>/lib/jcprov.jar
<ERACOM install path>/lib/jprov.jar

and the associated libraries

<ERACOM install path>/lib/libethsm.*
<ERACOM install path>/lib/libcthsm.*
<ERACOM install path>/lib/libetpcihsm.*
<ERACOM install path>/lib/libcryptoki.*
<ERACOM install path>/lib/libjcryptoki.*
<ERACOM install path>/lib/libjcprov.*

to the "<SSP>\jre\lib\ext" library then restart Sterling Secure Proxy.

[{"Product":{"code":"SS6PNW","label":"IBM Sterling Secure Proxy"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"}],"Version":"3.4","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
17 December 2019

UID

swg21623735