แแแแฃแแ แแ แแแขแ-แแแกแข-แขแแก13 แจแแแชแแแก แแแแฎแแ แชแแแแแแแก TLS 1.3 (RFC 8446 + RFC 9367) GOST แแ แแแขแแแ แแคแแแ. แแก แแแแแจแแแแ แแแแแแแแแแแก แกแแฌแงแแกแ แแแ แกแแแ แแ แแแแแแ แจแแแ แแแแแงแแแแแแกแแแแก.
แแแแแแแแแแแก แฃแแแแแแฃแ แ แแแฎแแกแแแแแแแแแ แแแกแ แกแฃแคแแ Java แแแแแแแแแขแแชแแ. แงแแแแ แแ แแแขแแแ แแคแแฃแแ แแแแ แแชแแ แกแ แฃแแแแแ แแแแแแแแแแแก แฉแแจแแแแแฃแแ แฎแแแกแแฌแงแแแแแก แแแแแงแแแแแแ, แแแ แ แแแแแแแแแแฃแแแแแแแก แแแ แแจแ.
แแก แแ แแก TLS 1.3-แแก แแ แ-แแ แแ แแแ แแแแ แฆแแ แแแแแก แแแแแแแแแขแแชแแ GOST-แแ Java-แจแ, แแแแขแแ แฃแ แแแแ แแฅแแแแแแแก แขแแกแขแแ แแแ แแแแแแแแฃแ แ แจแแกแแซแแ แแแแแ แฉแแขแแ แแ.
แฅแแแแแ แแแชแแแฃแแแ แแแแแแแแแแแก แจแแกแแซแแแแแแแแแ.
- แแ แแขแแแแแแแ:
- แฎแแแแก แจแแจแแ: แกแ แฃแแ (แแแแแแขแ/แกแแ แแแ แ), แแแแแ (PSK), แแ แแฎแ แแแ (mTLS).
- ALPN (RFC 7301) - แแแแแแแชแแแก แแแแแก แแ แแขแแแแแแก แแแแแแแ แแแแแ (HTTP/2, HTTP/1.1).
- SNI (RFC 6066) - แกแแฎแแแแก แแแแแแแแ แกแแ แแแ แ แแ แแแแแแแแฏแแ แแแแแ แแแแแแแแแแกแแแแก.
- KeyUpdate (RFC 8446 ยง4.6.3) โ แขแ แแคแแแแก แแแจแแคแแ แแก แแแกแแฆแแแแแแก แแแแแฎแแแแ.
- แจแแคแ แฃแแ แแแแแแแฅแขแแแ: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- ECDHE: CryptoPro-A (256-แแแขแแแแ), CryptoPro-B (512-แแแขแแแแ)
- TLSTREE-แแก แฎแแแแฎแแแ แแแกแแฆแแแแก แจแแฅแแแ แแแแแแฃแแ แฉแแแแฌแแ แแกแแแแก โ แแแจแแคแแ แแก แแแกแแฆแแแแก แจแแชแแแ.
- แฎแแแแก แฉแแแแ แแแแแแกแ แแ แฉแแแแฌแแ แแแแก แคแ แแแแแแขแแชแแ แแ แฎแแแแฎแแ แแฌแงแแแ (RFC 8446 ยง5.1).
- แกแแกแแแก แแแแแฎแแแแ: PSK NewSessionTicket-แแก แกแแจแฃแแแแแแ (PskStore แแแฎแกแแแ แแแแจแ, แแ แแฏแแ แแแ).
- OCSP แกแขแแแแแแแ: แกแแ แแแ แแ แกแแ แขแแคแแแแขแก OCSP แแแกแฃแฎแก แฃแแแขแแแก.
- แฎแแแแก แฉแแแแ แแแแแแก แจแแแแแแแ แจแแขแงแแแแแแแแแ: NewSessionTicket (แจแแแแแฎแแ PSK).
- แแ แแแขแแแ แแคแแ:
- แซแแ แแแแแ แแ แแคแแแ: HKDF-Streebog (RFC 5869) TLS 1.3-แแ (RFC 8446 ยง7.1).
- แฉแแแแฌแแ แแก แแแชแแ: MGM-AEAD (แแฃแแแแแฉแแแ) แแแแกแแ RFC 8446 ยง5.3-แแก แจแแกแแแแแแกแแ.
- แแคแแแแ แฃแแ แแแกแแฆแแแแแ แแแแแงแแแแแแก แจแแแแแ แแจแแแแ.
- แกแแ แแแคแแแแขแแแ:
- X.509v3 แแแแฃแจแแแแแ (GOST R 34.10-2012) โ แฉแแจแแแแแฃแแ DER แแแแแแแแขแแ แ.
- แแแแแแแชแแแก แฏแแญแแ: แฎแแแแแฌแแ แแแ, DN (แแแแชแแแ โ แกแแแแฃแ แ), แซแแ แแแแแ แจแแแฆแฃแแแแแ, แแแกแแฆแแแแก แแแแแงแแแแแ, แแแคแแ แแแแแฃแแ แแแกแแฆแแแ * แแแแแงแแแแแ (serverAuth / clientAuth), pathLen.
- แฐแแกแขแแก แกแแฎแแแแก แจแแแแฌแแแแ: dNSName + iPAddress (RFC 6125).
- OCSP แแแกแฃแฎแแแแก แแแ แแคแแแแชแแ (RFC 6960).
4.แขแ แแแกแแแ แขแ:
- TlsTransport - แแแขแแ แคแแแกแ.
- InMemoryTlsTransport - แขแแกแขแแแแกแ แแ แแ แแแ แแชแแกแแแแ แกแชแแแแ แแแแกแแแแก (แแแฎแกแแแ แแแแจแ แแ แกแแแฃแแ แ แแแ).
- SocketTlsTransport โ java.net.Socket-แแก แแแจแแแแแแ แจแแแแแแแ/แแแแแแแแแแ แแ แฎแแแแก แแแแแแแแ.
- ChannelTlsTransport - NIO SocketChannel-แแ แแแคแฃแซแแแแฃแแ แขแ แแแกแแแ แขแ (แแแแแแแแแก แ แแแแแ, แจแแฌแงแแแขแแแ).
- แแขแแแแแ แแแ แฎแแแแก แฉแแแแ แแแแแ:
- TlsHandshakeEngine แแ แแก handshake-แแก แแแแแแแ แแแแแก แแแแฅแแแ (แแแแแงแแคแแแ I/O-แกแแแ). แแก แแงแแแแแก TlsSession-แก แแ แแแกแขแ แแขแแ แแ แแ แแแแแแแแแ JSSE-แกแแแ (SSLEngine) แแแขแแแ แแชแแแกแแแแก.
- ByteBuffer API:
- TlsRecord.protect/unprotect โ ByteBuffer แแแแแขแแแ แแฃแแแ NIO-แกแแแ แแฃแแแแแแ แแกแแแก แแแขแแแ แแชแแแกแแแแก. แแแกแแฆแแแแแแก แฉแแขแแแ แแแ:
- Pkcs12Loader โ PFX-แแก (PKCS#12) แฌแแแแแฎแแ PBKDF2-HMAC-SHA256 + AES-256-CBC-แแ.
- แกแแกแแแก แแแกแแกแ แฃแแ:
- close_notify - แแแฎแฃแ แแแก แกแฌแแ แ แแ แแชแแกแ แแ แแขแแแแแแก แแแฎแแแแแ.
- แแแกแแฆแแแแก แแแกแแแแก แฌแแแแแ แแแฎแฃแ แแแก แแ แจแแชแแแแแก แแแจแแแแแกแแก.
- แแแแฃแจแแแแแแก แแแคแ แแฎแแแแแ: แคแแขแแแฃแ แ - แแแฃแงแแแแแแแแ แแแฎแฃแ แแ + แฌแแจแแ.
- แแแแฎแแ แชแแแแแแแก แฃแกแแคแ แแฎแแแแ:
- verify_data แแ PSK แแแแแแแ แแแแก แแฃแแแแแ แแ แแแก แจแแแแ แแแแแ (แแ แแแก แจแแขแแแแแแกแแแ แแแชแแ)
- แแแกแแฆแแแแก แแแกแแแแก แฌแแจแแ: destroy() แงแแแแ แแแแแฅแขแแ, แ แแแแแกแแช แแฅแแก แแแกแแฆแแแ (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), แแแฎแฃแ แแแกแแก, แคแแขแแแฃแ แ แแแแแแจแแกแแก, แแแแแแแแแแกแแกแแก handshake-แจแ.
- DoS แแแชแแ: แกแแ แขแแคแแแแขแแก แฏแแญแแแก แกแแแ แซแแก (10), แฎแแแแก แฉแแแแ แแแแแแก แจแแแแแแแ แจแแขแงแแแแแแแแแแก, แฉแแแแฌแแ แแก แแแแแก แจแแแฆแฃแแแแแ.
- MGM แแแแชแ: แแแ แแแแ แแแแขแแก MSB แแแฌแแแแแแแแ ICN-แแกแแแแก (RFC 9058 ยง3, RFC 9367 ยง3.3).
- ECDHE-แแก แแแ แแแ แแแกแแฆแแแ แแ แฎแแแแก แจแแฎแแแแก แขแ แแแกแแ แแแขแ แแแแแฃแ แแแแ แฎแแแแก แจแแฎแแแแก แแแกแ แฃแแแแแก แจแแแแแ.
- HMAC แแแกแแฆแแแแก แแแกแแแ แแแแแงแแแแแแก แจแแแแแ แแจแแแแ (HkdfStreebog, KdfGostR3411_2012_256).
- แจแแแฆแฃแแแแแ:
- แแฎแแแแ PSK-แแก แแแแแฎแแแแ (0-RTT แแ แแแ แ PSK แแ แแ แแก แแฎแแ แแแญแแ แแแ).
- แแฎแแแแ psk_dhe_ke (แกแฃแคแแ PSK ECDHE-แก แแแ แแจแ แแ แแ แแก แแฎแแ แแแญแแ แแแ).
- HelloRetryRequest (RFC 8446 ยง4.1.4) แแ แแ แแก แแฎแแ แแแญแแ แแแ - แแแแแแงแแแแแ แแฎแแแแ แแ แแ แแแกแแฎแแแแแฃแแ แฏแแฃแคแ (แแแแฃแแแกแฎแแแแแ GC256A).
- แแฎแแแแ GOST (GOST-แแก แแแ แแจแ แจแแคแ แแแแก แแแแ แแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ).
- แขแแกแขแแ แแแ:
- แแแแแแแแแแ แจแแแชแแแก RFC 9367 แแแแแ แแ A.1-แแแ (L แแ S แแแ แแแแขแแแ) แชแแแแแแ แแแกแฃแฎแแแแก แขแแกแขแแแก โ แกแ แฃแ แแแกแแฆแแแแแแก แแ แแคแแแก, TLSTREE-แก, AEAD-แก แแ ECDHE-แก. แแก แแกแแแ แฌแแ แแแขแแแแ แแแแแก KAT แขแแกแขแแแแก แกแ แฃแ แแแแแแแแแก.
- 4 แแแขแแแ แแชแแแก แขแแกแขแ (แแแแแฃแ แแแแ แแฅแแแแแแ) แ แแแแฃแ แ TCP แกแแแแขแแแแก แแแจแแแแแแ.
- แแแ แกแแ แแแแกแแแแก Fuzz แขแแกแขแแแ: TlsMessageParser (8 แแแแแแ), TlsDerParser (3 แแแแแแ), TlsOcspVerifier (1 แแแแแแ), แฃแกแแคแ แแฎแแแแแก แฃแแ แฃแแแแแกแแงแแคแแ แแ แแแ แกแแ แแแแ แจแแขแแแแก แแแฅแขแแ แแก แจแแกแแแชแแ แแแแแ.
- แแ แฅแแขแแฅแขแฃแ แฃแแ แแแแแฌแงแแแขแแแแแแแ:
- TlsHandshakeEngine - แแแแแแแ แแแแแก แแแแฅแแแ, แแแแแงแแคแแแ แจแแงแแแแแก/แแแแแงแแแแแกแแแ (แแแแแแแแ JSSE แแแแฃแแแกแแแแก).
- TlsRecord.protect/unprotect-แแก ByteBuffer แแแแแขแแแ แแแ NIO/JSSE-แกแแแแก.
- TLSTREE แฅแแจแ (TlsTreeCache) - แแฎแแแแ แจแแชแแแแแ แแแแแแแแก แแแแแแแแ (RFC 9367).
- InMemoryTlsTransport.Pair แแ แแก แแ แแฎแ แแแ แฌแงแแแแ แขแแกแขแแแแกแ แแ แแ แแแ แแชแแกแแแแ แแแแฃแแแแแชแแแกแแแแก.
แแแแแแแแแแ แแ แชแแแแแแ แฃแคแแกแ แแแชแแแแแแ.
แฌแงแแ แ: linux.org.ru
