使用 SSL 获取 geode REST API

Get geode REST API going with SSL

我已经设置 gemfire.properties 使用 ssl-enabled-components=web 使 Web 组件需要 SSL 并设置密钥库。定位器和服务器启动正常,GFSH 连接到 JMX 管理器。但是,当我尝试启动 Swagger UI 时,我得到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH。当配置为 ssl-ciphers=ssl-protocols= 或设置为 any...

时会发生这种情况

那么 Apache Geode 所需的 REST API 密码是什么?谢谢

我使用以下内容创建的基本证书对此进行了测试:

keytool -genkeypair -alias self -dname "CN=trusted" \
  -validity 3650 -keypass password -keystore ./trusted.keystore \
  -storepass password -storetype JKS

按照您描述的方式失败了。我重新创建了证书并使用 -keyalg EC 的不同密钥算法然后工作。我会看看是否可以在某个时候给出更详细的解释。

更新:

我正在使用 Mac OS 并且我的 /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/security/java.security 文件包含以下证书限制:

jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \
  DSA keySize < 1024, EC keySize < 224

使用 -keyalg EC,生成的证书使用 SHA256withECDSA 签名,但如果没有该选项,它使用 SHA1withDSA 签名,因此不可接受。

对于签名的 SSL 证书,我必须通过 this process using openssl to generate a pfx file, and then this process 将该 pfx 导入 java 密钥库,并带有 -keyalg EC 标志。然后 Swagger 使用 HTTPS 可以正常工作。