Native Client "cannot open library: cryptoImpl" error
search cancel

Native Client "cannot open library: cryptoImpl" error

book

Article ID: 294196

calendar_today

Updated On:

Products

VMware Tanzu Gemfire

Issue/Introduction

Symptoms:
A user may have a functioning GemFire system where locator and server-side SSL are configured and Swagger and Pulse are working fine. However, in a Native Client applications, when the pool factory tries to connect to the SSL locator and create the region, the Geode logs show the error "cannot open library: cryptoImpl". Even after retrieving the cryptoImpl.dll from the native client directory and adding it to the custom client directory, the same error my be encountered. Changing the Windows path and copying the dll to various directories does not resolve the error.
 
[config 2019/04/04 19:54:38.217159 India Standard Time SIMXDWDEVP0921:10380 14676] Starting the Geode Native Client
[info 2019/04/04 19:54:38.217216 India Standard Time SIMXDWDEVP0921:10380 14676] Using Native_bgcffbdbbf10380 as random data for ClientProxyMembershipID
[config 2019/04/04 19:54:38.272227 India Standard Time SIMXDWDEVP0921:10380 14676] .NET layer assembly version: 10.0.0.483(v4.0.30319)
[config 2019/04/04 19:54:38.272682 India Standard Time SIMXDWDEVP0921:10380 14676] .NET runtime version: 4.0.30319.42000 
[config 2019/04/04 19:54:38.272786 India Standard Time SIMXDWDEVP0921:10380 14676] .NET AppDomain: 1 - CacheDMZ.exe
[info 2019/04/04 19:54:38.302821 India Standard Time SIMXDWDEVP0921:10380 9352] ClientMetadataService started for pool pool
[info 2019/04/04 19:54:38.312089 India Standard Time SIMXDWDEVP0921:10380 14676] Creating region Sidecache_Test attached to pool pool
[error 2019/04/04 19:54:38.323317 India Standard Time SIMXDWDEVP0921:10380 9352] cannot open library: cryptoImpl
[error 2019/04/04 19:54:38.330760 India Standard Time SIMXDWDEVP0921:10380 9352] cannot open library: cryptoImpl
[error 2019/04/04 19:54:38.337130 India Standard Time SIMXDWDEVP0921:10380 9352] cannot open library: cryptoImpl

Environment


Cause

The client application cannot find the cryptoImpl in the expected lib directory.

Resolution

In order for SSL to work with the Native Client, you must either include the cryptoImpl.dll in the application's working directory or add it to the Windows PATH system environment variable.
 

The other requirement is to add OpenSSL v1.0.2 to your Windows PATH system environment variable, as that is a dependency for cryptoImpl.dll. You can search online to download OpenSSL v1.0.2 from any number of mirrors.

1.Check the current version of OpenSSL that has been installed in the platform to make sure the installed version can be compatible with the operation system. In this case, since the error message has appeared in the client log, there might be the issue on the compatibility.
 
2. Check out third Party OpenSSL related binary distributions from the following OpenSSL wiki page:
 
https://wiki.openssl.org/index.php/Binaries
 
3.The following link mentioned in the above wiki page is a good place to start if there is no preference:

https://slproweb.com/products/Win32OpenSSL.html

This issue should be able to get fixed after placing the correct OpenSSL DLLs.