`
weishiym
  • 浏览: 33398 次
  • 性别: 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-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区块链上存入数据摘要并查询最新的数据记录。 使用的fabric1.4.1单机单节点网络,采用solo共识(多机kafka共识环境也可使用);采用docker部署;关闭TLS;...

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

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

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

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

    Checkout-Java-SDK:PayPal Checkout Java SDK

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

    SVD-TLS算法_SVD-TLS算法_

    现代谱估计,运用一组观测数据(随机过程)去估计该数据的功率谱

    mbedtls开源sdk

    mbedTLS(前身 PolarSSL)是一个由 ARM 公司开源和维护的 SSL/TLS 算法库。其使用 C 编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品...

    mbedtls-mbedtls-2.16.6_mbedtls_6.16969com_ThereButForThe_

    Mbed TLS is now maintained under open governance at TrustedFirmware.org. Head there for the latest information about the project. The information on this website will be retained while we migrate but ...

    Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本

    Windows Server 合规漏洞修复,修复Windows Server CVE-2016-2183 SSL/TLS协议信息泄露漏洞修复脚本,基于Windows PowerShell, 兼容Windows Server 2016/2019,防止Sweet32 生日攻击

    Fabric-CA-1.1服务(docker服务)

    1. Fabric版本1.1 2. Docker方式启动 3. TLS证书服务 4. CA证书服务

    rust-tls-api:用于Rust的TLS API,以及在单独包装箱中通过native-tls和openssl进行的API实现

    api-schannel —在板条箱上缺少TLS API的实现tls-api-security-framework —在箱上缺少TLS API的实现tls-api-stub —存根API实现,该函数对任何操作均返回错误问题如果您开发一个库,则不知道用户要使用哪个TLS库,...

    MI-ESPRIT算法.rar_MI-ESPRIT算法_TLS_esprit tls_tls esprit_tls_esprit

    MI-ESPRIT算法的仿真程序,包含RLS-MI-ESPRIT算法和TLS-MI-ESPRIT算法

    strivve-sdk-java:用于Java的轻量级SDK,可与Cardsavr进行通信

    strivve-sdk-java 用于Java的轻量级SDK,可与Cardsavr进行通信概述Strivve要求TLS用于所有API通信,而且还加密有效负载和响应以提高安全性。 了加密的详细信息。 为了简化应用程序的构建,Strivve已经以几种语言实现...

    Java实现SSL TLS

    全英文,用Java实现SSL TLS,在谷歌上找到的很实用的文档,特意转来分享。

    acm-sdk-python:适用于Python的阿里巴巴ACM SDK

    支持TLS。 支持地址服务器。 阿里云ACM和独立部署均受支持。 支持的Python: Python 2.6 Python 2.7 Python 3.3 Python 3.4 的Python 3.5 Python 3.6 Python 3.7 支持的ACM版本 ACM 1.0 变更记录 安装 ...

    PayPal-Java-SDK:适用于PayPal RESTful API的Java SDK

    有关替代方法,请访问贝宝REST API Java SDK 该存储库包含Java SDK和REST API示例。 对于PayPal移动(Android)SDK,请转到请注意支付卡行业(PCI)理事会已从服务中停用TLS的早期版本。 所有处理信用卡信息的组织...

Global site tag (gtag.js) - Google Analytics