【发布时间】:2018-11-09 02:53:33
【问题描述】:
为什么 Node 在初始注册时需要 network-root-truststore.jks 文件?这个文件和 nodekeystore.jks 有什么关系?
编辑:实际上,我的意思是我没有看到 CSR 和 network-root-truststore.jks 文件之间的关系。没有这个文件就不能生成证书签名请求吗?
【问题讨论】:
标签: corda
为什么 Node 在初始注册时需要 network-root-truststore.jks 文件?这个文件和 nodekeystore.jks 有什么关系?
编辑:实际上,我的意思是我没有看到 CSR 和 network-root-truststore.jks 文件之间的关系。没有这个文件就不能生成证书签名请求吗?
【问题讨论】:
标签: corda
network-root-truststore.jks-> 这是网络运营商的根 CA。
nodekeystore.jks -> 这包含节点身份密钥对和证书。
正如你在图中看到的那样。 Doorman 和 Network Map 的根 CA 相同。如上图所示,该节点采用 3 级层次结构。 (这在 3.3 版中得到了修复,因此您可以拥有 n 级证书层次结构)
对于门卫的初始注册,您需要创建一个 CSR 请求并将其发送给门卫,然后门卫将返回 requestId,使用提供的 requestId 您将询问门卫是否已完成 CSR完成后,无论是否由他签名,门卫都会将节点证书交给您,如下所示
获得门卫签署的节点证书后,您需要对其进行验证(为此,您需要 network-root-truststore.jks 中的 RootCA 证书,现在您不需要它来创建 CSR,但是收到的证书必须经过验证,因此,您需要这个。此外,这可以防止中间人攻击。)并生成 TLS 密钥对和证书。
在您使用此命令启动节点时,corda节点会在初始注册时自动为您完成上述过程 -> java -jar corda.jar --initial-registration --network-root-truststore-password <trust store password>
重要的一点是,您应该在完成注册后移除或删除network-root-truststore.jks 文件。
【讨论】:
rootCert 是您在 network-root-truststore.jks 中的 RootCA。检查那里的init方法