gpt4 book ai didi

java - 在 WAS 上找不到 sun.security.util.DerValue

转载 作者:行者123 更新时间:2023-11-28 22:28:12 31 4
gpt4 key购买 nike

我有一个在 tomcat 5.5 上运行良好的 java 应用程序。但是当部署在 WAS 7 上时它会抛出异常。它尝试连接到 sftp 服务器以检索一些文件,但抛出异常。


错误跟踪:

Caused by: java.lang.NoClassDefFoundError: sun.security.util.DerValue
at com.sun.crypto.provider.DHPublicKey.<init>(DashoA12275)
at com.sun.crypto.provider.DHKeyPairGenerator.generateKeyPair(DashoA12275)
at java.security.KeyPairGenerator$KeyPairGeneratorImpl.generateKeyPair(KeyPairGenerator.java:234)
at com.jcraft.jsch.jce.DH.getE(DH.java:57)
at com.jcraft.jsch.DHG1.init(DHG1.java:110)
at com.jcraft.jsch.Session.receive_kexinit(Session.java:601)
at com.jcraft.jsch.Session.connect(Session.java:320)
at com.jcraft.jsch.Session.connect(Session.java:183)

java.security 文件有以下提供者:

security.provider.1=com.sun.crypto.provider.SunJCE
security.provider.2=com.ibm.crypto.provider.IBMJCE

我迷路了。任何想法?谢谢

最佳答案

如包中所述,DerValue 是一个 Sun 类。

sun.security.util.DerValue 

WebSphere 使用 IBM JDK,不包含此类。仅支持 IBM JCE 提供程序。

security.provider.1=com.sun.crypto.provider.SunJCE

去掉这一行可能会解决您的问题,应用程序将按预期运行。

如果您打算使用 SunJCE,请查看 this IBM tutorial .

使用 IBM 默认实现是一个更简单的选择,我愿意这样做。我不建议将 Sun JCE 添加为自定义提供程序,因为您需要将此步骤作为部署应用程序的先决条件,并在每次需要在新服务器中更改某些内容时重新生成它。

关于java - 在 WAS 上找不到 sun.security.util.DerValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157813/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com