我的客户端.net 3.5应用程序(TLs v1.2)在时间服务供应商最终更新证书时失败了。证书使用是可选的,我们没有使用它,因此我们认为它不会影响我们。 但是一旦他们更新了证书,我的客户端应用程序就开始失败了。 这是我现在面临的握手失败 - 我从供应商那里得到了日志,它没有给我任何有关错误的详细信息。
来自供应商的失败日志是:
Apr 5 17:30:06 localhost haproxy [xxx]:xx.xx.xxx.xxxx:43812 [05 / Apr / 2018:17:30:06.912] xxx.xxx3.com/2:SSL握手失败< / p>
我尝试在本地运行代码,可以毫无问题地运行它。 供应商的成功握手日志如下:
Apr 6 12:08:54 localhost haproxy [19307]:xxx.xxx3.com appsjavadev_cluster / appsjavadev1 client_ip:xx.xx.xxx.xxxx client_port:23413 SSL_version:TLSv1.2 SSL_cypher:ECDHE-ECDSA-AES256-GCM -SHA384 - 287/0/2/10/299 200 285 - - - NI 74/1/0/0/0 0/0&#34; GET /JSIUploadB2B/serve.xml HTTP / 1.1&#34;
供应商团队建议我们使用错误的密码进行通信,这是导致失败的原因。 但我不知道如何从我的客户那里改变它。这是我需要做的服务器设置吗?或者在我的.Net代码中的某个地方,我需要强制使用我的客户端将要使用的密码技术。
我已经在这已经打破了近一个星期了,因为它在所有开发,qa和生产服务器上都失败了近一周。试图看到多个线程,但没有提供完全解决我的问题。
任何帮助?
谢谢..
编辑: 接受的密码套件:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(0xc02c)ECDH secp256r1(eq.3072 bits RSA)FS 256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(0xc024)ECDH secp256r1(eq.3072 bits RSA)FS 256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(0xc00a)ECDH secp256r1(eq.3072 bits RSA)FS 256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xc02b)ECDH secp256r1(eq.3072 bits RSA)FS 128
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(0xc023)ECDH secp256r1(eq.3072 bits RSA)FS 128
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(0xc009)ECDH secp256r1(eq.3072 bits RSA)FS 128
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA(0xc008)ECDH secp256r1(eq.3072 bits RSA)FS WEAK 112