java - 如何为 openjdk-12 生成 $JAVA_HOME/jre/lib/security 目录?
问题描述
我正在尝试使用 Buildroot 上的 openjdk-12-jre 通过 HTTPS 在 jar 中下载文件。我宁愿不必修改罐子。jar 启动但因错误而死:
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:118)
... 21 more
Caused by: java.lang.SecurityException: Can't read cryptographic policy directory: unlimited
at java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:324)
at java.base/javax.crypto.JceSecurity.access$000(JceSecurity.java:73)
at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:109)
at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:106)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:105)
... 21 more
经过一些谷歌搜索后,错误似乎源于缺少$JAVA_HOME/jre/lib/security/
.
Debian 问题跟踪器上有一个涉及创建符号链接的解决方法 - 但它已经过时了。此外,由于 Buildroot 安装非常少,因此我缺少大量必要的文件。
我还尝试从我的计算机上窃取证书存储,但没有任何改变——也许是因为架构的不同?
如何让 Buildroot 为 OpenJDK 生成 cacerts?
解决方案
推荐阅读
- c# - Webapi 控制器将属性名称更改为小写
- node.js - 来自 Express 请求的 res.json 在 Postman 中发送空白 Json
- angular - 在ngIf中的div之后执行一个函数?
- javascript - 从 D3 v3 迁移到 v5 后未触发“Mouseup”事件
- microcontroller - atmega32u4 无法进入编程模式
- android - 有没有办法在android 10上设置特定的联系人铃声
- oracle - Oracle TimesTen 安装和配置
- java - 如何添加到 apache 或 wildfly X-Forwarded-For?
- c# - Xamarin 蓝牙键盘的行为与虚拟键盘不同
- java - 使用可选参数更新查询