关于区块链几个证书的理解

关于区块链几个证书的理解

FISCO-BCOS


1. 说明

在FISCO-BCOS中,证书这个概念有许多的概念,会在环境与节点配置、部署、构链等步骤中反复出现,例如链证书、机构证书、节点证书和客户端证书等。如下对这些概念和关系进行一个适当的理解和解释,撰笔如下。

由于是在该平台使用过程中,自己根据官方的说明以及Wiki等文档、结合自己浅层的理解,也许有理解不到位、或者错误,欢迎指正交流。

2.几个证书

证书,是区块链中进行身份验证、识别的重要依据。在FISCO-BCOS平台中,含有多种证书的出现:

  • 链证书:一般在环境搭建好后,按照步骤搭完链(手动或按企业级物料包搭链)后会在生成链的目录下保存一个ca.crt,即为链证书,另一个ca.key是该链的私钥。一条链(私有区块链)只有一个链证书,也只有一份私钥。

  • 机构证书:对一条已存在的区块链而言,会有不同的机构根据不同的合约与机制要求上链(参链);不同的机构可能具有不同的用处或负责不同的功能。也就是说同一条链会存在若干个不同的参与机构的参链。 这其中,每个机构会有一个机构证书如agency.crt,用来完成和对应的链的验证识别。同样,机构证书也有一个唯一的属于自己的私钥如agency.key

    机构证书的生成需要指定链的参与,在生成的机构目录中,也会有链证书ca.crt的副本

  • 节点证书:节点可以是任意生成的,不过一般若干个同类的节点附属于某个机构。每个节点的生成后,会在节点目录下生成节点证书,用于完成到机构的验证识别。节点目录下的node.crt为节点证书,node.key为节点的唯一私钥。
    节点的生成需要指定链和机构的参与,在生成的节点目录下,会有链证书ca.crt和机构证书agency.crt的副本

  • sdk证书:在FISCO-BCOS中,机构可以封装为SDK,为客户端提供sdk支持;在机构的相关证书、节点生成后,可以生产出对应机构的sdk证书。sdk.crtsdk.key分别为sdk证书和私钥。

  • 客户端证书:sdk生成后,会在其文件目录中为客户端提供一个client.keystore的文件,也即client证书。该证书主要是用于①和节点连接的sdk身份验证;② 和其他sdk的连接验证;③作为sdk交易时的私钥证书。在客户端sdk中会生成一个新的ca.crt是由原链证书ca.crt和当前机构证书agency.crt组合而成的,主要是验证sdk连接节点的节点证书的合法性。

3. 概念参考图

关于区块链几个证书的理解_第1张图片

参考的wiki

  • 证书安装:点这里
  • sdk证书的说明:点这里

你可能感兴趣的:(区块链学习)