【发布时间】:2023-04-07 12:04:01
【问题描述】:
将 Corda 4.0 CorDapp 部署到 UAT 时,必须对 Jar 进行签名吗?
我们尝试使用 devMode = true - 这会导致节点识别 CorDapp 中的流,但是当我们将 devMode 设置为 false 时,节点似乎无法识别 CorDapp。
【问题讨论】:
标签: digital-signature corda signature
将 Corda 4.0 CorDapp 部署到 UAT 时,必须对 Jar 进行签名吗?
我们尝试使用 devMode = true - 这会导致节点识别 CorDapp 中的流,但是当我们将 devMode 设置为 false 时,节点似乎无法识别 CorDapp。
【问题讨论】:
标签: digital-signature corda signature
这可能是因为 JAR 已使用默认开发密钥进行签名。当您在 build.gradle 中将 devMode 设置为 true 时就是这种情况。
如果是这种情况,您需要将cordappSignerKeyFingerprintBlacklist=[] 添加到node.conf。如果 devMode=false,Corda 开发密钥会被列入黑名单,因为它完全不安全。这仅适用于 PoC 目的,不适用于生产。
正确的解决方法是使用“自己的”密钥对应用进行签名。
您也可以在构建 CorDapp 时通过在 build.gradle 中设置 cordapp { signing { enabled false } } 来关闭 Jar 签名,这应该会导致它不被签名。
更多信息可以在这里找到:https://docs.corda.net/cordapp-build-systems.html#signing-the-cordapp-jar
【讨论】: