gpt4 book ai didi

ssl - 使用 apache camel 连接到 https 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:17 25 4
gpt4 key购买 nike

我的问题的背景:

我在 servicemix 中使用 apache camel,我正在开发一个包。在此包中,以下端点在路由中定义:

<to uri="https4://URL_I_WANT_TO_CONNECT_TO?proxyAuthHost=MY_PROXY_HOST_NAME&amp;proxyAuthPort=MY_PROXY_PORT&amp;sslContextParameters=mySslContextParameters" />

正如您在“uri”属性的值中看到的,我使用了 HTTP 代理。

我的目标是向“URL_I_WANT_TO_CONNECT_TO”发出 HTTP POST 请求。我已经获得了 3 个证书(3 个“.cer”文件,根据这些文件的名称,我猜有一个用于服务器,一个用于 CA,一个用于 CA 中间)。我们将这 3 个证书命名为“cert_server.cer”、“cert_ca.cer”和“cert_ca_intermediate.cer”。

我使用工具“keytool”创建了一个名为“keystore.jks”的文件。此创建是通过按以下顺序执行以下三个命令完成的:

keytool -import -keystore keystore.jks -file cert_server.cer -alias "server"
keytool -import -keystore keystore.jks -file cert_ca.cer -alias "ca"
keytool -import -keystore keystore.jks -file cert_ca_intermediate.cer -alias "ca_intermediate"

注意:我对所有证书使用相同的密码

然后我在我的bundle对应的java项目中添加了文件“keystore.jks”和3个证书,并定义了以下sslContextParameters(这是在前面定义的端点的“uri”属性的值中引用的)在我的包的蓝图文件中:

<sslContextParameters id="mySslContextParameters"
xmlns="http://camel.apache.org/schema/blueprint">
<keyManagers keyPassword="abcde">
<keyStore resource="/key/keystore.jks" password="abcde" />
</keyManagers>
</sslContextParameters>

问题是它不起作用(我无法连接到“URL_I_WANT_TO_CONNECT_TO”),我唯一的信息是以下日志消息:“错误:握手期间远程主机关闭连接”。我不知道如何解决这个问题。

HTTP 代理可能是问题的根源吗?

感谢您的帮助。

最好的问候

最佳答案

如果您的证书用于联系 SSL 服务器(而不是身份验证),请查看 TrustManagersParameters(而不是 KeyStoreParameters)。

http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-TrustManagersParameters

关于ssl - 使用 apache camel 连接到 https 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36086475/

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