Java 8 Update 351将SHA-1签名JAR视为未签名,求解决办法
解决Java 8 Update 351中SHA-1签名JAR被视为未签名的问题
方案一:手动创建krb5.conf文件
- 打开记事本,写入以下内容:
[libdefaults] allow_weak_crypto = true - 保存文件为
krb5.conf(注意不要添加.txt后缀,确保文件类型是“所有文件”) - 将文件放到以下任意路径:
C:\Windows\krb5.confC:\Program Files\Java\jre1.8.0_351\lib\security\krb5.conf- 若系统设置过
KRB5_CONFIG环境变量,就放到该变量指定的路径
方案二:修改Java安全策略文件
- 找到Java 8u351安装目录下的
jre/lib/security/java.security文件(示例路径:C:\Program Files\Java\jre1.8.0_351\lib\security\java.security) - 打开文件后,定位到
jdk.certpath.disabledAlgorithms配置行 - 把该行中的
SHA1从禁用列表里移除,修改后示例:jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024 - 保存文件后重启JNLP应用
方案三:通过Java控制面板调整安全规则
- 开始菜单搜索“Java”打开Java控制面板
- 切换到“安全”标签页,点击“编辑站点列表”
- 将JNLP应用的URL添加到例外站点中
- 临时降低安全级别到“中”(仅在可信环境下使用,此操作会降低整体Java应用的安全性)
方案四:更新JAR签名(长期推荐方案)
- 联系应用开发者,将
xyz.jar用SHA-256及以上的安全签名算法重新签名,从根源解决弱加密依赖问题
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

