我已经以各种方式对我的 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]
有没有办法消除这个错误?
这不是错误,而是警告。至于如何避免,请确保证书的有效期大于6个月。对于自签名证书,只需在生成密钥时提供正确的参数即可。这里是keytool Example.
keytool -genkeypair -dname "cn=Mark Jones, ou=Java, o=Oracle, c=US"
-alias business -keypass <new password for private key> -keystore /working/mykeystore
-storepass <new password for keystore> -validity 180
重要的部分是-validity 180
。例如,180 天,即大约 6 个月。使用1800约5年。
如果没有重新认证,我的代码会在六个月后停止工作吗?
不完全是。
- The user on some systems will be warned that the certificate has expired, and be offered the choice to accept it. If they do, it will work as normal. e.g. of "signature has expired":
- 其他系统可能配置为自动拒绝过期的证书。在这些机器上,代码很可能永远不会启动,或者在极少数情况下,会加载但应用了沙箱。
我以为我已经关闭了所有 java 缓存,因为在尝试开发时它很烦人。
测试期间Applet 缓存是一个大问题。除非绝对必要,否则我会尽量避免在浏览器中测试小程序。我知道有两种方法来测试不会缓存类的小程序。
- 使用AppletViewer
- 混合小程序/应用程序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)