Java erro ao utilizar MD5withRSA

Recentemente precisei de me ligar a um servidor através do “Intel Remote Management Module”, como estou a usar uma versão atual do Java e alguns protocolos de encriptação e assinatura foram entretanto considerados inseguros, o Java bloqueia a sua utilização… no entanto permite o utilizador alterar a configuração e permitir esses métodos inseguros por sua conta e risco.

Ao aceder à aplicação recebia o erro:

Error: Unsigned Application requesting unrestricted access to system.
The following resource is signed with a weak signature algoritm MD5withRsa and is treated as unsigned

Para contornar o bloqueio basta editar o ficheiro de configuração do Java o java.security que está na pasta do Java.

Para começar precisamos de saber a versão do Java que estamos a utilizar, geralmente a utilizada é a mais recente que se encontrar na pasta do Java,

no meu caso o ficheiro java.security estava na pasta:

C:\Program Files (x86)\Java\jre(versão do Java)\lib\security\java.security

para editar este ficheiro precisamos de usar um editor de texto (por exemplo o bloco de notas!) mas com permissões de administrador, e fazer as seguintes alterações:

Editar a linha:

jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \

e retirar o MD5

jdk.certpath.disabledAlgorithms=MD2, SHA1 jdkCA & usage TLSServer, \

Editar a linha:

jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

e retirar o MD5

jdk.jar.disabledAlgorithms=MD2, RSA keySize < 1024

Editar a linha

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, \
EC keySize < 224

e retirar o MD5withRSA

jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 768, \
EC keySize < 224

Ir à configuração do Java e adicionar o url do site às excepções e se tudo correu como esperado irá funcionar…