首页 > 解决方案 > 如何为 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?

标签: javabuildroot

解决方案


推荐阅读