首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.security.NoSuchAlgorithmException:算法x25519不可用

java.security.NoSuchAlgorithmException:算法x25519不可用
EN

Stack Overflow用户
提问于 2020-06-07 06:45:34
回答 1查看 522关注 0票数 3

对于这段代码,我得到一个"javax.net.ssl.SSLException: Connection reset“

代码语言:javascript
运行
复制
ReadableByteChannel rbc = Channels.newChannel(url.getInputStream());

但仅当在使用Open JDK 14中的jlink构建的Java 14 JRE下运行时,如果我指向完整的JDK,代码就可以很好地执行。我怀疑JRE中缺少了什么,但是它是什么,为什么jlink没有复制丢失的文件呢?我的基于jdeps的jlink命令如下:

代码语言:javascript
运行
复制
"C:\Program Files\Java\jdk-14\bin\jlink.exe" --no-header-files --no-man-pages --compress=2 --strip-debug --add-modules java.base,java.datatransfer,java.desktop,java.logging,java.xml --output %AG14InstallDir%\jre_windows2

我是否在jlink中遗漏了一个模块?关于如何追踪这个问题,有什么想法或建议吗?

按照建议添加调试程序后,我会得到以下输出。我需要复制什么才能修复它?

代码语言:javascript
运行
复制
javax.net.ssl|WARNING|2E|Thread-13|2020-06-07 10:22:24.517 UTC|null:-1|Signature algorithm, ed25519, is not supported by the underlying providers
javax.net.ssl|WARNING|2E|Thread-13|2020-06-07 10:22:24.518 UTC|null:-1|Signature algorithm, ed448, is not supported by the underlying providers
javax.net.ssl|WARNING|2E|Thread-13|2020-06-07 10:22:24.519 UTC|null:-1|No AlgorithmParameters for x25519 (
"throwable" : {
  java.security.NoSuchAlgorithmException: Algorithm x25519 not available
    at java.base/javax.crypto.KeyAgreement.getInstance(Unknown Source)
    at java.base/sun.security.ssl.NamedGroup.<init>(Unknown Source)
    at java.base/sun.security.ssl.NamedGroup.<clinit>(Unknown Source)
    at java.base/sun.security.ssl.SignatureScheme.<clinit>(Unknown Source)
    at java.base/sun.security.ssl.SSLSessionImpl.<clinit>(Unknown Source)
    at java.base/sun.security.ssl.TransportContext.<init>(Unknown Source)
    at java.base/sun.security.ssl.TransportContext.<init>(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketImpl.<init>(Unknown Source)
    at java.base/sun.security.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
    at java.base/sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source)
    .............
EN

Stack Overflow用户

发布于 2020-06-07 19:05:58

解决了。需要将jdk.crypto.cryptoki添加到jlink的-- add -module列表中。

票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62238883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档