- corda/
- Corda 关闭devMode后使用自己的证书时出现节点bringup问题
Corda 关闭devMode后使用自己的证书时出现节点bringup问题
Corda 关闭devMode后使用自己的证书时出现节点bringup问题,corda,Corda,在使用我们自己生成的证书(不是由Corda节点在devMode=true中生成的证书)时,我们在使用Corda代码时面临以下问题
以下是我们采取的步骤:
根据生成的证书
已将证书复制到/certificates目录
已删除参考资料目录中的cordadevcakeys.jks和cordatruststore.jks
启动节点。我们得到了以下错误:
节点启动期间发生异常{}
java.lang.IllegalArgumentException:找不到网络参数文件,兼容性区域未配置/未设置
可达成
在使用我们自己生成的证书(不是由Corda节点在devMode=true
中生成的证书)时,我们在使用Corda代码时面临以下问题
以下是我们采取的步骤:
- 根据生成的证书
- 已将证书复制到/certificates目录
- 已删除参考资料目录中的
cordadevcakeys.jks
和cordatruststore.jks
启动节点。我们得到了以下错误:
节点启动期间发生异常{}
java.lang.IllegalArgumentException:找不到网络参数文件,兼容性区域未配置/未设置
可达成的
at net.corda.node.internal.NetworkParametersReader.retrieveNetworkParameters(NetworkParametersReader.kt:53)
~[corda-node-corda-4.0-SNAPSHOT.jar:?]
at net.corda.node.internal.NetworkParametersReader.access$retrieveNetworkParameters(NetworkParametersReader.kt:17)
~[corda-node-corda-4.0-SNAPSHOT.jar:?]
在net.corda.node.internal.NetworkParametersReader$networkParameters$2.invoke(NetworkParametersReader.kt:26)
~[corda-node-corda-4.0-SNAPSHOT.jar:?]
在
现在,如果我们将cordadevcakeys.jks
和cordatruststore.jks
保存在resources目录中,节点就会出现
查询:
在上述情况下,我们是否需要提供兼容区url
如果是的话,请您帮助我们了解配置相同设备的要求
看门人如何发送证书?使用HTTPS/HTTPGET方法?还是其他协议
您能解释一下对节点bringup的资源目录中的cordadevcakeys.jks
和cordatruststore.jks
的依赖关系吗,devmode=false
&兼容区
你能解释一下网络参数的必要性和结构吗
我们无法找到网络参数的正确用途或文档。你能帮我理解一下吗
配置兼容性区域与配置网络地图服务不同吗
Doorman不同于网络地图,Doorman是一个离线实体,证书是在带外生成和分发的?这种理解正确吗
网络映射是单个文件还是离散的不同节点信息文件。如果是一个文件,你能分享一下格式和编码吗?/network map/node info/{hash}中的散列代表什么
我对/network map/ack参数的用法感到困惑。你能解释一下吗
在示例中,compatibilityZoneUrl与方案“https://”一起给出。此示例是否错误
如何创建网络参数文件?我了解该文件。但不知道确切的编码。该文件是由独立程序创建的吗?谁对此进行签名?节点操作员每次是否需要手动接受新的网络参数集?我如何知道/network map/network parameters/{hash}的哈希值
请参阅随附的我的理解图片。请让我知道理解和过程是否正确
您可以指定节点向其发送证书请求的端点吗?我看到了以下内容:
你能解释一下门卫URL服务的其他端点吗?
是不是/证书
由于网络图具有以下结构:
data class NetworkMap(
val nodeInfoHashes: List<SecureHash>,
val networkParameterHash: SecureHash,
val parametersUpdate: ParametersUpdate?
)
数据类网络图(
val NodeInfo哈希:列表,
val networkParameterHash:SecureHash,
val参数SUPDATE:参数SUPDATE?
)
它不包含一个节点信息
。下面的选项是否正确
程序
节点首先从
网络地图
然后节点逐个下载所有的nodeInfo
s
你能解释一下什么时候上传nodeInfo
给定的节点是第一个节点,网络映射可能为空
节点无法启动,因为网络映射中没有任何内容(自
没有nodeinfo
s)
注意:除了查看这些答案外,您还应该参考:
- 此处的测试网络映射服务器实现:
- 此处的测试门卫请求处理程序:
答复如下:
是。引发此错误消息的原因可能是您未提供兼容区域URL,或者无法访问您提供的URL所在的服务器
您需要提供一个网络映射服务器,该服务器侦听节点配置文件中列出的地址作为兼容区域URL,并实现以下协议:
门卫使用HTTP发送网络映射参数和节点信息,以响应遵守此协议的HTTP GET请求:。未使用HTTPS,但由于网络参数和节点信息对象已签名,因此无法篡改它们
这些.jks
文件是开发密钥库,仅在dev模式下运行节点时使用(即devMode=true
)
此处记录了对网络参数的需要:。网络参数的结构是以下类的序列化实例:
此处记录了网络参数:
不,它们是一样的
是的,它们是不同的实体。门卫提供节点CA证书,而网络映射用于允许节点发现网络上的其他节点。根网络CA证书在带外分发。然后节点使用--初始注册
标志(请参阅)执行证书签名请求并创建其节点CA证书。然后节点将创建其身份证书并
data class NetworkMap(
val nodeInfoHashes: List<SecureHash>,
val networkParameterHash: SecureHash,
val parametersUpdate: ParametersUpdate?
)