O Java Development Kit (JDK) 22, lançado pela Oracle em 19 de março como a versão mais recente do Java padrão, oferece uma série de melhorias de segurança, abrangendo áreas que vão desde uma interface de chave assimétrica até uma nova security opção para -XshowSettings que permite aos desenvolvedores exibir facilmente configurações relacionadas à segurança.

Em uma postagem de 20 de março na página inside.java da Oracle, Sean Mullan, líder técnico da equipe de bibliotecas de segurança Java e líder do OpenJDK Security Group, detalhou os aprimoramentos de segurança no JDK 22.

O java -Xshowsettings A opção, que pode ser usada para imprimir configurações do sistema e outras informações úteis sobre a configuração atual do JDK, foi aprimorada para mostrar detalhes sobre configurações relacionadas à segurança. -Xshowsettings:security mostrará todas as configurações de segurança. As subopções permitem exibir os valores das propriedades de segurança, os provedores de segurança instalados e seus algoritmos suportados ou os protocolos TLS e conjuntos de criptografia habilitados.

Para criptografia, uma nova interface padrão, java.security.AsymmetricKey, foi adicionado. É uma subinterface de java.security.key e representa uma chave assimétrica, que pode ser privada ou pública. Existir java.security.PublicKey e java.security.PrivateKey classes foram adaptadas para serem subinterfaces de AsymmetricKey. À medida que futuros algoritmos assimétricos são introduzidos, o AsymmetricKey interface permitirá que versões anteriores do Java SE suportem mais facilmente novos algoritmos assimétricos que representam parâmetros como NamedParameterSpecMullan disse.

Também o jdk.crytpo.ec O módulo foi descontinuado, com a intenção de eventualmente removê-lo. Todo o código do jdk.crytp.ec módulo foi movido para o java.base módulo, incluindo o SunEC provedor de segurança. O jdk.crypto.ec o módulo agora está vazio, mas ainda existe. Esta mudança facilitará a implantação de aplicações dependendo de algoritmos criptográficos de curva elíptica.

Para PKI (infraestrutura de chave pública), 10 novos certificados de CA raiz foram adicionados ao cacerts keystore, incluindo três certificados de CA raiz da eMudhra Technologies, quatro certificados de CA raiz DigiCert e um de Let's Encrypt, Telia e Certigna.

Para TLS (Transport Layer Security), propriedades adicionais foram adicionadas para controlar o comprimento máximo das cadeias de certificados de cliente e servidor. E para assinaturas XML, a implementação do JDK agora oferece suporte a assinaturas XML assinadas com algoritmos de assinatura RSA com resumos SHA-3.

O JDK 22 estende a funcionalidade do suporte JCE (Java Cryptography Extension) para o algoritmo de assinatura HSS/LMS, adicionando suporte HSS/LMS ao jarsigner e keytool Serviços de utilidade pública. Também, jarsigner agora suporta assinatura e verificação de arquivos JAR com o algoritmo HSS/LMS enquanto keytool agora suporta a geração de pares de chaves públicas HSS/LMS. No entanto, o JDK oferece suporte apenas à verificação de assinatura HSS/LMS. Os desenvolvedores precisarão de um provedor terceirizado para assinar arquivos JAR com HSS/LMS.