Reputation: 51
I'have an api who use DES
i know is bad ... but i can't change that and i have to support this old legacy system (i have an rmi client part in my side)
also i look for a way to enabled on jdk1.9 the DES
algorithm
my program run well on old jdk
i'am looking around
/usr/java/jdk-9.0.4/conf/security/java.security
and value: jdk.tls.legacyAlgorithms
but here i don't know how to modify the default value i try
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
and somme other value but without succes
the full stack trace
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 is my legacy rmi client util.ade.AdeSebastien --> i where i use the client to try the connection to my rmi system
if somme one have knoledge about this difficulty thanks
Upvotes: 2
Views: 2892
Reputation: 51
for other people who have the same difficulty
i passe this parameter to the jdk
-Djdk.crypto.KeyAgreement.legacyKDF=true
with framework play is done like that
play2 -jvm-debug 9999 ~run -Djdk.crypto.KeyAgreement.legacyKDF=true
i will now take a look if a cant put this in security file of jdk
Upvotes: 3