
Implementazione nativa in Go di DTLS 1.2 e 1.3 con scambio di chiavi ECDHE e PSK, cifrari AEAD, connection ID, ripresa della sessione, 0-RTT e Encrypted Client Hello.
Implementazione nativa di DTLS 1.2 e DTLS 1.3 nel linguaggio di programmazione Go.
Un obiettivo a lungo termine è una revisione professionale della sicurezza, e forse un'inclusione nella stdlib.
Pion DTLS supporta DTLS 1.2 e DTLS 1.3. Accogliamo con favore contributi e correzioni di bug.
psk_ke e psk_dhe_ke, con supporto per SHA-256 e SHA-384ResumeWithECH (RFC 9849)Conn.AddPath, Path.Probe e Path.SwitchConn.UpdateKeysLa libreria abilita DTLS 1.2 e DTLS 1.3 per impostazione predefinita, preferendo DTLS 1.3.
Usare WithMaxVersion(protocol.Version1_2) per limitare una connessione a DTLS 1.2,
oppure WithMinVersion(protocol.Version1_3) per richiedere DTLS 1.3.
Per un server DTLS in ascolto su 127.0.0.1:4444
go run examples/listen/selfsign/main.go
Per un client DTLS che si connette a 127.0.0.1:4444
go run examples/dial/selfsign/main.go
Pion DTLS può connettersi a se stesso e a OpenSSL.
// Generate a certificate
openssl ecparam -out key.pem -name prime256v1 -genkey
openssl req -new -sha256 -key key.pem -out server.csr
openssl x509 -req -sha256 -days 365 -in server.csr -signkey key.pem -out cert.pem
// Use with examples/dial/selfsign/main.go
openssl s_server -dtls1_2 -cert cert.pem -key key.pem -accept 4444
// Use with examples/listen/selfsign/main.go
openssl s_client -dtls1_2 -connect 127.0.0.1:4444 -debug -cert cert.pem -key key.pem
DTLS 1.3 supporta la ripresa tramite session ticket con early data 0-RTT opzionale.
La ripresa consente solo psk_dhe_ke (PSK con ECDHE effimero).
L'esempio di ripresa dimostra una prima connessione
autenticata tramite certificato, l'archiviazione cifrata della sessione e le connessioni successive con ripresa
ed early data opzionale. Consulta il suo README per le istruzioni di esecuzione e il requisito
Claim monouso del session store per 0-RTT.
L'API State/Resume supporta anche il ripristino di connessioni DTLS 1.3 stabilite
senza un nuovo handshake. Vedi Resume.
DTLS 1.3 supporta PSK esterni con psk_ke (solo PSK) e psk_dhe_ke
(PSK con ECDHE effimero), usando SHA-256 o SHA-384. I client possono offrire più
identità PSK per handshake tra cui il server può scegliere.