Java 1.7 由于其弱特性而禁用了 MD2 算法的使用。它在JAVAHOME/lib/security/java.security
文件中自动设置如下:
jdk.certpath.disabledAlgorithms=MD2
我正在尝试找到一种方法来为 SSLContext 的一个特定实例重新启用 MD2,但我似乎无法做到这一点。我尝试了以下方法:
- 注释掉 中的
"jdk.certpath.disabledAlgorithms=MD2"
属性java.security
。但是...这将一直启用 MD2,我不想这样做 - 在代码中,使用
Security.setProperty("jdk.certpath.disabledAlgorithms", "");
但是,我不能仅对单个 SSLContext 实例执行此操作 - 我设置的属性保持设置,之后无法更改
有没有办法做这样的事情:
SSLContext context = SSLContext.getInstance("ssl");
/* Enable MD2 here */
SSLContext.setDefault(context);
/* Do stuff here */
SSLContext context = SSLContext.getInstance("ssl");
/* Disable MD2 here */
SSLContext.setDefault(context);
谢谢。