ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π΅ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° wolfSSL 5.1.0, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π½Π΅ΡΠ°ΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ΅Π½ Π΄ΠΎΠΌ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΡΠ΅ΡΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠΈΡΡΠ° GPLv2.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 ΠΈ DTLS 1.2, ΠΊΠΎΠΈΡΠΎ, ΡΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΡΠ° 20 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° OpenSSL. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΊΠ°ΠΊΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΎΠΏΡΠΎΡΡΠ΅Π½ΠΎ API, ΡΠ°ΠΊΠ° ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ API OpenSSL. ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΡ ΡΠ΅ 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).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΠΎΡΡΠΊΠ²Π°Π½ΡΠΎΠ²Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ Π² ΠΏΠΎΡΡΠ° Π·Π° http-ΡΠ΅ΡΠ²Π΅ΡΠ° Apache. ΠΠ° TLS 1.3 Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ NIST round 3 FALCON. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠ΅ΡΡΠΎΠ²Π΅ cURL, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ Ρ wolfSSL Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ²Π°Π½ΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ.
- Π ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π΄ΡΡΠ³ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° NGINX 1.21.4 ΠΈ Apache httpd 2.4.51.
- Π ΠΊΠΎΠ΄Π° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ OpenSSL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ»Π°Π³Π° 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_data, SSL_write_early_data.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° callback-ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° AES-CCM.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ°ΠΊΡΠΎΡ WOLFSSL_CUSTOM_OID Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ OID Π·Π° CSR (certificate signing request).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ECC, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Ρ ΠΌΠ°ΠΊΡΠΎΡΠ° FSSL_ECDSA_DETERMINISTIC_K_VARIANT.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ wc_GetPubKeyDerFromCert, wc_InitDecodedCert, wc_ParseCert ΠΈ wc_FreeDecodedCert.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° Π΄Π²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Ρ Π½ΠΈΡΠΊΠ° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΡΡΠ²Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° DoS Π°ΡΠ°ΠΊΠ° Π²ΡΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° MITM Π°ΡΠ°ΠΊΠ° Π½Π° TLS 1.2 Π²ΡΡΠ·ΠΊΠ°. ΠΡΠΎΡΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΊΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° wolfSSL ΠΈΠ»ΠΈ Π²ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΡΡΠ»Π°ΡΠ° Π²Π΅ΡΠΈΠ³Π° Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
