Rundeck作业API:javax.net.ssl.SSLHandshakeException:没有通用的密码套件

查理

已从Rundeck 3.0.2(API v30)升级3.2.1(API v34)安装Yum / RPM,RHEL 7。

在现有工作安装之后,我按照Rundeck文档和建模配置了SSL。SSL在Web上运行良好,并且在我使用curl调用作业REST API时也可以正常工作,但是当我们的MuleSoft应用程序在REST API上运行时,它会失败并出现handhake_failure:

%% Initialized:  [Session-1, SSL_NULL_WITH_NULL_NULL]
qtp1539575645-26, fatal error: 40: no cipher suites in common
javax.net.ssl.SSLHandshakeException: no cipher suites in common
%% Invalidated:  [Session-1, SSL_NULL_WITH_NULL_NULL]
qtp1539575645-26, SEND TLSv1.2 ALERT:  fatal, description = handshake_failure
qtp1539575645-26, WRITE: TLSv1.2 Alert, length = 2
qtp1539575645-26, fatal: engine already closed.  Rethrowing javax.net.ssl.SSLHandshakeException: no cipher suites in common

我确认MuleSoft信任Rundeck服务器的证书。以前,我没有在Rundeck ssl配置中明确包含/排除任何密码套件,但是我强迫MuleSoft使用特定套件,然后使用-Drundeck.jetty.connector.ssl.includedCipherSuites=(insert suite here)参数将该套件添加到/ etc / sysconfig / rundeckd中,但是我们仍然收到“ no共同的密码套件”错误。

添加-Djavax.net.debug=sslparm/etc/sysconfig/rundeckd会将握手详细信息添加到service.log我可以看到排除的密码套件的列表,但是没有看到确认中包括我添加的密码套件的列表我确实在运行的JVM的进程详细信息中看到了parm。

感觉就像是MuleSoft方面的客户端问题,我们正在与供应商联系,但是我感到奇怪的是,当我明确包含客户端发送的密码套件时,仍然看不到一个共同点。也许我使用-Drundeck.jetty.connector.ssl.includedCipherSuites不正确?

/etc/sysconfig/rundeckd目前正在测试的文件如下所示:

export RUNDECK_WITH_SSL=true
export RDECK_HTTPS_PORT=4443
RDECK_JVM_OPTS="-Drundeck.jaaslogin=true \
       -Djava.security.auth.login.config=/etc/rundeck/jaas-multiauth.conf \
       -Dloginmodule.name=multiauth \
       -Djavax.net.ssl.trustStore=/etc/rundeck/ssl/truststore \
       -Djavax.net.ssl.trustStoreType=jks \
       -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol \
       -Drundeck.jetty.connector.ssl.includedCipherSuites=TLS_RSA_WITH_AES_256_GCM_SHA384 \
       -Dorg.eclipse.jetty.util.ssl.LEVEL=DEBUG \
       -Djavax.net.debug=ssl"

任何想法表示赞赏!

查理

问题是客户端MuleSoft要求Rundeck服务器的SSL证书具有'KeyUsage = digitalSignature'扩展名。添加此扩展程序解决了该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

javax.net.ssl.SSLHandshakeException:没有可协商的密码套件(严重错误:80:包装应用程序数据时出现问题)

SSLHandshakeException:没有通用的密码套件-Spray-can SSL配置

javax.net.ssl.SSLHandshakeException:没有可用的认证方案

javax.net.ssl.SSLHandshakeException:没有适当的协议

如何使用javax.net.ssl.SSLContext设置密码套件

Spring Cloud Gateway:javax.net.ssl.SSLHandshakeException:没有可用的身份验证方案

OpenLiberty 抛出 javax.net.ssl.SSLHandshakeException

javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLProtocolException:SSL握手已中止:

SSL证书验证:javax.net.ssl.SSLHandshakeException

Databricks作业获取javax.net.ssl.SSLHandshakeException:收到致命警报:调用在Google Cloud中运行的api时,handshake_failure

SSLHandshakeException:没有通用的密码套件

Java SSLHandshakeException:没有通用的密码套件

com.android.volley.NoConnectionError:javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLProtocolException:SSL握手已中止:

Quickblox在API 11上不起作用-javax.net.ssl.SSLPeerUnverifiedException:没有对等证书

贝宝(Paypal)沙箱API:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure

javax.net.ssl.SSLHandshakeException,而来自Java代码的HttpsURLConnection

Restlet javax.net.ssl.SSLHandshakeException:证书链为null

如何解决javax.net.ssl.SSLHandshakeException错误?

android asynchttpclient javax.net.ssl.SSLHandshakeException:握手失败

Javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLProtocolException:SSL握手中止:SSL库失败,通常是协议错误

SSL异常:javax.net.ssl.SSLHandshakeException:收到致命警报:certificate_unknown

javax.net.ssl.SSLHandshakeException:将JMeter与SSL(JDK8)一起使用时,handshake_failure

javax.net.ssl.SSLHandshakeException:com.android.org.conscrypt.NativeCrypto.SSL_do_handshake的对等方关闭了连接(本机方法)

错误 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:使用 ssl.insecure 标志时的 PKIX 路径

javax.net.ssl.SSLException:没有可用的PSK。无法恢复

javax.net.ssl.SSLPeerUnverifiedException:未验证主机名XXX,没有自签名证书

安全修复:javax.net.ssl.SSLPeerUnverifiedException:没有对等证书

android应用程序中的错误:javax.net.ssl.SSLPeerUnverifiedException:没有对等证书

尝试编译应用程序时出现 javax.net.ssl.SSLHandshakeException