ca服务生成的证书,替换到链上,链能正常运行,且出块,但是用java sdk 连接提示证书错误
【问题分类】
- [] bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】
使用chainmaker-ca v1.31 生成ca 证书,替换正在运行的chainmaker-go v2.3.6链的ca文件,链能正常运行,且出块,但是用v2.3.5版本的java sdk 链接链提示证书错误!如图:
操作步骤: 1.使用chainmaker-docker 搭建基于v2.3.6的chainmaker底层链 2.用v1.3.1的chainmaker-ca 搭建证书服务 3.使用自己编写的服务,调用ca服务,生成各节点的ca服务文件 4.替换crypto-config文件的各节点的ca证书 5.停止docker服务,替换chaminmaker底层链下各节点的ca证书及chainmaker.yml和bc1.yml,删除log和data目录,重新启动docker 6.cat system.log |grep "ERROR|put block|all necessary" 看到[Storage] @chain1 v2@v2.3.7/blockstore_impl.go:323 chain[chain1]: put block[0] hash[5a9debf43c4c2372a8fc4f4e9f6eb02b2d72cb8a7b4a674732f152b4b961bb02] (txs:1 bytes:18579), 字样。 7.使用官网下载的sdk-java最新版本,将crypto-config 拷贝到工程的指定位置,测试TestTxPool类下的testGetPoolStatus。报以下错误: 2025-03-20 14:49:11.147 WARN [main]: GrpcClientFactory.buseCheck:278 check invoke getVersion error one java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: ssl exception 和 at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLException: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.3.6]
- **OS & version * :虚拟机centos7.9,本机windows10
- **docker镜像 version:hub-dev.cnbn.org.cn/chainmakerofficial/chainmaker v2.3.6docker-chainmaker-20250320.zipcrypto-config-20250320.zipca-20250211.zipget_cert_with_ca.zipchainmaker_ca.sql