gpt4 book ai didi

java - 在 Dropwizard 中设置 SSL

转载 作者:搜寻专家 更新时间:2023-11-01 01:32:42 25 4
gpt4 key购买 nike


我正在尝试在我的 Dropwizard 中设置 SSL服务器。我从 GoDaddy 获得了我的 SSL,并从他们那里收到了几个文件,即:

  1. gd_bundle-g2-g1.crt
  2. b78*********.crt(基本上是一个随机字符串命名的文件)

我已经在我的 keystore 中添加了带有别名 rootgd_bundle-g2-g1.crt 证书,并添加了另一个带有我的域别名的证书。

我的 .yml 配置文件如下所示:(我刚刚粘贴了 .yml 文件的相关部分)

server:
applicationConnectors:
- type: http
port: 8080
- type: https
port: 8443
keyStorePath: keystore/myKeyStore.jks
keyStorePassword: "myPassword"
validateCerts: true

adminConnectors:
- type: http
port: 8081

问题是每当我尝试启动我的服务器时,我都会收到以下错误:

java.lang.IllegalStateException: Unable to retrieve certificate chain

当我在上面的 .yml 中将 validateCerts 设置为 false 时,由于显而易见的原因,此错误消失了,但是当我尝试访问 URL 时,我得到: Connection closed error when trying to access the URL
我好像卡得很厉害。我的服务器与 http 完美配合,但 https 无法正常工作! :(鉴于我使 https 正常工作的最终目标和我目前的情况,我有以下问题:

  1. 我是否错误地处理了证书文件?
  2. 我的 .yml 文件中是否缺少需要添加的内容或那里有什么问题?
  3. 还是我从这张照片中完全遗漏了什么?

感谢您的帮助。

最佳答案

问题终于解决了!这是我如何让它工作的(希望这能帮助那些在弄清楚如何使 SSL 与 Dropwizard 一起工作时遇到困难的人)

  1. 首先,我必须连接 b78*********.crtgd_bundle-g2-g1.crt 的内容(确保b78*********.crt 的内容在其他文件之前)。从现在开始,我们将该文件称为 all_combined.crt。
  2. 然后我必须运行这个命令来生成一个 .p12 文件:

C:\xampp\apache\bin>openssl.exe pkcs12 -export -in all_combined.crt -inkey myKey.key -out keystore.p12 -CAfile temp.crt

myKey.key 是您在生成 CSR 以向权威机构请求 SSL 时必须创建的文件。

  1. 然后我必须运行此命令以将上述生成的 .p12 包含到我的 keystore 中:

C:\Program Files\Java\jdk1.8.0_65\bin\keystore>..\keytool.exe -importkeystore -srckeystore keystore.p12 -destkeystore myKeyStore.jks -srcstoretype pkcs12 -deststoretype jks

这就是 keystore 中所需的全部内容。

  1. 最后我对 .yml 文件做了一点改动:
server:
applicationConnectors:
- type: http
port: 8080
- type: https
port: 8443
keyStorePath: ./keystore/myKeyStore.jks
keyStorePassword: "myPassword"
validateCerts: false
validatePeers: false

请注意,我已将 validateCerts 和 validatePeers 设置为 false。然后我重新启动了我的 Dropwizard 服务器,一切都按预期开始工作,我的服务器正在监听并响应端口 8443! :-)

PS:我不是 100% 确定每个步骤的作用或是否需要每个步骤。但是在搜索了几个小时之后,我终于找到了可以工作的东西,并且肯定会在以后有空的时候阅读有关详细信息的信息。到那时希望这能解除对卡住的人的封锁。

关于java - 在 Dropwizard 中设置 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com