Java 1.7 では、MD2 アルゴリズムが弱いため、その使用が無効になっています。次のようにファイルに自動的に設定さJAVAHOME/lib/security/java.security
れます。
jdk.certpath.disabledAlgorithms=MD2
SSLContext の 1 つの特定のインスタンスに対して 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);
ありがとう。