2014-05-03 31 views
1

我一直在为此奋斗了几天,我相信我有一个解决方法,但它是一个非常糟糕的。Webstart maven插件,updateManifestEntries和PKCS11代码签名互斥

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

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

好。有jarsigner插件。这很适合签署罐子。

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

那么,在Webstart的插件的实际代码实际上执行清单更新的

if (sign) { ... } 

所以从未发生过里。

所以我们必须有一个虚假的自签名证书和密钥,并在webstart插件的签名配置中使用它,以便我们可以更新罐子的清单,然后丢弃所有浪费的工作并辞职与jarsigner插件罐。

只有有更好的方法!

+0

如果您将提供一个[ SSCCE](http://sscce.org/),最好在GitHub上,人们可以研究这个问题并真正重现它。 – kriegaex

回答

0

为了让您的PKCS#11默认并把它传递一个参数,我认为你可以这样做:

$ JAVA_HOME/lib中/ secuirty/java.security:

security.provider.1=com.security.whateverPKCS11Provider whateverProviderArg1 
+0

这对我们的自动化构建环境来说是不切实际的 - 至少比现在的Rube Goldberg机器更不切实际。 – nsayer