java sdk pk模式tls双证书无法连接
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
SDK-JAVA-DEMO,使用sdk用的是2.3.6,PK模式,开启TLS,无法连接节点;相同配置用cmc是正常的
报错failed to set cipher suite: [ECC-SM4-GCM-SM3, ECDHE-SM4-GCM-SM3, ECC-SM4-SM3, ECDHE-SM4-SM3]
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
` init client success. 2025-07-22 10:45:16.952 WARN 2420122 --- [ main] org.chainmaker.sdk.GrpcClientFactory : ===============创建连接失败javax.net.ssl.SSLException: failed to set cipher suite: [ECC-SM4-GCM-SM3, ECDHE-SM4-GCM-SM3, ECC-SM4-SM3, ECDHE-SM4-SM3],把节点加入异常节点grpcs://192.168.1.110:12301_test.org 2025-07-22 10:45:16.952 WARN 2420122 --- [ main] org.chainmaker.sdk.GrpcClientFactory : ===============创建连接失败===============
org.chainmaker.sdk.RpcServiceClientException: javax.net.ssl.SSLException: failed to set cipher suite: [ECC-SM4-GCM-SM3, ECDHE-SM4-GCM-SM3, ECC-SM4-SM3, ECDHE-SM4-SM3] at org.chainmaker.sdk.RpcServiceClient.initManagedChannel(RpcServiceClient.java:212) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.RpcServiceClient.(RpcServiceClient.java:90) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.RpcServiceClient.newServiceClient(RpcServiceClient.java:105) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.createRpcClient(GrpcClientFactory.java:143) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:119) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:26) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:70) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223) [commons-pool2-2.11.1.jar:2.11.1] at org.chainmaker.sdk.ChainClient.sendTxRequestWithSync(ChainClient.java:3048) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.sendRequestWithSync(ChainClient.java:3575) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.sendRequest(ChainClient.java:3570) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.proposalRequest(ChainClient.java:3398) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.getChainConfig(ChainClient.java:1136) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at chainmaker.sdk.demo.ChainConfig.getChainConfig(ChainConfig.java:11) [classes/:na] at chainmaker.sdk.demo.DemoApplication.main(DemoApplication.java:21) [classes/:na]
2025-07-22 10:45:16.952 ERROR 2420122 --- [ main] org.chainmaker.sdk.GrpcClientFactory : create chainClient error:no node can use
org.chainmaker.sdk.RpcServiceClientException: javax.net.ssl.SSLException: failed to set cipher suite: [ECC-SM4-GCM-SM3, ECDHE-SM4-GCM-SM3, ECC-SM4-SM3, ECDHE-SM4-SM3] at org.chainmaker.sdk.RpcServiceClient.initManagedChannel(RpcServiceClient.java:212) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.RpcServiceClient.(RpcServiceClient.java:90) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.RpcServiceClient.newServiceClient(RpcServiceClient.java:105) ~[chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.createRpcClient(GrpcClientFactory.java:143) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:119) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:26) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:70) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298) [commons-pool2-2.11.1.jar:2.11.1] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223) [commons-pool2-2.11.1.jar:2.11.1] at org.chainmaker.sdk.ChainClient.sendTxRequestWithSync(ChainClient.java:3048) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.sendRequestWithSync(ChainClient.java:3575) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.sendRequest(ChainClient.java:3570) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.proposalRequest(ChainClient.java:3398) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at org.chainmaker.sdk.ChainClient.getChainConfig(ChainClient.java:1136) [chainmaker-sdk-java-2.3.6.jar:2.3.6] at chainmaker.sdk.demo.ChainConfig.getChainConfig(ChainConfig.java:11) [classes/:na] at chainmaker.sdk.demo.DemoApplication.main(DemoApplication.java:21) [classes/:na]
java.lang.RuntimeException: java.lang.RuntimeException: create chainClient error:no node can use at org.chainmaker.sdk.ChainClient.sendTxRequestWithSync(ChainClient.java:3057) at org.chainmaker.sdk.ChainClient.sendRequestWithSync(ChainClient.java:3575) at org.chainmaker.sdk.ChainClient.sendRequest(ChainClient.java:3570) at org.chainmaker.sdk.ChainClient.proposalRequest(ChainClient.java:3398) at org.chainmaker.sdk.ChainClient.getChainConfig(ChainClient.java:1136) at chainmaker.sdk.demo.ChainConfig.getChainConfig(ChainConfig.java:11) at chainmaker.sdk.demo.DemoApplication.main(DemoApplication.java:21) Caused by: java.lang.RuntimeException: create chainClient error:no node can use at org.chainmaker.sdk.GrpcClientFactory.createRpcClient(GrpcClientFactory.java:169) at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:119) at org.chainmaker.sdk.GrpcClientFactory.create(GrpcClientFactory.java:26) at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:70) at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223) at org.chainmaker.sdk.ChainClient.sendTxRequestWithSync(ChainClient.java:3048) ... 6 more Exception in thread "main" java.lang.NullPointerException at chainmaker.sdk.demo.ChainConfig.getChainConfig(ChainConfig.java:15) at chainmaker.sdk.demo.DemoApplication.main(DemoApplication.java:21) `
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.3.6]
- OS & version * : wsl2 Ubuntu 20.04.6
- docker镜像 version:
-
管理台 version:
- 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
-
区块浏览器 version:
- 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
-
合约IDE version:
- 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
-
web签名插件 version:
- 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。