Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenBSD ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π° ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° LibreSSL 3.7.0, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠΎΡΠΊ Π½Π° OpenSSL, ΡΠ΅Π»ΠΈ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΡΠΎΠ΅ΠΊΡΡΡ LibreSSL Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ SSL/TLS Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°. ΠΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° LibreSSL 3.7.0 ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ, Π² ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² OpenBSD 7.3.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° LibreSSL 3.7.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Ρ ΠΎΡΠΊΡΠΈΡ ΠΊΠ»ΡΡ Ed25519, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΠΠ°Π½ΠΈΠ΅Π» ΠΠ΅ΡΠ½ΡΡΠ΅ΠΉΠ½ ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π»ΠΈΠΏΡΠΈΡΠ½Π°ΡΠ° ΠΊΡΠΈΠ²Π° Curve25519 ΠΈ Ρ Π΅ΡΠ° SHA-512. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Ed25519 Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΠΈΠΌΠΈΡΠΈΠ², ΡΠ°ΠΊΠ° ΠΈ ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° EVP.
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° EVP Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ X25519, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΎΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Ed25519, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ°ΠΌΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡΠ΅ 'X' ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ ΡΠΎΡΠΊΠΈ Π½Π° Π΅Π»ΠΈΠΏΡΠΈΡΠ½Π°ΡΠ° ΠΊΡΠΈΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΡΠ°ΡΠ°Π²Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ OpenSSL 1.1 Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ API Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΡΠΊΡΠΈΡΠΈ ΠΈ Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ EVP_PKEY_ED25519, EVP_PKEY_HMAC ΠΈ EVP_PKEY_X25519.
- ΠΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ timegm() ΠΈ gmtime() Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°ΡΠΈ ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ POSIX ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ BoringSSL.
- Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° BN (BigNum) Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡ ΠΈ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ΄, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΏΡΠΎΡΡΠΈ ΡΠΈΡΠ»Π°.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° HMAC PRIVATE KEY.
- ΠΡΠ΅ΠΎΡΠΌΠΈΡΠ»Π΅Π½ Π΅ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ DSA.
- ΠΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ Π΅ ΠΊΠΎΠ΄ΡΡ Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° TLSv1.2.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π΅ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΡ ΡΡΠ΅ΠΊ TLS.
- ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ BIO_read() ΠΈ BIO_write() Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΎ Π΄ΠΎ OpenSSL 3.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
