java在spring集成ssl连接上“找不到可信证书”

btqmn9zl  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(274)

我有一个使用spring集成tcp连接的项目。
我用keytool-genkey-v-keystore命令生成了一个.keystore文件。
我使用上面的keystore和keytool-export命令生成了一个.cert文件。
我使用上面的cert和keytool-import命令生成了一个信任库文件。
在此之后,我在项目中使用了keystore和truststore文件,如下所示:

<bean id="sslContextSupport" class="org.springframework.integration.ip.tcp.connection.DefaultTcpSSLContextSupport">
    <constructor-arg value="file:C:\Program Files\Java\jdk-11.0.6\bin\produced.keystore"/>
    <constructor-arg value="file:C:\Program Files\Java\jdk-11.0.6\bin\producedTrustStore"/>
    <constructor-arg value="TEST1234"/>
    <constructor-arg value="TEST1234"/>
</bean>
<int-ip:tcp-connection-factory ...
                               ssl-context-support="sslContextSupport"
                               .../>

当我用这个配置发送请求时

SSLHandshakeException:sun.security.validator.ValidatorException: No trusted certificate found:No trusted certificate found

我怎样才能解决这个问题?

kkih6yb8

kkih6yb81#

跑步 -Djavax.net.debug=all 调试tls/ssl问题。
您是否已将服务器的证书导入信任存储区?
请参阅此测试用例及其注解。

相关问题