详解 cryptogen 的内容和配置

2023-10-26

目录

1. cryptogen 模块命令说明

2 . cryptogen 模块的配置文件

3. cryptogen 实例:创建测试配置文件

4. Fabric 证书文件的结构


          cryptogen 模块主要用来生成组织结构和账号相关的文件, 任何 Fabric 系统的开发通常都是从 cryptogen 模块开始的 。 在 Fabric 项目中,当系统设计完成之后第一项工作就是根据系统的设计来编写 cryptogen 的配置文件,然后通过这些配置文件生成相关的证书文件 。cryptogen 模块所使用的配置文件是整个 Fabric 项目的基石 。 下面我们将介绍 cryptogen 模块命令行选项及其使用方式 。


1. cryptogen 模块命令说明


         cryptogen 模块是通过命令行的方式运行的,一个 cryptogen 命令由命令行参数和配置文
件两部分组成,通过执行命令 cryptogen --help 可以显示 cryptogen 模块的命令行选项,执行
结果如下所示 :

usage : cryptogen [<flags>] <command> [<args> . . ]
Utility for generating Hyperledger Fabr 工 C key material
Flags :
--help
Commands :
help
generate
showtemplate
version

 解释:

  • help : 显示帮助信息 。
  • generate :根据配置文件生成证书信息 。
  • showtemplate :显示系统默认 cryptogen 模块配置文件信息 。
  • version : 显示 当前模块的版本号 。

其中 generate 命令选项是用来根据配置文件生成 Fabric 系统相关的证书文件 。

2 . cryptogen 模块的配置文件

        cryptogen 模块的配置文件用来描述需要生成的证书文件的特性,比如 : 有多少个组织,
有多少个节点,需要多少个账号等 。

        这里我们通过一个 cryptogen 模块配置文件的具体例子来初步了解配置文件的结构,该例子是 Fabric 源代码中自带的示例,其详细路径如下所示:
https://github.com/hyperledger/fabric/blob/release/examples/e2e_cli/crypto-config.yaml

OrdererOrgs                    //定义orderer 节点
- Name · Orderer                //orderer 节点的名称
    Domain : example.com        //orderer 节点的根域名
    Specs :    
          - Hostname : orderer        //orderer节点的主机名
PeerOrgs :
- Name : Orgl                         //组织1 的名称
    Domain: orgl.exarnple.com        //组织1 的根域名
    Template :
        Count :2                      //组织1 的节点数目
    Users :
        Count : 3                    //组织1 中的用户数目
- Name : Org2
    Domain : org2.example.com
    Template :
        Count : 2
    Users :
        Count : 1

        除了 Fabric 源码中提供的例子,还可以通过命令 cryptogen showtempl ate 获取默认的模
板文件,在实际项目中稍加修改这些默认的模板文件即可使用 。

3. cryptogen 实例:创建测试配置文件

  • 创建测试配置文件

        现在我们通过一个例子来具体演示 cryptogen 模块的使用 。 我们将定义一个测试用的 Fabric 系统,首先给整个系统定义 一个根域名 qklszzn.com o orderer 节点我们命名为Orderer , 在该测试系统中我们假设有三个组织,分别命名为 org1, org2, org3 。 其中组织org1 包 含 4 个节点和 6 个用户,组织 org2 包含 5 个节点和 l l 个用户,组织 org3 包含 3 个节点和 13 个用户 。 我们将测民用 Fabric 系统的相关信息如表 5-2 和表 5-3 所示 。

        根据上述 Fabric 系统的基本信息,我们可以编写 cryptogen 模块用的配置文件,配置文
件的内容如下所示:

OrdererOrgs :
    - Name : Orderer
        Domain: qklszzn.com
        Specs :
            - Hostname : orderer
PeerOrgs :
    - Name : Orgl
    Domain : orgl.qklszzn.com
    Template :
        Count : 4
    Users
        Count : 6
    - Name · Org2
        Domain : org2.qklszzn.com
    Template :
        Count: 5
    Users :
        Count : 11
    -Name : Org3
        Domain : org3.qklszzn.com
    Template :
            Count : 3
    Users :
            Count 13
  • 生成证书文件

我们通过 cryptogen 模块的 generate 命令可以生成相关的证书文件 。 命令如下所示 :
 

cryptogen generate --config=/opt/hyperledger/fabricconfig/crypto-config . yaml   --output /opt/hyperledger/fabricconfig/crypto-config

        /opt/hyperledger/fabricconfig 是证 书文件存放目录,也可以是任何具有读写权限的文件夹,但是需妥提前创建。

 进入 /opt/hyperledger/fabricconfig/crypto -config 文件夹之后有两个子文件夹,通过命令
tree -L 2 显示如下:

 命令执行成功之后,进入 ordererOrganizations 子文件夹 , 然后通过命令 tree -L4 显示如下:

          在实际的开发中 orderer 节点的这些证书其实不需妥直接使用,只是在 orderer节点启动时指明项目的位直即可,在下文关于 orderer 节,点的配直环节中将详细描述如何配直这些证书文件 。

4. Fabric 证书文件的结构
 

          cryptogen 模块生成的证书文件就是 Fabric 系统运行所需要的证书文件,接下来我们将
详细介绍这些证书文件的种类和作用 。 进入文件夹 peerOrganizations 后执行命令 tree -L 1,
命令结果如下所示:

 通过上述命令结果我们可以发现,在文件夹 peerOrganizations 中包含三个子文件,从这三个子文件夹的命名可以发现它们分别对应前面配置文件中定义的三个组织(可以参考表 5 -3 的相关容)。文件夹 peerOrganizations 中的三个子文件夹和表 5 -3 中描述的组织对应关系如表 5 -4 所示 。

         由于存放这三个组织的文件夹的结构都是一样的,下面我们以组织 orgl 为例来说明这些文件的作用 。 由于 orgl 的用户和节点比较多,但是相同的节点和用户的配置是一样,所以示例中我们只保留一个节点和一个用户的配置信息 。

进入文件夹 orgl .qklszzn.com 执行命令 tree -L 5 显示如下:

 

         Cryptogen 模块生成的证书是 Fabric 系统的重要组成部分,是所有 Fabric 系统的开始 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

详解 cryptogen 的内容和配置 的相关文章

  • 区块链数字存证平台有哪些功能模块

    区块链数字存证平台通常包括以下功能模块 数字存证 将数字文件的哈希值存储到区块链上 确保文件的完整性和不可篡改性 时间戳 记录数字文件的创建时间和存证时间 确保存证的时效性和证据的可信度 鉴定证书 提供数字文件的鉴定证书 证明文件的真实性和
  • Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局

    概要 现在 NFT与体育竞技正日益紧密地联系在一起 一些体育项目开始推出与赛事或球队相关的NFT 同时也有部分NFT游戏开始举办电子竞技赛事 这种共生发展正在改变体育竞技的生态 笔者采访了桥牌冠军项目相关负责人 探讨NFT游戏与传统体育竞技
  • 交易的本质 什么样的信仰,决定什么样的交易人生

    什么样的信仰 决定什么样的生活 同样 什么样的理念 也决定了什么样的交易 多数的交易员都把能否在交易市场稳定化盈利归结于自己从事这个行业的时间 通常很多人会说五年入门 十年小成等等 好像只要坚持个五年十年就能够在交易市场找到自己的位置 你信
  • AWS动手实验 - 创建一个Web3网站

    实验操作和录播 亚马逊云科技开发者社区 web3 dApp demo README CN md at main Chen188 web3 dApp demo GitHub 注意事项 按照操作手册进行即可 需要注意到的几个地方 1 EC2 的
  • 自己动手部署以太坊联盟链

    一个区块链学习项目 GitHub https github com xianfeng92 Love Ethereum 假设已经在Ubunbu 14 04 LTS上安装好了以太坊客户端Geth 使用Geth部署以太坊联盟链 以太坊Geth客户
  • Fabric private data入门实战

    Hyperledger Fabric private data是1 2版本引入的新特性 fabric private data是利用旁支数据库 SideDB 来保存若干个通道成员之间的私有数据 从而在通道之上又提供了一层更灵活的数据保护机制
  • 使用web3和infura开发以太坊ethereum区块链

    web3 Github https github com ethereum web3 js web3 js是以太坊提供的一个Javascript库 它封装了以太坊的RPC通信API 提供了一系列与区块链交互方法 使js与以太坊交互变得简单
  • 《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

    你是否曾想过 元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的 在本期的 开箱元宇宙 系列中 我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2 000 个人物化
  • Python Fabric:跳过需要密码的登录

    我有一个与此类似的问题 如何跳过要求输入密码的 Fabric 连接 没有答案 我正在寻找一种方法让 Fabric 认为任何要求密码而不是 SSH 密钥登录的主机都是不好的 因为这意味着我正在连接的用户在服务器上没有帐户 而且我迭代大量主机列
  • 默克尔树(Merkle Tree)

    默克尔树 Merkle Tree 是一种哈希树的变体 它是一种有向无环图 DAG 通常用于数据完整性验证 它以密码学家拉尔夫 默克尔的名字命名 是由一系列哈希值构成的树状结构 默克尔树的特点是 它的每个非叶子节点都是其子节点的哈希值的哈希
  • Stellar Consensus Protocol(SCP)的共识算法

    Stellar Consensus Protocol SCP 是一种用于Stellar网络的共识算法 旨在确保网络中所有节点对账本的一致性 SCP的设计灵感来自于拜占庭将军问题 Byzantine Generals Problem 它采用了
  • python Fabric 多个命令

    我试图了解 Fabric 如何在一台机器上使用多个命令 我需要在每台主机 数千台主机 上运行多个命令 并且想知道什么是最好的 使用多次运行 res 1 run command 1 res 2 run command 2 res n run
  • zkSend — — 在Sui上发红包像发电子邮件一样简单

    12月14日 知名区块链媒体平台The Block发表了这篇关于对Mysten Labs联合创始人Adeniyi Abiodun的采访 文中 我们 指代该媒体 数据均为截止撰写文章时数据 以下是正文 两年前 当五名前Facebook工程师创
  • 什么是虚值期权?什么是深度虚值期权?

    在期权市场里有一种合约的价格往往比较便宜 它就是虚值期权 也是最受欢迎的期权之一 虚值期权也就是高杠杆和波动被世人所爱 久闻的一日192倍行情就是出自于虚值期权 下文科普什么是虚值期权 什么是深度虚值期权 一 虚值期权是什么 虚值合约因为价
  • 在区块链中看CHAT的独特见解

    问CHAT 谈谈对区块链以及区块链金融的理解 CHAT回复 区块链是一种去中心化的分布式数据库技术 这种技术通过加密算法 使数据在网络中传输和存储的过程变得更加安全可靠 区块链的出现引领了存储 交易等形式的革命 改变了诸多行业的运作模式 首
  • 一文了解Substrate

    Substrate是用于构建特定类型区块链的工具箱 它本身并不是一个区块链 而是开发者用来创建独特而强大的区块链的一套工具 Substrate允许开发者可以自己创建所需所想功能的区块链 无需受限于现有的设计 Substrate使用FRAME
  • 期权开户最低多少钱个人可以开?

    大家新年好 现在2024年龙年 很多想玩期权的小伙伴都知道期权开通需要50万的门槛 那么今天来给大家详细介绍下期权开户最低多少钱个人可以开 本文将对期权开户最低金额进行探讨 帮助投资者更好地了解期权交易的投资门槛 本文来自 期权酱 一 期权
  • Fabric + DigitalOcean:不可见的环境变量?

    我在 DigitalOcean 上有服务器 我使用 Fabric 来部署我的代码 我的代码依赖于环境变量 烧瓶配置 我今天遇到了一个奇怪的麻烦 在服务器上 root bashrc我已经添加了下一行 export CONFIG path to
  • 在 Python/Bash 中通过 SSH/Sudo 测试文件/目录是否存在 [重复]

    这个问题在这里已经有答案了 我正在远程服务器上安装证书 并想在覆盖它们之前检查它们是否存在 服务器仅允许通过 ssh 公钥进行非 root 访问 我可以sudo s在 shell 中 root 一次 需要 root 权限 因为其他人无法读取
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1

随机推荐

  • mac os x 下五款播放器评测

    OS X上到底要用哪款播放器是永恒的主题 就我个人而言 1 4的Mac使用时间是在动漫中度过的 所以用过很多款视频播放器 比较多人用的播放器有QuickTime Movist MPlayerX VLC 射手影音 所以简单做个评测 评分带有主
  • 数据结构与算法:哈夫曼树与哈夫曼编码

    1 举例引入 我们先以成绩评级举例分析 一步一步的认识Haffman树和Haffman编码 分数 0 59 60 69 70 79 80 89 90 100 成绩 不及格 及格 中等 良好 优秀 所占比例 5 15 40 30 10 如果是
  • 安装系统键盘鼠标无法使用

    安装Windows原版系统 发现在BIOS中可以正常使用键盘鼠标 但是进入U盘 开始安装系统的时候键盘鼠标全部失灵 原因应该是U盘中的系统不能识别鼠标 这个大致是微软和Intel芯片之间兼容的问题 我也讲不清 直接上解决方案 我不是创造者
  • 【多人姿态估计】Alphapose_yolov8复现

    1 环境 参考此处安装docker nvidia docker https blog csdn net qq 35975447 article details 113248132 然后导入docker image https blog cs
  • 2021Java大厂面试经验分享,100%好评!

    Spring Security观后感 手绘思维脑 供参考 手绘的思维导图 是我自己根据自身的情况读完这套阿里出品的Spring Security王者晋级文档之后所绘的 相当于是一个知识的总结与梳理 我将其分为 核心组件 与 工作原理 认证流
  • 【从零开始学习C++

    目录 前言 委托构造函数 类内初始化 空指针 枚举类 总结 前言 C 的学习难度大 内容繁多 因此我们要及时掌握C 的各种特性 因此我们更新本篇文章 向大家介绍C 的新增特性 委托构造函数 委托构造函数是指一个类的构造函数调用另一个类的构造
  • 【云原生之k8s】k8s控制器

    文章目录 引言 Pod与控制器之间的关系 1 Deployment 无状态 2 SatefulSet 有状态 2 1 有状态与无状态的区别 2 2 常规service和无头服务区别 2 2 1 Service类型 2 2 2 headles
  • 未来会怎样?

    伴随Visual Studio 2008 的发布 NET 3 5也一起来了 J2EE风采依旧 Python风头正劲 未来会怎样 我们究竟要学多少新的东西才能不被日新月异的技术浪头打沉在海底 或许本不应该为了技术而技术 QQ不也很成功么 易趣
  • Docker镜像推送(push)到Docker Hub

    Docker镜像推送 push 到Docker Hub 1 Docker hub 注册账户 2 登录注册账户 随后输入账户名 密码 docker login 3 修改镜像名称 docker tag originName username o
  • n边形划分

    题目描述 已知存在n多边形 n为奇数 连接多边形所有对角线 能形成多少区域 输入描述 给定整数n 1 lt n lt 1e9 输出描述 输出区域数 对1e9 7取模 示例 输入5 输出11 include
  • 2018.09.18 atcoder Best Representation(kmp)

    传送门 思路简单不知为何调试了很久 显然要么分成n个 所有字符相同 要么分成1个 原字符串无循环节 要么分成两个 有长度至少为2的循环节 一开始以为可以直接hash搞定 后来wa了几次之后发现可以轻松举出反例于是弃了hash kmp大法好啊
  • 毕业设计 - 基于单片机的MP3设计与实现

    文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 核心算法 音频解码流程 5 部分实现代码 6 最后 1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 基于单片机的MP3设计与实现 大家可用于 课程设计 或 毕业设计
  • 软件工程技术--第四章 概要设计

    第四章 概要设计 4 1 软件设计概述 4 1 1 软件设计的概念与重要性 软件设计是软件工程的重要阶段 是一个将软件需求转换为软件表示的过程 软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务 即确定系统的物理模型 解
  • EXCEL 数字统一转换成文本

    将excel中的数字统一转换成文本形式 即添加 1 点击数据 分列 2 分隔符号 下一步 3 选择文本识别符号 如 分号 4 选中文本 完成 转载于 https www cnblogs com vicdream p 4604012 html
  • 合宙 ESP32C3 使用micropython 驱动配套0.96寸 TFT ST7735 屏幕显示色块和文字

    合宙的esp32c3 开发板配套了0 96寸屏幕驱动板 可直接使用如下链接的代码 注意替换对应的pin脚和st7735 py文件 1 想显示色块参考如下链接 链接 合宙esp32c3 合宙air101LCD屏幕跑通microPython 2
  • hbase面试题(6)

    1 HBase来源于哪篇博文 C BigTable 2 下面对HBase的描述哪些是正确的 B C D B 是面向列的 C 是分布式的 D 是一种NoSQL数据库 3 HBase依靠 存储底层数据 A A HDFS B Hadoop C M
  • SAR目标检测数据集汇总

    SAR目标检测数据集汇总 文章目录 SAR目标检测数据集汇总 1 MSTAR 1996 2 OpenSARShip2 0 2017 3 SSDD SSDD 2020 4 AIR SARShip2 0 2019 5 SAR Ship Data
  • VScode调试php文件(详细且简单易操作)

    之前也不懂 看了网上好多帖子 按照它们步骤操作一遍之后 还是不行 头都大了 现在懂了 原来几步就搞定了 被它们搞得这么复杂 又是配置这个文件 又是配置那个文件 1 下载XAMPP Download XAMPP apachefriends o
  • Java程序员面试常问试题大全

    Java程序员面试常问试题大全 1 面向对象的特征有哪些方面 1 抽象 抽象就是忽略一个主题中与当前目标无关的那些方面 以便更充分地注意与当前目标有关的方面 抽象并不打算了解全部问题 而只是选择其中的一部分 暂时不用部分细节 抽象包括两个方
  • 详解 cryptogen 的内容和配置

    目录 1 cryptogen 模块命令说明 2 cryptogen 模块的配置文件 3 cryptogen 实例 创建测试配置文件 4 Fabric 证书文件的结构 cryptogen 模块主要用来生成组织结构和账号相关的文件 任何 Fab