【问题标题】:Get Geode Native Client going with SSL使用 SSL 获取 Geode Native Client
【发布时间】:2017-10-02 15:26:26
【问题描述】:

我有一个与 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复制到多个目录,同样的错误。

请问其他人看到了吗?

【问题讨论】:

  • 我尝试regsvr32 cryptoimpl.dll 并得到模块无法加载,例如here
  • 我尝试gacutil /i cryptoImpl.dll 也失败了

标签: geode


【解决方案1】:

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

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

【讨论】:

    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2016-05-01
      相关资源
      最近更新 更多