Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° 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