我正在尝试修复需要通过JDBC连接到SQL Server的JBoss重新安装,我在日志中看到了以下内容:
Caused by: javax.net.ssl.SSLHandshakeException: Certificates do not conform to algorithm constraints
...
Caused by: java.security.cert.CertificateException: Certificates do not conform to algorithm constraints
...
Caused by: java.security.cert.CertPathValidatorException: Algorithm constraints check failed on keysize limits: RSA 1024 bit key used with certificate: CN=SSL_Self_Signed_Fallback
我该如何解决这个问题?
从服务器上的各种配置文件中,我发现了配置中的安全信息,例如:
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \
RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \
include jdk.disabled.namedCurves
jdk.security.legacyAlgorithms=SHA1, \
RSA keySize < 2048, DSA keySize < 2048
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \
DSA keySize < 1024, include jdk.disabled.namedCurves
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
许多与此问题相关的帖子声称这是一个OpenJDK问题,并使用另一个JDK或JDBC问题并使用JTDS,但我相信工作的服务器正在使用相同的OpenJDK版本和SQL server JDBC驱动程序。因此,这些方法似乎巧合地解决了这个问题。我尝试将两个java.security文件从正常工作的服务器复制到失败的服务器(每个post 62582542),但没有解决问题。
我需要制作一个新的1024位自签名证书吗?我可以从另一台正常工作的服务器上复制证书吗?如果我需要制作一个新的证书,哪个网页有合适的流程?
发布于 2021-11-10 16:11:19
为了解决这个问题,已经做了一些事情,这可能是所需的超集。
发布于 2021-11-11 08:51:39
我建议使用更强的证书,因为RSA 1024位证书被认为太弱了!
作为一种解决办法,可以将系统属性java.security.disableSystemPropertiesFile设置为true
JAVA_OPTS="$JAVA_OPTS -Djava.security.disableSystemPropertiesFile=true
另外,在$JAVA_HOME/jre/lib/security/java.security
中将安全属性security.useSystemPropertiesFile设置为false
https://stackoverflow.com/questions/69913862
复制相似问题