我以各种方式签署了我的jar,但是当我使用命令时,我不断收到上述错误消息:
jarsigner -verify -verbose [my jar]
有没有办法摆脱这个错误?如果没有重新认证,我的代码会在六个月后停止工作吗?
以下是用于生成密钥和密钥的整套命令.签下Jar:
keytool -genkey -keystore [keystore] -alias [alias] -validity 2000
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000
jarsigner -keystore [keystore] [jar] [alias]
最佳答案
Is there a way to get rid of this error?
这不是错误,而是警告.至于如何避免它,请确保证书的有效期超过6个月.对于自签名证书,这是在生成密钥时提供正确参数的问题.这是keytool
Example.
keytool -genkeypair -dname "cn=Mark Jones,ou=Java,o=Oracle,c=US"
-alias business -keypass
重要的部分是 – 例如180. 180天,或大约6个月.使用1800约5年.
Will my code just stop working after six months if it’s not re-certified?
不完全是.
>某些系统上的用户将收到警告证书已过期,并可选择接受该证书.如果他们这样做,它将正常工作.例如“签名已过期”:
>其他系统可能配置为自动拒绝过期证书.在这些机器上,代码很可能永远不会启动,或者在极少数情况下,会加载但是应用了沙箱.
I thought I had turned all java caching off though,as it’s annoying when trying to develop.
测试期间的Applet缓存是一个大问题.我试图避免在浏览器中测试applet,直到绝对必要.我知道有三种方法来测试不会缓存类的applet.
> AppletViewer
>混合applet /应用程序
> Appleteer(在某些方面略好于applet查看器,我刚刚开发它)