ΠΠ΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°ΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° wolfSSL 5.1.0, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ IoT ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΡΠ΅ΡΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv2.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 ΠΈ DTLS 1.2, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ° 20 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΠΎΡ OpenSSL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅. Π’ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΊΠ°ΠΊΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΠΏΡΠΎΡΡΠ΅Π½ API, ΡΠ°ΠΊΠ° ΠΈ ΡΠ»ΠΎΠΉ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ OpenSSL API. ΠΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° OCSP (ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΡΡΠ°ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ) ΠΈ CRL (Π‘ΠΏΠΈΡΡΠΊ Π·Π° Π°Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ) Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π°Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π² wolfSSL 5.1.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ: NXP SE050 (Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Curve25519) ΠΈ Renesas RA6M4. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° TSIP 65 (Trusted Secure IP) Π·Π° Renesas RX72N/RX1.14N.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΠΎΡΡΠΊΠ²Π°Π½ΡΠΎΠ²Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ Π² ΠΏΠΎΡΡΠ° Π·Π° http ΡΡΡΠ²ΡΡΠ° Apache. ΠΠ° 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_CTX_clear_mode, SSL_CONF_cmd_value_type, SSL_read_early_ Π΄Π°Π½Π½ΠΈ, SSL_write_early_data Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΠΊΠΎΠ΄Π° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ OpenSSL.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΊΠΎΡΡΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° AES-CCM.
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ°ΠΊΡΠΎΡ WOLFSSL_CUSTOM_OID Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ OID Π·Π° CSR (Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ°Π½ΠΈ ECC ΡΠΈΠ³Π½Π°ΡΡΡΠΈ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΠΎΡ ΠΌΠ°ΠΊΡΠΎΡΠ° FSSL_ECDSA_DETERMINISTIC_K_VARIANT.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ wc_GetPubKeyDerFromCert, wc_InitDecodedCert, wc_ParseCert ΠΈ wc_FreeDecodedCert.
- ΠΠ²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΈΠΌ Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎΡΡ. ΠΡΡΠ²Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° DoS Π°ΡΠ°ΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° MITM Π°ΡΠ°ΠΊΠ° Π½Π° TLS 1.2 Π²ΡΡΠ·ΠΊΠ°. ΠΡΠΎΡΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° wolfSSL ΠΏΡΠΎΠΊΡΠΈ ΠΈΠ»ΠΈ Π²ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΡΡΠ»Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΡΠΏΡΡΠΌΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru