ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ:
Π Π΅Π»ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL 3.4.0 Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² SSL/TLS ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenSSL 3.4 Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎ ΠΎΠΊΡΡΠ±ΡΡ 2025 Π³ΠΎΠ΄Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ»ΡΡ Π²Π΅ΡΠΎΠΊ OpenSSL 3.3, 3.2, 3.1 ΠΈ 3.0 LTS ΠΏΡΠΎΠ΄Π»ΠΈΡΡΡ Π΄ΠΎ Π°ΠΏΡΠ΅Π»Ρ 2026 Π³ΠΎΠ΄Π°, Π½ΠΎΡΠ±ΡΡ 2025 Π³ΠΎΠ΄Π°, ΠΌΠ°ΡΡΠ° 2025 Π³ΠΎΠ΄Π° ΠΈ ΡΠ΅Π½ΡΡΠ±ΡΡ 2026 Π³ΠΎΠ΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠΎΠ² Π΄Π»Ρ TLSv1.3, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ (RFC 9150) ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ TLS_SHA256_SHA256 ΠΈ TLS_SHA384_SHA384.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ½ΡΡΠΎΠΏΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΆΠΈΡΡΠ΅ΡΠ° (jitter), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ jitterentropy. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΡΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π½Π° CPU, Π·Π°Π²ΠΈΡΡΡΠ΅Π³ΠΎ ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² ΠΈ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π΅Π· ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ CPU.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² (AC — Attribute Certificate, RFC 5755), ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, AC-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠ°Π²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ X.509v3, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ.
- Π ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ΅ FIPS ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° FIPS 140-3 Indicator API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π»ΠΈ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π² ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ.
- Π API BIO (Basic Input/Output) ΡΠ»ΡΡΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Base64.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠΈΠ»ΠΈΡΡ openssl Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ PIE (Position Independent Executable), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° (ASLR).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ RSA-SHA2-256.
- Π PKCS#12 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579).
- Π ΡΡΠΈΠ»ΠΈΡΡ openssl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ ‘-not_before’ ΠΈ ‘-not_after’ Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ P-256.
- ΠΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ TS_VERIFY_CTX_set_*, Π½Π° Π·Π°ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ TS_VERIFY_CTX_set0_* Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ.
- ΠΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ SSL_SESSION_get_time(), SSL_SESSION_set_time() ΠΈ SSL_CTX_flush_sessions() Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() ΠΈ SSL_CTX_flush_sessions_ex(), ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ 2038 Π³ΠΎΠ΄Π°.
- ΠΠΆΠΈΠ΄Π°Π²ΡΠ°ΡΡΡ Π² OpenSSL 3.4 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° QIUC Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ°.
Π Π΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° LibreSSL 4.0.0, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΊ OpenSSL, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² SSL/TLS Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π·Π°ΡΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΌΠ΅Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ (ΠΏΠΎΡΠ»Π΅ 3.9 ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡ 4.0). ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Emscripten, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ· C/C++ Π² WebAssembly.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ «openssl cms» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ CRLfile Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΎΡΠΎΠ·Π²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² (CRL), ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ mips32.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ API (ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ). Π£Π΄Π°Π»Π΅Π½Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ΅ΡΠ΅Π²ΡΠΈΡ ΡΠΈΡΡΠΎΠ² Π΄Π»Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ.
- Π£Π΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΎ ΡΠΌΡΡΠ» ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
- Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ X.509v3, ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ X.509v3 ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ X.509v3 API.
- ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΏΠ° CRYPTO_EX_DATA.
- Π libcrypto ΡΡΠ½ΠΊΡΠΈΠΈ atoi() ΠΈ strtol() Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° strtonum().
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» crypto_arch.h, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ½Π΅ΡΠ΅Π½ ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ.
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° DES.
- Π£Π΄Π°Π»Π΅Π½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ pem2.h, ssl2.h, ssl23.h ΠΈ ui_compat.h.
- Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Whirlpool.
- Π£Π΄Π°Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust().
- Π£Π΄Π°Π»Π΅Π½Ρ ΡΠΈΠΏΡ PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD ΠΈ SSL_AEAD_CTX.
- Π libssl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ SSL_CTX_set1_cert_store() ΠΈ SSL_CIPHER_get_handshake_digest().
ΠΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠΏΡΡΠΊ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Botan 3.6.0, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ NeoPG, ΡΠΎΡΠΊΠ΅ GnuPG 2. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ TLS, ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°Ρ X.509, ΡΠΈΡΡΠ°Ρ AEAD, ΠΌΠΎΠ΄ΡΠ»ΡΡ TPM, PKCS#11, Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΠΎΡΡΠΊΠ²Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ (ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ ΡΡΠ° ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ McEliece). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ C++ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° Π½ΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ , ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΊΡΠΈΠ²ΡΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² 2-3 ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ API Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΡΠΈΠ²ΡΠΌΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² NIST Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΡΡΠΊΠ²Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) ΠΈ FIPS 205 SLH-DSA (SPHINCS+).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² TPM2.
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ jitterentropy.
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ base64.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ AVX2-VAES ΠΈ GFNI-AVX2.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ CPU armv7, aarch64 ΠΈ ppc64 Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ OpenBSD.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ±ΠΎΡΠΎΡΠ½Π°Ρ ΠΎΠΏΡΠΈΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ inline-Π²ΡΡΠ°Π²ΠΎΠΊ.
Π Π΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° Rustls 0.23.15, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² TLS1.2 ΠΈ TLS1.3 Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Rustls Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ΠΈ AES256-GCM). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Rustls ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΡΠΈΠΏΡΠΎΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ aws-lc-rs, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Amazon ΠΈ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π‘++ ΠΊΠΎΠ΄Π΅ AWS-LC, ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ½Π½ΠΎΠΌ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° BoringSSL (ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΡΠΉ Google ΡΠΎΡΠΊ OpenSSL). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΡΠΈΠΏΡΠΎΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ring, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° BoringSSL ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΠ°Ρ ΠΊΠΎΠ΄ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, Π‘++ ΠΈ Rust.
ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π£ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² aws-lc-rs Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Rustls ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL ΠΈ BoringSSL Π² ΡΠ΅ΡΡΠ°Ρ , ΠΈΠ·ΠΌΠ΅ΡΡΡΡΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ/Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru