5

Java 1.7 由于其弱特性而禁用了 MD2 算法的使用。它在JAVAHOME/lib/security/java.security文件中自动设置如下:

jdk.certpath.disabledAlgorithms=MD2

我正在尝试找到一种方法来为 SSLContext 的一个特定实例重新启用 MD2,但我似乎无法做到这一点。我尝试了以下方法:

  1. 注释掉 中的"jdk.certpath.disabledAlgorithms=MD2"属性java.security。但是...这将一直启用 MD2,我不想这样做
  2. 在代码中,使用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);

谢谢。

4

0 回答 0