เปเบกเบเบนเบ crypto-gost-tls13 เบเบฐเบเบญเบเบกเบตเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบ TLS 1.3 (RFC 8446 + RFC 9367) เบเปเบงเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ GOST. เบฅเบธเปเบเบเบตเปเปเบกเปเบเบฅเบธเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบญเบเบซเปเบญเบเบชเบฐเปเบธเบ เปเบฅเบฐ เบเปเบญเบกเบชเบณเบฅเบฑเบเบเบฒเบเบเบณเปเบเปเบเบฒเบเปเบ.
เบฅเบฑเบเบชเบฐเบเบฐเบเบดเปเบชเบเบเบญเบเบซเปเบญเบเบชเบฐเปเบธเบเปเบกเปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบ Java เบเบตเปเบเปเบฅเบดเบชเบธเบ. เบเบฒเบเบเบณเปเบเบตเบเบเบฒเบเบฅเบฐเบซเบฑเบเบฅเบฑเบเบเบฑเบเปเบปเบเปเบกเปเบเบเบฐเบเบดเบเบฑเบเปเบเบเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเบดเบเบเบฑเปเบเบกเบฒเบเปเบญเบกเบเบญเบเบซเปเบญเบเบชเบฐเปเบธเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฒเบเบเบญเบ.
เบเบตเปเปเบกเปเบเปเบถเปเบเปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเปเบซเบผเปเบเปเบเบตเบเบเบณเบญเบดเบเบเบญเบ TLS 1.3 เบเปเบงเบ GOST เปเบ Java, เบชเบฐเบเบฑเปเบเบเบฒเบเบเบปเบเบชเบญเบ interop เบเบถเปเบเปเบเปเปเบฎเบฑเบเปเบเบเบญเบเปเบเบเบเบตเปเปเปเบญเบเบเบตเปเบชเบธเบเปเบเบปเปเบฒเบเบตเปเบเบฐเปเบเบฑเบเปเบเปเบเป.
เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบซเปเบชเบฐเปเบธเบ.
- เปเบเปเบเบเบญเบ:
- เบเบฒเบเบเบฑเบเบกเบท: เปเบเบฑเบก (เบฅเบนเบเบเปเบฒ/เปเบเบตเบเปเบงเบต), เบชเบฑเปเบ (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 เบเบทเบเปเปเปเบเปเปเบเบฑเบเบเบถเบ โ เบเบฒเบเบเปเบฝเบเบฅเบฐเบซเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบชเบณเบฅเบฑเบเปเบเปเบฅเบฐเบเบฑเบเบเบถเบ TLS.
- เบเบฒเบเปเบเบเบชเปเบงเบ เปเบฅเบฐ เบเบฒเบเบเบฐเบเบญเบเบเบทเบเปเปเปเบเบญเบเบเบฒเบเบเบฑเบเบกเบท เปเบฅเบฐ เบเบฑเบเบเบถเบ (RFC 8446 ยง5.1).
- เบเบฒเบเบชเบทเบเบเปเปเปเบเบเบเบฑเบ: PSK เบเปเบฒเบ NewSessionTicket (PskStore เปเบเปเปเบงเบเบเบงเบฒเบกเบเบณ, เปเบเปเบเบฑเปเบเบเบฝเบง).
- เบเบฒเบเบเปเป OCSP: server เปเบเบตเปเบกเบเบฒเบเบเบญเบเบชเบฐเปเบญเบ 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.เบเปเบฒเปเบซเบเปเบ:
- TlsTransport - เบญเบดเบเปเบเบตเปเบเบ.
- InMemoryTlsTransport - เบชเบณเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ เปเบฅเบฐ เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบฝเบง (เบเบดเบงเปเบเปเปเบงเบเบเบงเบฒเบกเบเบณ).
- SocketTlsTransport โ เบเบฅเบฑเบญเบ I/O เบเปเบฒเบ java.net.Socket.
- ChannelTlsTransport - เบเบฒเบเบเบปเบเบชเบปเปเบเบเบตเปเบญเบตเบเปเบชเปเบเปเบญเบ NIO (เปเปเบเบเบฒเบเบเบฅเบฑเบญเบ, เบชเบฒเบกเบฒเบเบเบฑเบเบเบงเบฒเบเปเบเป).
- เบเบฒเบเบเบฑเบเบกเบทเปเบเบเปเบเบทเปเบญเบฅเบฐเบเบฑเปเบเบเบญเบ:
- TlsHandshakeEngine เปเบเบฑเบเปเบเบทเปเบญเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบกเบท (เปเบเบเบญเบญเบเบเบฒเบ I/O). เบกเบฑเบเปเบเป TlsSession เปเบเบฑเบเบเบปเบงเบเบงเบเบเบธเบก เปเบฅเบฐ เปเปเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ JSSE (SSLEngine).
- API ByteBuffer:
- TlsRecord.protect/unprotect โ เบเบฒเบเปเบซเบผเบ ByteBuffer เปเบเบตเบเบชเบณเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ zero-copy เบเบฑเบ NIO. เบเบณเบฅเบฑเบเปเบซเบผเบเบเบฐเปเบ:
- Pkcs12Loader โ เบเบณเบฅเบฑเบเบญเปเบฒเบ PFX (PKCS#12) เบเปเบงเบ PBKDF2-HMAC-SHA256 + AES-256-CBC.
- เบชเบดเปเบเบชเบธเบเบเบญเบเบเบฐเบเบธเบก:
- close_notify - เบเบฒเบเบเบดเบเบเบตเปเบเบทเบเบเปเบญเบเบเบฒเบกเปเบเปเบเบเบญเบ.
- เบเบฒเบเปเบเบฑเบเบงเบฑเบเบชเบฐเบเบธเบเบฐเปเบเปเบกเบทเปเบญเบเบดเบ เบซเบผเบท เปเบฎเบฑเบเบเบดเบเบเบฒเบ.
- เบเบฒเบเปเบเปเบเปเบเบทเบญเบเบเบฒเบเบเบฑเบเบเบฒเบ: เบฎเปเบฒเบเปเบฎเบ - เบเบดเบเบเบฑเบเบเบต + เบฅเบถเบ.
- เบเบงเบฒเบกเบเบญเบเปเบเปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบ:
- เบเบฒเบเบเบฝเบเบเบฝเบเปเบเบเบเบปเบเบเบตเปเบชเบณเบฅเบฑเบ verify_data เปเบฅเบฐ PSK binders (เบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบกเบเบตเปเบเบเบเบณเบเบปเบเปเบงเบฅเบฒ)
- เบเบฒเบเบฅเบถเบเบเปเปเบกเบนเบเปเบญเบเบฐเบชเบฒเบเบเบฐเปเบ: 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).
- เบเบฒเบเบเบปเบเบชเบญเบ:
- เบซเปเบญเบเบชเบฐเปเบธเบเบเบฐเบเบญเบเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบเบณเบเบญเบเบเบตเปเบฎเบนเปเบเบฑเบเบเบฒเบ RFC 9367 เบเบฒเบเบเบฐเบเบงเบ A.1 (เบเบปเบงเปเบ L เปเบฅเบฐ S) - เบเบฒเบเบฐเบฅเบฒเบเบเบณเบชเบฑเบเปเบเบฑเบก, TLSTREE, AEAD, เปเบฅเบฐ ECDHE. เบกเบฑเบเบเบฑเบเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ KAT เบเบธเบเบฅเบฐเบเบฑเบ.
- เบเบฒเบเบเบปเบเบชเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ 4 เบเบฑเปเบ (เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบฎเปเบงเบกเบเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ) เบเปเบฒเบเบเบฑเบญเบเปเบเบฑเบ TCP เบเบปเบงเบเบดเบ.
- เบเบฒเบเบเบปเบเบชเบญเบ Fuzz เบชเบณเบฅเบฑเบเบเบปเบงเบงเบดเปเบเบฒเบฐ: TlsMessageParser (8 เบงเบดเบเบต), TlsDerParser (3 เบงเบดเบเบต), TlsOcspVerifier (1 เบงเบดเบเบต), เปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเบญเบเปเบ เปเบฅเบฐ เบซเบผเบธเบเบเปเบญเบเปเบงเบฑเบเปเบเบตเบเบฒเบเปเบเบกเบเบตเปเบเบเบปเบงเบงเบดเปเบเบฒเบฐ.
- เบงเบดเบเบตเปเบเปเปเบเบเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณ:
- TlsHandshakeEngine - เปเบเบทเปเบญเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบทเบเปเบเบเบญเบญเบเบเบฒเบ I/O (เบชเบณเบฅเบฑเบเปเบกเบเบนเบ JSSE เปเบเบญเบฐเบเบฒเบเบปเบ).
- เบเบฒเบเปเบซเบผเบ ByteBuffer เบเบญเบ TlsRecord.protect/unprotect เบชเบณเบฅเบฑเบ NIO/JSSE.
- เปเบเบช TLSTREE (TlsTreeCache) - เบเบฒเบเบเบดเบเปเบฅเปเบเบทเบเปเปเปเบเบญเบเบฅเบฐเบเบฑเบเบเบตเปเบเปเบฝเบเปเบเบเปเบเบปเปเบฒเบเบฑเปเบ (RFC 9367).
- InMemoryTlsTransport.Pair เปเบเบฑเบเบเบนเปเบชเบญเบเบเบดเบเบเบฒเบเบชเบณเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ เปเบฅเบฐ เบเบฒเบเบชเบทเปเบชเบฒเบเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบฝเบง.
เบซเปเบชเบฐเปเบธเบเบเบตเปเบเบทเบเปเบเบเบขเบฒเบเบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบเบเบฃเบต.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: linux.org.ru
