【问题标题】:how to establish 2-way SSL connection from Spring-XD如何从 Spring-XD 建立 2-way SSL 连接
【发布时间】:2015-03-21 16:48:22
【问题描述】:

我通过 Https 调用一个使用 2 路身份验证的 url。 Spring XD 能够接受服务器的证书,但是服务器还需要 SpringXD 来提供身份验证。

我有 SpringXD 需要发送到服务器的证书,但不知道我应该在哪里配置它?

我正在使用 http-client 处理器模块通过 HTTPS 建立连接。

如果有人能指出我正确的配置,不胜感激。

以下是我的直播: stream create --name hitSSL --definition "jms --destination=readFromQ | http-client --url='''https://remoteHost:remotePort/trafficcontrol/''' --httpMethod=GET | log"

我在尝试访问 URL 时得到了这个: :收到致命警报:handshake_failure;嵌套异常是 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

【问题讨论】:

    标签: ssl https client-certificates spring-xd


    【解决方案1】:

    首先,您应该使用一些密钥工具创建密钥存储文件 (JKS) 并将您的证书文件放在那里。

    之后,您应该提供JAVA_OPTS ENV 变量来表示xd-container shell 脚本来获取您的 JKS 文件:

    export JAVA_OPTS=-Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456
    xd-container
    

    或使用相同的-D 选项修改DEFAULT_JVM_OPTSxd-container 脚本。

    无需进行任何编码。

    【讨论】:

    • 谢谢@Artem。我能够连接到 https 网址。我将 xd-admin 和 xd-container 编辑为:#Add default JVM options here。您还可以使用 JAVA_OPTS 将 JVM 选项传递给此脚本。 DEFAULT_JVM_OPTS="-javaagent:/opt/spring-xd-1.1.0.M1/xd/lib/HostnameVerifier-01.00.00.07.jar -Djavax.net.ssl.keyStore=/prod/mycert/myclientcert.jks -Djavax。 net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=/opt/jrockit-jdk1.6.0_24-R28.1.3-4.0.1/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword= changeit -Djavax.net.debug=true"
    猜你喜欢
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 2011-03-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    相关资源
    最近更新 更多