corda - 通过 build.gradle 配置 Corda Rpc Ssl 节点
问题描述
通过在 Corda 3.2 Enterprise 中扩展 node.conf 的 rpcSettings,我成功地配置了一个节点以使用 Ssl Rpc:
rpcSettings {
address="localhost:10006"
adminAddress="localhost:10046"
useSsl=true
ssl {
keyStorePath="/myhome/certificates/rpcsslkeystore.jks"
keyStorePassword="xyz"
}
}
现在我正在尝试将 Ssl 选项添加到 build.gradle 文件中的节点配置中:
import net.corda.cordform.SslOptions
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
directory "./build/nodes"
node {
name "O=PartyA,L=London,C=GB"
p2pPort 10005
rpcSettings {
address("localhost:10006")
adminAddress("localhost:10046")
def mySsl = new SslOptions()
mySsl.sslKeystore("/myhome/certificates/rpcsslkeystore.jks")
mySsl.keyStorePassword("xyz")
useSsl(true)
ssl(mySsl)
...
}}
问题是生成的 node.conf 现在包含属性“sslKeyStore”而不是预期的“keyStorePath”,因此节点无法加载:
rpcSettings {
address="localhost:10006"
adminAddress="localhost:10046"
ssl {
keyStorePassword=xyz
sslKeystore="/myhome/certificates/rpcsslkeystore.jks"
}
useSsl=true
}
不过,net.corda.cordform.SslOptions 类没有提供名为 keyStorePath 的方法。
有人知道如何解决这个问题吗?
解决方案
这个解决方案对我有用:
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
directory "./build/nodes"
node {
name "O=PartyA,L=London,C=GB"
p2pPort 10005
rpcSettings {
address("localhost:10006")
adminAddress("localhost:10046")
}
extraConfig = [
'rpcSettings.useSsl' : "true",
'rpcSettings.ssl.keyStorePassword' : "xyz",
'rpcSettings.ssl.keyStorePath' : "/myhome/certificates/rpcsslkeystore.jks"
]
...
}
推荐阅读
- objective-c - 如何通过 Q - municate 显示通话记录?
- kubernetes - 同一 istio-proxy 部署的不同端口上的多个网关未按预期工作
- python - 如何为 Mercurial Hooks 的 pyCharm 设置 python 解释器
- javascript - 如何在没有全局变量的情况下从html中的不同事件调用类方法
- sql - 将数据从另一个表单保存到 sql
- java - 为什么使用 maven-assembly-plugin 创建的可执行 jar 用于显示 classnotfound 错误的多模块 maven 项目
- java - 是否可以从 neo4j 获取属性的默认创建或更新时间?
- c++ - QSerialPort - 将字符转换为十六进制
- python - 哪个更有效:使用对象作为类属性?或者在需要时重新初始化?
- android - 如何在来自活动的片段中显示数据