Implémentation native de DTLS 1.2 dans le langage de programmation Go.
Un objectif à long terme est un examen de sécurité professionnel, et peut-être une inclusion dans stdlib.
Cela ciblera uniquement DTLS 1.2 et les suites de chiffrement les plus modernes/communes. Nous serions ravis des contributions relevant des « Fonctionnalités prévues » et de toute correction de bug !
Cette bibliothèque nécessite au moins Go 1.13 et les modules Go doivent être activés.
Pour un serveur DTLS 1.2 qui écoute sur 127.0.0.1:4444
go run examples/listen/selfsign/main.go
Pour un client DTLS 1.2 qui se connecte à 127.0.0.1:4444
go run examples/dial/selfsign/main.go
Pion DTLS peut se connecter à lui-même et à 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
Pion DTLS est également livré avec des exemples d'échange de clés via PSK
go run examples/listen/psk/main.go
go run examples/dial/psk/main.go
// Use with examples/dial/psk/main.go
openssl s_server -dtls1_2 -accept 4444 -nocert -psk abc123 -cipher PSK-AES128-CCM8
// Use with examples/listen/psk/main.go
openssl s_client -dtls1_2 -connect 127.0.0.1:4444 -psk abc123 -cipher PSK-AES128-CCM8
Pion a une communauté active sur Slack.
Suivez le Twitter de Pion pour les mises à jour du projet et les nouvelles importantes du WebRTC.
Nous cherchons toujours à soutenir vos projets . N'hésitez pas à nous contacter si vous avez quelque chose à construire ! Si vous avez besoin d'une assistance commerciale ou si vous ne souhaitez pas utiliser de méthodes publiques, vous pouvez nous contacter à [email protected]
Consultez le wiki contributeur pour rejoindre le groupe de personnes extraordinaires qui rendent ce projet possible
Licence MIT - voir LICENCE pour le texte intégral