我的应用程序调用Web服务请求 . 此Web服务的提供程序正在请求基于证书的身份验证 .
不幸的是,在进行握手时,证书不会作为CertificateRequest步骤的一部分返回 . 以下是日志跟踪
Cert Authorities:
*** ServerHelloDone
Warning: no suitable certificate found - continuing without client
authentication
我已使用以下属性放置密钥库和信任库,这些属性在握手期间被拾取(记录在日志中)
-Djavax.net.ssl.keyStore=$CMX_SSL_KEY_STORE
-Djavax.net.ssl.keyStorePassword=123456
-Djavax.net.debug=ssl
-Djavax.net.ssl.keyStoreType=pkcs12
JAVA_OPTS= JAVA_OPTS="-D$PS_TOKEN$ENV_TOKEN $LOCAL_MEM_OPTS $GC_OPTS
$CMAX_OPTS $JMX_OPTS $CMX_SSL_TRUST_STORE_OPT $MQ_OPTS
$ADDITIONAL_JVM_OPTS $LOCAL_JVM_OPTS $CMX_SSL_KEY_STORE_OPT"
我没有私钥作为密钥库的一部分,因为提供证书的供应商拒绝提供私钥 . 作为密钥库的一部分,我拥有整个证书链,但仍然无法正常工作
日志中看到的错误如下所示
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failu