matlab证书错误,HTTPS解决异常Certificates does not conform to algorithm constraints
原因在进行SSL握手时,所采用的证书算法不符合约束条件。方案一$JAVA_HOME/jre/lib/security/java.security把其中的配置项:#jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ DSA keySize < 1024, EC keySize < 224改成:jdk.cer
原因
在进行SSL握手时,所采用的证书算法不符合约束条件。
方案一
$JAVA_HOME/jre/lib/security/java.security
把其中的配置项:
#jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ DSA keySize < 1024, EC keySize < 224
改成:
jdk.certpath.disabledAlgorithms=,
或者直接注释掉:
#jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ DSA keySize < 1024, EC keySize < 224
方案二
将自己实现的TrustAnyTrustManager改为继承自行的抽象类X509ExtendedTrustManager。
private static class TrustAnyTrustManager extends X509ExtendedTrustManager {
//...
//这里省略了一些必须要实现的用于验证证书的方法,在这里都是空方法
//...
}
如果TrustAnyTrustManager是实现接口X509TrustManager,而不是继承抽象类:X509ExtendedTrustManager,那么JDK则会默认用自己的实现类AbstractTrustManagerWrapper来对服务器的证书算法进行验证,检查她们是否符合java.security里的配置要求!而如果我们的TrustAnyTrustManager继承了抽象类:X509ExtendedTrustManager,则SSLContextImpl就会使用我们自己的TrustAnyTrustManager来验证证书算法,而我们这个类所有的验证方法都是空方法(也就是不验证),那么自然也就不会抛异常了。
更多推荐
所有评论(0)