zoukankan      html  css  js  c++  java
  • HHyperledger Fabric 之 TLS (fabric-java-sdk)使用grpcs方式访问fabric

    我在很多fabric的技术群中,很多使用javasdk连接fabric的同友,初始的时候很多都没有成功的使用TLS进行区块链交易;

    是sdk不支持,还是我们没有找到解决方案?

    其实不然,我这里使用的是fabric-sdk1.2的版本,是可以的;而且sdk的源码的测试用例也都是使用tls的;那么他肯定是可以完成TLS交易的;

    我这里使用的环境是单机的fabric1.4.0版本;java-sdk使用是1.2版本的.

    前提,fabric1.4.0使用tls模式建立的环境,这里为了快速和方便,我使用了first-network这个demo。

    1,环境情况,具体搭建方式就不追溯,可以在网上的其他博客查到相关部署方式。

        

    2,java-sdk版本

       

     3,使用TLS链接的关键

       在pom.xml文件中增加<os.detected.classifier>windows-x86_64</os.detected.classifier>

       这里说明一下windows-x86_64,在netty-tcnative是没有32位的包,所以一定要保证你的jvm是64位的,否则,你在允许请求的是会一致报错,没有找到32位的它。

      使用  java -d64检查你当前jvm是否是64位,如果不是则会是类似下述的错误

       

       如果是64,则会是下述的信息

       

       

     

       建议,pom依赖,参考fabric-sdk的pom依赖

       4,创建channel连接

        支持TLS连接,关键的几个配置:clientCertFile、clientKeyFile、pemFile

       orderer设置属性 :       peer设置属性:

        

    对mycc合约进行查询:

        查询结果:

        

       综上:

        1,pom依赖,要按照fabric-java-sdk的依赖方式进行依赖,一面因为依赖的包版本等一些问题导致无法完成TLS访问

        2,netty_tcnative_windows_x86_64的依赖关系,jvm一定是64位的

        3,创建channel链接的时候,orderer和peer的属性设置一定要指定其的相关tls证书。

  • 相关阅读:
    Linux下vi和vim模式相互切换
    Linux文件系统目录
    华硕笔记本(UEFI)支持U盘启动
    什么是RSS feed?订阅RSS有什么好处?
    JSTL的时间格式化标签的使用
    token session区别 以及JWT无状态token
    c++ 重载成员函数的地址如何获取
    c++ __VA_ARGS__
    协程任务调度器
    yield return 1
  • 原文地址:https://www.cnblogs.com/zjlong/p/11225526.html
Copyright © 2011-2022 走看看