JAVA JDK1.9 JAVA.security.NoSuchAlgorithmException:不支持的密钥算法:DES

JAVA JDK1.9 JAVA.security.NoSuchAlgorithmException:不支持的密钥算法:DES,java,security,Java,Security,我有一个api谁使用DES我知道是坏的。。。但我不能改变这一点,我必须支持这个旧的遗留系统(我身边有一个rmi客户端) 我还寻找一种在jdk1.9上启用DES算法的方法 我的程序在旧jdk上运行良好 我在四处看看 /usr/java/jdk-9.0.4/conf/security/java.security 和值:jdk.tls.legacyAlgorithms 但是在这里,我不知道如何修改我尝试的默认值 dk.tls.legacyAlgorithms= \ K_NULL, C_

我有一个api谁使用
DES
我知道是坏的。。。但我不能改变这一点,我必须支持这个旧的遗留系统(我身边有一个rmi客户端)

我还寻找一种在jdk1.9上启用
DES
算法的方法 我的程序在旧jdk上运行良好

我在四处看看
/usr/java/jdk-9.0.4/conf/security/java.security
和值:
jdk.tls.legacyAlgorithms

但是在这里,我不知道如何修改我尝试的默认值

dk.tls.legacyAlgorithms= \
        K_NULL, C_NULL, M_NULL, \
        DH_anon, ECDH_anon, \
        RC4_128, RC4_40, DES_CBC, DES40_CBC, \
        3DES_EDE_CBC, \
        DES_CBC, \
        DES
还有一些其他的价值,但没有成功

完整堆栈跟踪

java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: DES
    at java.base/com.sun.crypto.provider.DHKeyAgreement.engineGenerateSecret(DHKeyAgreement.java:387)
    at java.base/javax.crypto.KeyAgreement.generateSecret(KeyAgreement.java:660)
    at com.adesoft.security.EncryptedPassword._cipher(Unknown Source)
    at com.adesoft.security.EncryptedPassword.cipher(Unknown Source)
    at com.adesoft.login.WebSessions.connect(Unknown Source)
    at com.adesoft.beans.SessionBean.setPassword(Unknown Source)
    at util.ade.AdeSebastient.getRWConnection(AdeSebastient.java:59)
adesoft是我的传统rmi客户 util.ade.AdeSebastien-->i,其中我使用客户端尝试连接到我的rmi系统

如果有人知道这个困难的话
感谢其他有同样困难的人

我将此参数传递给jdk
-Djdk.crypto.KeyAgreement.legacyKDF=true

框架游戏就是这样做的
play2-jvm debug 9999~run-Djdk.crypto.KeyAgreement.legacyKDF=true

我现在来看看是否有人不能把它放在jdk的安全文件中