Собственная реализация DTLS 1.2 на языке программирования Go.
Долгосрочная цель — профессиональная проверка безопасности и, возможно, включение в стандартную библиотеку.
Это будет нацелено только на DTLS 1.2 и самые современные/распространенные наборы шифров. Мы будем рады внести вклад в раздел «Планируемые функции» и любые исправления ошибок!
Для этой библиотеки требуется Go как минимум 1.13, и у вас должны быть включены модули Go.
Для сервера DTLS 1.2, который прослушивает 127.0.0.1:4444
go run examples/listen/selfsign/main.go
Для клиента DTLS 1.2, который подключается к 127.0.0.1:4444
go run examples/dial/selfsign/main.go
Pion DTLS может подключаться к себе и 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 также поставляется с примерами обмена ключами через 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 есть активное сообщество в Slack.
Следите за обновлениями проекта и важными новостями WebRTC в Twitter Pion.
Мы всегда рады поддержать ваши проекты . Пожалуйста, обращайтесь, если у вас есть что построить! Если вам нужна коммерческая поддержка или вы не хотите использовать общедоступные методы, вы можете связаться с нами по адресу [email protected].
Посетите вики-сайт, чтобы присоединиться к группе замечательных людей, которые сделали этот проект возможным.
Лицензия MIT — полный текст см. в ЛИЦЕНЗИИ.