Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenBSD ΠΏΡΡΠ½Π°Ρ Π° LibreSSL 3.7.0 ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° OpenSSL, Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΡΠΎΠ΅ΠΊΡΡΡ LibreSSL Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ Π²ΡΡΡ Ρ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° SSL / TLS ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π½Π΅Π½ΡΠΆΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°. ΠΠ΅ΡΡΠΈΡΡΠ° LibreSSL 3.7.0 ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² OpenBSD 7.3.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° LibreSSL 3.7.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π΅Π½ ΠΏΠΎΠ΄ΠΏΠΈΡ Ρ ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ Ed25519, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Daniel Bernstein ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π΅Π»ΠΈΠΏΡΠΈΡΠ½Π° ΠΊΡΠΈΠ²Π° Curve25519 ΠΈ Ρ Π΅Ρ SHA-512. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Ed25519 Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠ°ΠΊΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΠΏΡΠΈΠΌΠΈΡΠΈΠ², ΡΠ°ΠΊΠ° ΠΈ ΡΡΠ΅Π· EVP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ X25519 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° EVP, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ 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