ะะพะดัะปั ืงืจืืคืื-ืืืกื-tls13 ืืืื ืืช ืืืืืืฉ TLS 1.3 (RFC 8446 + RFC 9367) ืขื ืงืจืืคืืืืจืคืื GOST. ืืืืืจื ืื ืืื ืืืจืกื ืืจืืฉืื ืืช ืฉื ืืกืคืจืืื ืืืื ืืืื ื ืืฉืืืืฉ ืคื ืืื.
ืืืคืืื ืืืืืื ืฉื ืืกืคืจืืื ืืื ืืืฉืื ื'ืืืื ืืืืจ ืฉืื. ืื ืคืขืืืืช ืืงืจืืคืืืืจืคืื ืืืืฆืขืืช ืืืืฆืขืืช ืืืืื ืืืืื ืื ืฉื ืืกืคืจืืื, ืืื ืชืืืช ืืืฆืื ืืช.
ืืื ืืื ืืืืืืืฉืื ืืจืืฉืื ืื ืืงืื ืคืชืื ืฉื TLS 1.3 ืขื GOST ื-Java, ืื ืฉืืืืงืืช ืืื ืืจืืค ืืืฆืขื ืืืืื ืืืื ืืืืืช ืืืคืฉืจืืช.
ืืืื ืืืืืืช ืืกืคืจืืื.
- ืคืจืืืืงืืืื:
- ืืืืฆืช ืื: ืืืื (ืืงืื/ืฉืจืช), ืงืฆืจื (PSK), ืืืืืช (mTLS).
- ALPN (RFC 7301) - ืืฉื ืืืชื ืขื ืคืจืืืืงืื ืฉืืืช ืืืืฉืืืื (HTTP/2, HTTP/1.1).
- SNI (RFC 6066) - ืฆืืื ืฉื ืฉืจืช ืขืืืจ ืคืจืืกืืช ืืจืืืืช ืืืืจืื.
- ืขืืืื ืืคืชืืืช (RFC 8446 ยง4.6.3) โ ืขืืืื ืืคืชืืืช ืืฆืคื ืช ืชืขืืืจื.
- ืกืืืืืืช ืฆืืคื: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- ECDHE: CryptoPro-A (256 ืกืืืืืช), CryptoPro-B (512 ืกืืืืืช)
- ืืงืืืืช ืืืืฉ ืฉื TLS ืืื ืจืฉืืื - ืฉืื ืื ืืคืชื ืืืฆืคื ื ืขืืืจ ืื ืจืฉืืืช TLS.
- ืคืืฆืื ืืืจืืื ืืืืฉ ืฉื ืืืืฆืืช ืื ืืจืฉืืืืช (RFC 8446 ยง5.1).
- ืืืืืฉ ืกืฉื: PSK ืืจื NewSessionTicket (PskStore ืืืืืจืื, ืืฉืืืืฉ ืื ืคืขืื).
- ืืืืืง OCSP: ืฉืจืช ืืฆืจืฃ ืืช ืชืืืืช ื-OCSP ืืชืขืืื.
- ืืืืขืืช ืืืืจ ืืืืฆืช ืื: NewSessionTicket (ืฉืืืจ ืขืืืจ PSK).
- ืงืจืืคืืืืจืคืื:
- ืืื ืืื ืื ืืจืืื: HKDF-Streebog (RFC 5869) ืืขื TLS 1.3 (RFC 8446 ยง7.1).
- ืืื ืช ืจืฉืืื: MGM-AEAD (Kuznyechik) ืขื nonce ืืคื RFC 8446 ยง5.3.
- ืืคืชืืืช ืืจืขืืื ื ืืืงืื ืืืืจ ืืฉืืืืฉ.
- ืชืขืืืืช:
- ื ืืชืื X.509v3 (GOST R 34.10-2012) - ืื ืชื DER ืืืื ื.
- ืฉืจืฉืจืช ืืืืืช: ืืชืืืืช, DN (ืื ืคืืง โ ื ืืฉื), ืืืืืฆืื ืืกืืกืืื, ืฉืืืืฉ ืืืคืชื, ืฉืืืืฉ ืืืจืื ืืืคืชื * (serverAuth / clientAuth), pathLen.
- ืืืืงืช ืฉื ืืืจื: dNSName + iPAddress (RFC 6125).
- ืืืืืช ืชืืืืืช OCSP (RFC 6960).
4.ืืชื you
- TlsTransport - ืืืฉืง.
- InMemoryTlsTransport - ืขืืืจ ืืืืงืืช ืืชืจืืืฉืื ืฉื ืชืืืื ืืืื (ืชืืจ ืืืืืจืื).
- SocketTlsTransport โ ืืกืืืช ืงืื/ืคืื ืืจื java.net.Socket.
- ChannelTlsTransport - NIO Socketโ ืชืขืืืจื ืืืืกืกืช ืขืจืืฅ (ืืฆื ืืกืืื, ื ืืชื ืืืคืกืงื).
- ืืืืฆืช ืื ืฉืื ืืืจ ืฉืื:
- TlsHandshakeEngine ืืื ืืืื ืช ืืฆืืื ืืืืืฆืช ืื (ืื ืืชืงืช ืืงืื/ืคืื). ืืื ืืฉืชืืฉืช ื-TlsSession ืืืชืืืจ ืืืชืืืื ืืฉืืืื ืขื JSSE (SSLEngine).
- ืืืฉืง API ืฉื ByteBuffer:
- 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), ืืกืืืจื, ืืชืจืื ืืืืจื, ืืจืืื ืืืืืฆืช ืื
- ืืื ืช DoS: ืืืืืืช ืขื ืืืจื ืฉืจืฉืจืช ืืืฉืืจืื (10), ืืืืขืืช ืืืืจ ืืืืฆืช ืื, ืืืื ืจืฉืืื.
- MGM nonce: ื-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 ืืื ื ื ืชืืืืช).
- ืืืืงื:
- ืืกืคืจืืื ืืืืื ืืืื ื ืชืฉืืืืช ืืืืขืืช ืื ืกืคื A.1 ืฉื RFC 9367 (ืืจืืื ืืื L ื-S) - ืืื ืืืคืชืืืช ืืืื, TLSTREE, AEAD ื-ECDHE. ืืื ืื ืขืืืจืช ืืช ืืืื ืืืืื ืืืื ื KAT.
- 4 ืืืืงืืช ืืื ืืืจืฆืื (ืืื ืืจืืค ืขืฆืื) ืืจื ืฉืงืขื TCP ืืืืชืืื.
- ืืืื ื Fuzz ืขืืืจ ืื ืชืืื: TlsMessageParser (8 ืฉืืืืช), TlsDerParser (3 ืฉืืืืช), TlsOcspVerifier (ืฉืืื ืืืช), ืืื ืืืืืื ืืืืื ืืืืคืืืช ืืช ืืงืืืจ ืืชืงืืคื ืขื ืื ืชืืื.
- ืคืชืจืื ืืช ืืืจืืืืืื:
- TlsHandshakeEngine - ืืืื ืช ืืฆืืื ืื ืืชืงืช ืืงืื/ืคืื (ืขืืืจ ืืืืื JSSE ืขืชืืื).
- ืขืืืกื ByteBuffer ืฉื TlsRecord.protect/unprotect ืขืืืจ NIO/JSSE.
- ืืืืื TLSTREE โ(TlsTreeCache) - ืืืฉืื ืืืืฉ ืฉื ืจืืืช ืฉืืฉืชื ื ืืืื (RFC 9367).
- InMemoryTlsTransport.Pair ืืื ืืื ืื-ืืืืื ื ืขืืืจ ืืืืงืืช ืืชืงืฉืืจืช ืืื ืชืืืื ืืืื.
ืืกืคืจืืื ืืืคืฆืช ืชืืช ืจืืฉืืื ืืืคืฉื.
ืืงืืจ: linux.org.ru
