Corda节点首次启动时执行的步骤顺序是什么?
从 Corda 3 开始,在首次启动时,节点会经历四个步骤:
1. 获取带外网络根证书,并将其存储在节点的文件夹中certificates/network-root-truststore.jks
-
可以使用
--network-root-truststore
标志覆盖此位置 -
如果使用门卫,此根证书将用于验证他们提供的证书,以防止中间人攻击
阿拉伯数字。设置节点证书
您在这里有两个选择:
-
2a:通过使用标志
--initial-registration --network-root-truststore-password <trust store password>
启动节点来对门卫运行节点(请参阅NodeStartup.registerWithNetwork
(:- 创建新的节点密钥库
- 向证书签名服务发出证书请求
- 从证书签名服务轮询并下载其证书和关联的证书链
- 根据带外获取的根 CA 证书检查证书链
- 将证书链和私钥存储在其节点密钥库中
- 创建信任库
- 将根证书保存在其信任库中
- 创建 SSL 密钥库
- 生成 SSL 密钥对和证书
- 将其 SSL 私钥和证书存储在其 SSL 密钥库中
-
2b:自行预配证书
无论哪种情况,您的证书都必须满足许可文档中规定的要求。您可以使用X509Utilities
创建证书。有关示例,请参阅X509UtilitiesTest.kt
。
3. 将其信息上传到网络图(见AbstractNode.updateNodeInfo
(
节点- 生成自己的签名节点信息文件
- 节点将自己的
nodeInfo
上传到网络图
4.轮询网络以查找网络的参数和其他节点(请参阅NetworkMapUpdater.subscribeToNetworkMap
(:
- 节点下载网络参数
- 节点下载网络图
- 对于网络映射中的每个
nodeInfo
哈希,节点下载相应的nodeInfo
并将其添加到节点的本地缓存中