Corda节点在第一次启动并加入网络时执行了哪些步骤?

时间:2018-06-13 08:42:02

标签: corda

Corda节点首次启动时执行的步骤顺序是什么?

1 个答案:

答案 0 :(得分:3)

从Corda 3开始,首次启动时,节点将经历四个步骤:

1。获取带外网络根证书并将其存储在certificates/network-root-truststore.jks

下的节点文件夹中
  • 可以使用--network-root-truststore标记

  • 覆盖此位置
  • 如果使用门卫,此根证书将用于验证他们提供的证书,以防止中间人攻击

2。设置节点证书

这里有两个选项:

  • 2a:通过使用标记--initial-registration --network-root-truststore-password <trust store password>启动节点来对门卫运行节点(参见NodeStartup.registerWithNetwork):

    • 创建新节点密钥库
    • 向证书签名服务提出证书申请
    • 从证书签名服务
    • 轮询并下载其证书和相关证书链
    • 根据带外获取的根CA证书检查证书链
    • 将证书链和私钥存储在其节点密钥库中
    • 创建信任库
    • 将根证书保存在其信任库
    • 创建SSL密钥库
    • 生成SSL密钥对和证书
    • 将其SSL私钥和证书存储在其SSL密钥库中
  • 2b:自行配置证书

在任何一种情况下,您的证书都必须符合permissioning docs中规定的要求。您可以使用X509Utilities来创建证书。有关示例,请参阅X509UtilitiesTest.kt

3。将其信息上传到网络地图(请参阅AbstractNode.updateNodeInfo

  • 节点生成自己的签名节点信息文件
  • 节点将自己的nodeInfo上传到网络地图

4。轮询网络以获取网络参数和其他节点(请参阅NetworkMapUpdater.subscribeToNetworkMap):

  • 节点下载网络参数
  • 节点下载网络地图
  • 对于网络映射中的每个nodeInfo哈希,节点下载相应的nodeInfo并将其添加到节点的本地缓存中