使用 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 可以正常工作。
我已经设置 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 可以正常工作。