1

我已经为此苦苦挣扎了几天,我相信我有一个解决方法,但这是一个非常糟糕的解决方法。

我们的代码签名证书位于 HSM 插槽中。所以我们必须使用PKCS11来签名。

据我所知,maven webstart 插件(beta 4)缺乏对 providerClass、providerArg 和 providerName 的支持。这意味着 PKCS11 签名不能以这种方式发生。

美好的。有 jarsigner 插件。这可以很好地签署罐子。

问题是我们现在还必须使用 updateManifestEntries 将代码库和权限条目添加到我们的 webstart 小程序中。

好吧,webstart 插件中实际执行清单更新的实际代码在

if (sign) { ... }

所以它永远不会发生。

所以我们必须有一个伪造的自签名证书和密钥,并在 webstart 插件的签名配置中使用它,以便我们可以更新 jars 的清单,然后丢弃所有浪费的工作并使用 jarsigner 对 jars 进行签名插入。

肯定有更好的方法!

4

1 回答 1

0

要将您的 PKCS#11 设为默认值并将其传递给我认为您可以执行的参数:

$JAVA_HOME/lib/secuirty/java.security:

security.provider.1=com.security.whateverPKCS11Provider whateverProviderArg1
于 2014-11-02T18:06:06.617 回答