【问题标题】:What's the relashionship between the network-root-truststore and nodekeystore?network-root-truststore 和 keystore 之间有什么关系?
【发布时间】:2018-11-09 02:53:33
【问题描述】:

为什么 Node 在初始注册时需要 network-root-truststore.jks 文件?这个文件和 nodekeystore.jks 有什么关系?

编辑:实际上,我的意思是我没有看到 CSR 和 network-root-truststore.jks 文件之间的关系。没有这个文件就不能生成证书签名请求吗?

【问题讨论】:

    标签: corda


    【解决方案1】:

    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 文件。

    【讨论】:

    • 嗨@Kid101,感谢您的详细回复。实际上,我的意思是,调查单元测试代码,我没有看到 CSR 和 network-root-truststore.jks 之间的关系。更具体地说,NetworkRegistrationHelper.kt 中的 submitOrResumeCertificateSigningRequest() 函数。我将编辑问题以更好地澄清。
    • 已更新。检查使用它的链接。 github.com/corda/corda/blob/…
    • rootCert 是您在 network-root-truststore.jks 中的 RootCA。检查那里的init方法
    猜你喜欢
    • 2016-07-28
    • 2010-09-19
    • 2023-02-02
    • 2013-10-30
    • 2015-01-02
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多