Implementação nativa de DTLS 1.2 na linguagem de programação Go.
Um objetivo de longo prazo é uma revisão de segurança profissional e talvez uma inclusão no stdlib.
Isso terá como alvo apenas o DTLS 1.2 e os conjuntos de criptografia mais modernos/comuns. Adoraríamos contribuições que se enquadrassem nos 'Recursos planejados' e quaisquer correções de bugs!
Esta biblioteca precisa de pelo menos Go 1.13 e você deve ter os módulos Go habilitados.
Para um servidor DTLS 1.2 que escuta em 127.0.0.1:4444
go run examples/listen/selfsign/main.go
Para um cliente DTLS 1.2 que se conecta a 127.0.0.1:4444
go run examples/dial/selfsign/main.go
O Pion DTLS pode se conectar a si mesmo e ao 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 também vem com exemplos que fazem troca de chaves 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 tem uma comunidade ativa no Slack.
Siga o Twitter do Pion para atualizações do projeto e notícias importantes do WebRTC.
Estamos sempre buscando apoiar seus projetos . Entre em contato se você tiver algo para construir! Se precisar de suporte comercial ou não quiser usar métodos públicos, entre em contato conosco pelo e-mail [email protected]
Confira o wiki de contribuição para se juntar ao grupo de pessoas incríveis que tornam este projeto possível
Licença MIT - consulte LICENÇA para texto completo