O OpenSSL 3.3 foi lançado hoje como uma atualização significativa desta robusta biblioteca de software livre, de código aberto e multiplataforma, que oferece comunicações seguras por meio de redes de computadores para aplicativos e websites.
Chegando quatro meses e meio após o lançamento do OpenSSL 3.2, a versão 3.3 traz consigo suporte para QLog para rastreamento de conexões QUIC, juntamente com suporte limitado para sondagem de conexões QUIC e objetos de fluxo de forma não bloqueada. Além disso, introduz várias novas APIs para facilitar a configuração de vários aspectos das conexões usando o protocolo criptografado QUIC, que opera na Camada de Transporte, ou Camada 4, do modelo OSI.
Essas novas APIs permitem aos usuários configurar o tempo limite ocioso negociado para conexões QUIC, determinar o número de fluxos adicionais que podem ser criados para uma conexão QUIC, desabilitar o processamento implícito de eventos QUIC para objetos SSL QUIC e consultar o tamanho e a utilização do buffer de gravação de um fluxo QUIC.
Além disso, o OpenSSL 3.3 inclui uma nova API SSL_write_ex2 para enviar uma condição de fim de fluxo (FIN) de forma otimizada ao usar o QUIC, uma nova API EVP_DigestSqueeze() para permitir que o SHAKE aperte várias vezes com diferentes tamanhos de saída, e novas funções de API SSL_SESSION_get_time_ex() e SSL_SESSION_set_time_ex() que usam time_t, tornando-se seguro para o ano 2038 em sistemas de 32 bits quando o tempo de 64 bits está habilitado.
Adicionalmente, foram adicionadas novas opções de -set_issuer e -set_subject ao comando openssl x509, permitindo que os usuários substituam o "Emissor" e o "Assunto" ao criar um certificado. A opção -subj antiga agora é um alias para a nova opção -set_subject.
O OpenSSL 3.3 também introduz uma nova opção SSL_OP_PREFER_NO_DHE_KEX para permitir que os usuários configurem um servidor TLS 1.3 para preferir a retomada da sessão usando uma troca de chaves somente PSK sobre PSK com DHE, quando ambos estiverem disponíveis. Adicionalmente, uma nova API X509_STORE_get1_objects foi adicionada para evitar problemas com a API X509_STORE_get0_objects existente em aplicativos multi-thread.
Além disso, o algoritmo de hash BLAKE2s foi atualizado nesta versão para corresponder ao suporte do BLAKE2b para comprimento de saída configurável. A função EVP_PKEY_fromdata foi aumentada para permitir a derivação de parâmetros CRT (Chinese Rest Theorem) quando solicitado, e uma nova opção de configuração atexit foi adicionada para controlar se OPENSSL_cleanup é registrada quando libcrypto é descarregada.
Vários novos recursos do CMPv3 definidos em RFC 9480 e RFC 9483 também foram adicionados no OpenSSL 3.3, que vem com um exportador para CMake em sistemas Unix e Windows, além do exportador pkg-config. Também há suporte para ignorar entradas desconhecidas nas opções de configuração TLS SignatureAlgorithms e ClientSignatureAlgorithms e as respectivas chamadas para SSL[_CTX]_set1_sigalgs() e SSL[_CTX]_set1_client_sigalgs() que começam com o caractere '?'.
Para mais detalhes, confira as notas de versão. Enquanto isso, você pode baixar o OpenSSL 3.3 agora mesmo no site oficial. Recomenda-se que todos os usuários, sites e sistemas operacionais atualizem para esta versão o mais rápido possível.