`
weishiym
  • 浏览: 34425 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

fabric-sdk-java调用网络tls验证问题

 
阅读更多

问题:当通过fabric-sdk-java调用网络时出现以下tls验证问题时可将tls验证关闭

 

Sending proposal to peer0.org1.example.com failed because of: gRPC failure=Status{code=UNAVAILABLE, description=io exception, cause=javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem

at io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:648)

at io.netty.internal.tcnative.SSL.readFromSSL(Native Method)

at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.readPlaintextData(ReferenceCountedOpenSslEngine.java:489)

at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1039)

at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1146)

at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1189)

at io.netty.handler.ssl.SslHandler$SslEngineType$1.unwrap(SslHandler.java:216)

at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1247)

at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1158)

at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1193)

at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)

at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)

at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)

at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)

at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)

at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:138)

at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)

at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)

at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)

at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)

at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)

at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching org1.example.com found.

at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:204)

at sun.security.util.HostnameChecker.match(HostnameChecker.java:95)

at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)

at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)

at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:252)

at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136)

at io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.verify(ReferenceCountedOpenSslClientContext.java:221)

at io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:644)

... 27 more

}

 

解决方法:

1.修改e2e_cli/base 目录下的两个配置文件中CORE_PEER_TLS_ENABLED为false

2.修改e2e_cli目录下docker-compose-cli.yaml文件中CORE_PEER_TLS_ENABLED为false

3.最后重启网络,同时fabric-sdk-java的调用demo中,peer节点及orderer节点通讯链接不要使用grpcs,使用grpc进行通讯。

分享到:
评论

相关推荐

    fabric-sdk-java+ springBoot 简单invoke和query引用示例

    这是一个基于spingBoot的项目,通过此项目可以实现对fabric网络的简单调用,并且可以启动一个fabric网路的服务,直接在网页上调用. 搭建流程,首先需要fabric1.4的网络, 1进入-first-network目录,修改byfn.sh中...

    fabric-sdk-java开启TLS时的简单示例

    这是fabric-sdk-java在开启tls的情况下的简单引用示例, 详细的描述在https://blog.csdn.net/qq_27348837/article/details/95489720博客中可以看到.

    fabric-java-sdk实现tls.zip

    基于Fabric1.4关于fabric-java-sdk实现tls访问,包括了对sdk调用的完整配置,不包含SDK本身。其中图片内容为crypto-config.yaml部分配置内容。其中SANS对应ChaincodeManager中115行的地址。

    fabric-sdk-go与GIN框架应用.pdf

    这些内容主要涉及Hyperledger Fabric的SDK for Go语言(fabric-sdk-go)的应用开发,以及GIN框架的集成,环境配置,以及网络层的设置。下面详细介绍这些知识点: 1. **环境变量的配置**:文档中提到了设置环境变量`...

    fabric-java-SDK:2.1.0简单的用法示例

    基于java-sdk实现的简单示例, invoke,query, 创建channel亲测可用, 安装和实例化链码还不能用,此版本是开启TLS的 , 使用方式可以参考https://blog.csdn.net/qq_27348837/article/details/88354838,不成功的可以联系...

    fabric-sdk-java demo

    总结来说,`fabric-sdk-java demo` 展示了如何利用 Fabric SDK 与 Fabric 区块链进行交互,包括链码的调用和数据的存取。这对于初学者理解 Fabric 的工作原理及其 Java 开发流程非常有帮助。要完全掌握这部分内容,...

    基于fabric-sdk-java封装的,兼容1.2.0、1.3.0、1.4.0.zip

    Fabric SDK Java 是Hyperledger Fabric项目的一个重要组成部分,它为Java开发者提供了一套接口和工具,以便于他们能够轻松地与Fabric区块链网络进行交互。这个基于fabric-sdk-java的封装旨在简化开发流程,支持与...

    第三章 第三节:使用Linkkit C-SDK和TLS通过MQTT协议直连阿里云IoT平台.pdf

    • 第三节:使用Linkkit C-SDK和TLS通过MQTT协议直连阿里云IoT平台 • 适用于资源丰富的节点设备 3 STM32-阿里云IoT 联合课件开发 第三章 . 第三节 基于阿里Linkkit C-SDK通过MQTT直连阿里云IoT平台 第三章.第三节 ...

    hyperledger-fabric-ca-windows-amd64-1.4.7.tar.gz

    本文将深入探讨在搭建Hyperledger Fabric 1.4网络时,如何使用`hyperledger-fabric-ca-windows-amd64-1.4.7.tar.gz`这个文件以及其中的`bin`目录。 1. **Hyperledger Fabric CA**: Hyperledger Fabric CA是Fabric...

    利用fabric-ca生成区块链证书

    cp $FABRIC_CA_CLIENT_HOME/tls-cert.pem /path/to/node1/tls/server.crt cp $FABRIC_CA_CLIENT_HOME/tls.key.pem /path/to/node1/tls/server.key ``` **参考文档** 对于更详细的配置和操作,可以查阅`fabric-ca....

    hyperledger-fabric-linux-amd64-1.1.0.tar.gz

    本文将针对"hyperledger-fabric-linux-amd64-1.1.0.tar.gz"这一版本进行深入解析,探讨其核心概念、架构以及如何在Linux AMD64平台上部署和运行。 首先,Hyperledger Fabric 1.1.0是Fabric项目的第一个稳定版本,它...

    hyperledger-fabric-ca-linux-amd64-2.0.1.zip

    总的来说,"hyperledger-fabric-ca-linux-amd64-2.0.1.zip" 提供了构建和管理Hyperledger Fabric网络身份基础设施的核心工具。正确地部署和配置这个CA服务器对于保障网络的安全性、可靠性和合规性至关重要。

    关于fabric-ca的tls通信加密说明

    ​ 本文章解决的是关于fabric-ca-server与fabric-ca-client之间使用tls进行通信的问题,包括fabric-ca-server与fabric-ca-client的安装以及关于tls通信的说明。 1.1fabric-ca-server与fabric-ca-client的安装 ​ ...

    hyperledger-fabric-ca-linux-amd64-1.1.0.tar.gz

    本文将详细探讨`hyperledger-fabric-ca-linux-amd64-1.1.0.tar.gz`这一特定版本的特性、安装与配置,以及在区块链网络中的作用。 一、Hyperledger Fabric CA简介 Hyperledger Fabric CA是Fabric网络的身份基础设施...

    hyperledger-fabric-ca-darwin-amd64-1.4.0.tar.gz

    在本文中,我们将详细讲解如何在 macOS 系统(Darwin 平台)上,利用提供的 "hyperledger-fabric-ca-darwin-amd64-1.4.0.tar.gz" 压缩包,进行 Hyperledger Fabric 1.4 的环境搭建。 一、下载与解压 首先,我们...

    hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz

    本文将深入探讨Hyperledger Fabric CA 1.4.4版本的主要特性和应用场景,并结合"hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz"这个压缩包,介绍其安装和配置过程。 一、Hyperledger Fabric CA概述 Hyperledger ...

    Checkout-Java-SDK:PayPal Checkout Java SDK

    PayPal Checkout Java SDK v2 为了整合各个渠道的支持,我们目前已关闭GitHub问题的功能。 请访问提交您的请求或在我们的社区论坛中提问。 欢迎使用PayPal Checkout 。 此存储库包含PayPal的Java Checkout以及用于...

    delphi+RealThinClient-SDK-9.50-Full-Source

    总之,Delphi RealThinClient SDK 9.50 Full Source 提供了全面的工具和技术,使开发者能够构建高性能、安全的网络应用。无论是在服务器端还是客户端,都能实现高效的数据交换和流畅的用户体验。对于需要进行网络...

    hyperledger-fabric-ca-linux-amd64-1.4.7.tar.gz

    Fabric CA的引入强化了网络的安全性,因为所有参与者的身份都经过验证,并且通信通过TLS加密,确保数据不被篡改或窃取。 7. **脚本更新**: 描述中提到的脚本地址失效问题,提醒我们在部署过程中,依赖的资源应...

    hyperledger-fabric-ca-linux-amd64-1.5.11.tar.gz

    Hyperledger Fabric CA是Hyperledger Fabric区块链框架中的身份认证服务,它负责管理和颁发参与者的数字证书,确保网络中的各个实体具有唯一且可验证的身份。"hyperledger-fabric-ca-linux-amd64-1.5.11.tar.gz"是一...

Global site tag (gtag.js) - Google Analytics