我已经为此苦苦挣扎了几天,我相信我有一个解决方法,但这是一个非常糟糕的解决方法。
我们的代码签名证书位于 HSM 插槽中。所以我们必须使用PKCS11来签名。
据我所知,maven webstart 插件(beta 4)缺乏对 providerClass、providerArg 和 providerName 的支持。这意味着 PKCS11 签名不能以这种方式发生。
美好的。有 jarsigner 插件。这可以很好地签署罐子。
问题是我们现在还必须使用 updateManifestEntries 将代码库和权限条目添加到我们的 webstart 小程序中。
好吧,webstart 插件中实际执行清单更新的实际代码在
if (sign) { ... }
所以它永远不会发生。
所以我们必须有一个伪造的自签名证书和密钥,并在 webstart 插件的签名配置中使用它,以便我们可以更新 jars 的清单,然后丢弃所有浪费的工作并使用 jarsigner 对 jars 进行签名插入。
肯定有更好的方法!