我写了一个自定义PKCS11提供程序,现在我想通过jarsigner来使用它。
我的命令:
jarsigner -verbose -keystore NONE -storetype PKCS11 -providerClass my.provider.class jar_to_sign_on.jar "key_name"
我收到以下错误:
jarsigner error: java.lang.ClassNotFoundException: my.provider.class
这是因为jarsinger无法找到我的提供者.jar实现。
当我将mt .jar放入... \ Java \ jdk1.8.0_31 \ jre \ lib \ ext时,它可以正常工作。
我的问题是:有一种方法可以动态设置我的提供者.jar? (与keytool中的-providerPath类似)
答案 0 :(得分:2)
jarsigner
具有-J
选项,允许将其值直接传递给支持java进程。问题是它不允许空格,因此您需要两个这样的选项来传递类路径。这样的事情应该有效:
jarsigner ... -J-cp -Jmylib.jar
答案 1 :(得分:0)
Java classpath 允许指定多个用':'分隔的jar文件。在这种情况下,您可以使用
-J-cp -J./mylib.jar:
tools.jar的路径