OpenSSL 4.1.0

Belangrijke of incompatibele wijzigingen

Deze release bevat de volgende potentieel significante of incompatibele wijzigingen:

  • Build-doelen: De build-doelen VC-WIN32-MSVC2013 en VC-WIN64A-MSVC2013 zijn toegevoegd om interne functies te bieden die de tekortkomingen in de C99-standaardondersteuning van MSVC 2013 overbruggen.
  • Optimalisaties:
  • Geoptimaliseerde ML-DSA en ML-KEM NTT-operaties voor ppc64le.
  • Geoptimaliseerde ML-DSA-operaties voor x86_64.
  • AVX-512-geoptimaliseerde SHAKE x4-operaties voor ML-DSA op x86_64.
  • AVX-512 en VAES-optimalisaties voor AES-CBC-decryptie op x86_64.
  • tsget utility: De tsget-utility is gewijzigd om Net::Curl::Easy (uit de Net-Curl CPAN-distributie) te gebruiken in plaats van de verlaten WWW::Curl::Easy. Gebruikers die afhankelijk zijn van tsget dienen Net::Curl::Easy te installeren vóór de upgrade.
  • Verwijderde targets: Windows-on-Itanium (VC-WIN64I) en Windows CE (VC-CE) targets zijn verwijderd uit de configuraties.
  • Verwijderde opties: De opties no-ecdsa en no-ecdh zijn verwijderd uit Configure, aangezien deze opties de implementaties niet daadwerkelijk uitschakelden. Gebruik no-ec om de ondersteuning voor elliptische krommen (elliptic curve) uit te schakelen.

Nieuwe functies

Deze release voegt de volgende nieuwe functies toe:

  • Ondersteuning voor DTLS 1.3 (RFC 9147). Raadpleeg de handleidingpagina ossl-guide-dtlsv13(7) voor details.
  • Ondersteuning voor RFC 8701 GREASE (Generate Random Extensions And Sustain Extensibility).
  • DTLS-ondersteuning in de SSL listener API.
  • Ondersteuning voor IKEV2 KDF.
  • Initiële ondersteuning voor de Elbrus2000 (e2k) architectuur.

Bekende problemen in 4.1.0

  • #32878: Wanneer een DTLS 1.3 KeyUpdate wordt ontvangen, worden alle andere openstaande post-handshake records verwijderd uit de retransmissiebuffer. Dit betekent dat post-handshake records die nog wachten op een ACK (zoals een NewSessionTicket) niet meer opnieuw worden verzonden als de oorspronkelijke verzending verloren gaat. Een oplossing is in behandeling en gepland voor een toekomstige release.
  • #33277: Een permanente ontvangstfout op een DTLS-listener kan worden gerapporteerd als SSLERRORWANT_READ op een geaccepteerde verbinding. Polling en daaropvolgende accept-aanroepen kunnen er ook in slagen de fout te rapporteren, waardoor applicaties blijven wachten na een permanente fout.
  • #33278: Een herstelbare schrijf-fout op een non-blocking verbinding die is geaccepteerd van een DTLS-listener kan worden gerapporteerd als SSLERRORSYSCALL in plaats van SSLERRORWANT_WRITE. Applicaties die dit resultaat als fataal beschouwen, kunnen een verbinding sluiten die nog steeds bruikbaar is.
  • #33242: DTLS 1.3-servers kunnen handshakes afbreken met een unexpected_message alert wanneer een client een deel of geheel van de eerste flight van de server bevestigt voordat deze zijn eigen respons verzendt. Dit kan gebeuren na pakketverlies of terwijl de client zijn authenticatierespons voorbereidt.