ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ Π΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°ΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° wolfSSL 5.1.0, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π·Π° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π½Π΅ΡΡΠ°ΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠΊΠ°ΡΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°, ΡΡΡΠ΅ΡΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ. ΠΠΎΠ΄ΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊ C ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° GPLv2.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΎ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΈ ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 ΠΈ DTLS 1.2, ΠΊΠΎΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅ 20 ΠΏΠ°ΡΠΈ ΠΏΠΎΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΠΎΠ΄ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΎΠ΄ OpenSSL. ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ API ΠΈ ΡΠ»ΠΎΡ Π·Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ OpenSSL API. ΠΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° OCSP (Online Certificate Status Protocol) ΠΈ CRL (Certificate Revocation List) Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π½Π° wolfSSL 5.1.0:
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°: NXP SE050 (ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Curve25519) ΠΈ Renesas RA6M4. ΠΠ° Renesas RX65N/RX72N, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° TSIP 1.14 (Trusted Secure IP).
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΠΎΡΡ-ΠΊΠ²Π°Π½ΡΠ½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΏΡΠΈΡΡΠ°Π½ΠΈΡΡΠ΅ΡΠΎ Π·Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Apache http. ΠΠ° TLS 1.3, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π΅Π½ ΠΏΠΎΡΠΏΠΈΡ NIST ΠΊΡΡΠ³ 3 FALCON. ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π½Π° cURL ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ wolfSSL Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΡΠΈΠΏΡΠΎ-Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΎΡΠΏΠΎΡΠ½ΠΈ Π½Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΊΠ²Π°Π½ΡΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
- ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ΡΠΎ Π΄ΡΡΠ³ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° NGINX 1.21.4 ΠΈ Apache httpd 2.4.51 Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ ΡΠ»ΠΎΡΠΎΡ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ SSL_OP_NO_TLSv1_2 ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ SSL_CTX_get_max_early_data, SSL_CTX_set_max_early_data, SSL_set_max_early_data, SSL_get_max_early_data, SSL_CON_valde_cmdar _early_data, SSL_write Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ Π·Π° OpenSSL ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ _early_data.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ° Π·Π° ΠΏΠΎΠ²ΡΠ°ΡΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΡ AES-CCM.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΌΠ°ΠΊΡΠΎ WOLFSSL_CUSTOM_OID Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ OID Π·Π° ΠΠΠ (Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΠΏΠΎΡΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ).
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠΊΠΈ ECC ΠΏΠΎΡΠΏΠΈΡΠΈ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΠΎΠ΄ ΠΌΠ°ΠΊΡΠΎΡΠΎ FSSL_ECDSA_DETERMINISTIC_K_VARIANT.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ wc_GetPubKeyDerFromCert, wc_InitDecodedCert, wc_ParseCert ΠΈ wc_FreeDecodedCert.
- ΠΠ²Π΅ ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠΈ ΠΎΡΠ΅Π½Π΅ΡΠΈ ΠΊΠ°ΠΊΠΎ Π½ΠΈΡΠΊΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎΡΡ ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈ. ΠΡΠ²Π°ΡΠ° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° DoS Π½Π°ΠΏΠ°Π΄ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° MITM Π½Π°ΠΏΠ°Π΄ Π½Π° TLS 1.2 ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ°. ΠΡΠΎΡΠ°ΡΠ° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΡΡΠ΅ΠΊΠ½ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π²ΡΠ· ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΎΠΊΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° wolfSSL ΠΈΠ»ΠΈ Π²ΡΡΠΊΠΈ ΡΡΠΎ Π½Π΅ Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π°Ρ ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ±Π° Π²ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru