部署 CorDapp 时,默认情况下必须对 JAR 进行签名



将 Corda 4.0 CorDapp 部署到 UAT 时,必须对 Jar 进行签名吗?

我们尝试使用 devMode = true - 这会导致节点识别 CorDapp 中的流,但是当我们将 devMode 设置为 false 时,节点似乎无法识别 CorDapp。

这可能是因为 JAR 已使用默认开发密钥进行签名。当devMode设置为在build.gradle中true时,就是这种情况。

如果是这种情况,您需要将cordappSignerKeyFingerprintBlacklist=[]添加到node.conf。如果 devMode=false,则 Corda 开发密钥被列入黑名单,因为它完全不安全。这仅适用于 PoC 目的,不适用于生产目的。

正确的解决方法是使用"自己的"密钥对应用进行签名。

您也可以在构建 CorDapp 时关闭 Jar 签名,方法是在build.gradle中设置cordapp { signing { enabled false } },这应该会导致它不被签名。

更多信息可以在这里找到:https://docs.corda.net/cordapp-build-systems.html#signing-the-cordapp-jar

最新更新