Após cinco meses de desenvolvimento, foi liberada a versão da biblioteca OpenSSL 3.3.0 com a implementação dos protocolos SSL/TLS e diversos algoritmos de criptografia. O suporte ao OpenSSL 3.3 será mantido até abril de 2026. O suporte às versões anteriores OpenSSL 3.2, 3.1 e 3.0 LTS continuará até novembro de 2025, março de 2025 e setembro de 2026, respectivamente. O código do projeto é distribuído sob a licença Apache 2.0.
Principais novidades do OpenSSL 3.3.0:
- Continuou a integração do suporte ao protocolo QUIC (RFC 9000), que é uma camada superior sobre o protocolo UDP, usada como transporte no protocolo HTTP/3. Na nova versão:
- Adicionada a suporte à rastreabilidade das conexões QUIC por meio da manutenção de um log de diagnóstico no formato qlog.
- Adicionada a suporte à polling em modo não bloqueante para conexões QUIC e objetos de fluxo.
- Implementada a capacidade de geração otimizada de quadros de finalização de fluxo para conexões QUIC.
- Fornecida a possibilidade de desativar o processamento de eventos QUIC ao realizar chamadas à API.
- Adicionada a suporte à configuração do timeout de inatividade para QUIC.
- Adicionado um API para consultar o tamanho e o nível de preenchimento do buffer de gravação para fluxos QUIC.
- Implementadas extensões do protocolo de gerenciamento de certificados CMP (Certificate Management Protocol), definidas nas especificações RFC 9480 (definição do protocolo CMPv3) e RFC 9483 (perfil leve para dispositivos de baixa potência).
- Adicionada a possibilidade de desativar, na etapa de construção, o uso da função atexit.
- Adicionada uma variante da API SSL_SESSION, que não está sujeita ao problema de 2038: funções SSL_SESSION_get_time_ex() e SSL_SESSION_set_time_ex(), que utilizam o tipo time_t de 64 bits em sistemas de 32 bits.
- Na função EVP_PKEY_fromdata, implementada a capacidade de obtenção automática dos parâmetros do Teorema Chinês do Resto (CRT, Chinese Remainder Theorem).
- Adicionada a possibilidade de ignorar nomes de algoritmos de assinatura desconhecidos, especificados nos parâmetros de configuração TLS SignatureAlgorithms e ClientSignatureAlgorithms.
- Adicionada a possibilidade de configurar a prioridade do uso de chaves PSK em servidor TLS 1.3 durante a recuperação de sessão.
- Adicionada a função EVP_DigestSqueeze(), que permite reduzir o tamanho do hash SHAKE (removendo os bits mais significativos), utilizando várias iterações com diferentes tamanhos de saída.
- Suporte adicionado para exportação de arquivos de montagem para CMake em sistemas operacionais semelhantes ao Unix e Windows (além da exportação baseada em pkg-config).
- Realizadas otimizações de desempenho: O algoritmo AES-GCM foi otimizado em dispositivos com chips Microsoft Azure Cobalt 100. A implementação do AES-CTR agora suporta aceleração usando extensões ARM Neoverse V1 e V2. Otimizações de AES e SHA3 foram incluídas para sistemas Apple com chips M3. Extensões vetoriais RISC-V foram utilizadas em várias funções criptográficas. Uma implementação em assembly do md5 foi adicionada para CPU Loongarch64.
Fonte: opennet.ru
