通过在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的方法。
有人知道如何解决吗?
答案 0 :(得分:0)
此解决方案对我有用:
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"
]
...
}