Java以编程方式启用MD2算法

Red*_*ses 5 java security

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

jdk.certpath.disabledAlgorithms=MD2
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到一种方法来为一个特定的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);
Run Code Online (Sandbox Code Playgroud)

谢谢.