让Geode Native Client使用SSL

时间:2017-10-02 15:26:27

标签: geode

我有一个C#本地客户端与Geode一起使用。我现在已经使定位器/服务器端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复制到多个目录并出现相同的错误。

其他人见过这个吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

当我按照@mcmellawatt的说明进行操作并下载64位版本的OpenSSL v1.0.2时,然后将libeay32.dllssleay32.dll以及cryptoImpl.dll添加到Windows PATH中,我的本机客户端应用程序开始了没有cannot open library: cryptoImpl错误。

但是,通过本机客户端SSL example here,与启用了SSL的远程SSL服务器之间没有实际连接,

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