使用 SSL 获取 Geode Native Client

Get Geode Native Client going with SSL

我有一个与 Geode 一起使用的 C# 本机客户端。我现在已经使定位器/服务器端 SSL 和 Swagger 和 Pulse 工作正常。

所以我在我的本地客户端中添加了以下内容:

.Set("log-file", "my.log")
.Set("log-level", "all")
.Set("ssl-enabled", "true")
.Set("ssl-keystore", "my.pem")

等等,当池工厂尝试连接到 SSL 定位器时,Geode 日志显示:

[finer 2017/10/02 16:11:37.176509 GMT Daylight Time ISLPC02:1988 3740 Querying locator at [#.#.#.#:10334] for queue server from group []
[info 2017/10/02 16:11:37.176509 GMT Daylight Time ISLPC02:1988 8744] ClientMetadataService started for pool myPool
[info 2017/10/02 16:11:37.176509 GMT Daylight Time ISLPC02:1988 3740] Using socket send buffer size of 64240.
[info 2017/10/02 16:11:37.176509 GMT Daylight Time ISLPC02:1988 3740] Using socket receive buffer size of 64240.
[debug 2017/10/02 16:11:37.176509 GMT Daylight Time ISLPC02:1988 3740] Creating SSL socket stream
[error 2017/10/02 16:11:37.192108 GMT Daylight Time ISLPC02:1988 3740] cannot open library: cryptoImpl

所以我从本机客户端目录中获取了 cryptoImpl.dll 并将其添加到我的客户端目录中,同样的错误。我更改了 Windows 路径,同样的错误。将 dll 复制到多个目录和相同的错误。

还有其他人看过吗?

为了使 SSL 与 Geode C# 客户端一起工作,您必须在应用程序的工作目录中包含 cryptoImpl.dll 或将其添加到 Windows PATH 系统环境变量中。

另一个要求是将 OpenSSL v1.0.2 添加到您的 Windows PATH 系统环境变量,因为它是 cryptoImpl.dll 的依赖项。您可以在线搜索从任意数量的镜像下载 OpenSSL v1.0.2。

当我按照@mcmellawatt 的说法下载 64 位版本的 OpenSSL v1.0.2 然后将 libeay32.dllssleay32.dll 以及 cryptoImpl.dll 添加到 Windows PATH 我的本机客户端应用程序启动时没有 cannot open library: cryptoImpl 错误。

但是,通过本机客户端 SSL example here 没有实际连接到启用了 SSL 的远程服务器并出现错误:

No locators available ---> Apache.Geode.Client.NoAvailableLocatorsException