Skip to content

Commit d0dd5a2

Browse files
committedDec 13, 2018
Update README to match pion-WebRTC style
Resolves #22
1 parent bff575d commit d0dd5a2

File tree

2 files changed

+72
-17
lines changed

2 files changed

+72
-17
lines changed
 

‎LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎README.md

+51-17
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,61 @@
1-
Simple Golang DTLS 1.2 implementation, this is a WIP. The intended user is pion-WebRTC, but I would love to see everyone use it.
1+
<h1 align="center">
2+
<br>
3+
Pion DTLS
4+
<br>
5+
</h1>
6+
<h4 align="center">A Go implementation of DTLS</h4>
7+
<p align="center">
8+
<a href="https://sourcegraph.com/github.com/pions/dtls?badge"><img src="https://sourcegraph.com/github.com/pions/dtls/-/badge.svg" alt="Sourcegraph Widget"></a>
9+
<a href="http://gophers.slack.com/messages/pion"><img src="https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen" alt="Slack Widget"></a>
10+
<br>
11+
<a href="https://travis-ci.org/pions/dtls"><img src="https://travis-ci.org/pions/dtls.svg?branch=master" alt="Build Status"></a>
12+
<a href="https://godoc.org/github.com/pions/dtls"><img src="https://godoc.org/github.com/pions/dtls?status.svg" alt="GoDoc"></a>
13+
<a href="https://coveralls.io/github/pions/dtls"><img src="https://coveralls.io/repos/github/pions/dtls/badge.svg" alt="Coverage Status"></a>
14+
<a href="https://goreportcard.com/report/github.com/pions/dtls"><img src="https://goreportcard.com/badge/github.com/pions/dtls" alt="Go Report Card"></a>
15+
<a href="https://www.codacy.com/app/Sean-Der/dtls"><img src="https://api.codacy.com/project/badge/Grade/18f4aec384894e6aac0b94effe51961d" alt="Codacy Badge"></a>
16+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
17+
</p>
18+
<br>
219

3-
My goal is to put this into x/net, but make it available here for now to iterate quickly
20+
Go DTLS 1.2 implementation. The original user is pion-WebRTC, but we would love to see it work for everyone.
21+
22+
A long term goal is a professional security review, and maye inclusion in stdlib.
423

524
# Goals/Progress
625
This will only be targeting DTLS 1.2, and the most modern/common cipher suites.
7-
I am happy to accept contributions for older implementations, but won't be implementing it myself
26+
We would love contributes that fall under the 'Planned Features' and fixing any bugs!
827

928
# Current features
10-
* DTLS 1.2 Client/Server (No DTLS 1.0)
11-
* Forward secrecy using ECDHE; with curve25519 (non-PFS will not be supported)
12-
* AES_128_GCM (More ciphers welcome!)
29+
* DTLS 1.2 Client/Server
30+
* Forward secrecy using ECDHE; with curve25519 and nistp256 (non-PFS will not be supported)
31+
* AES_128_GCM
32+
* Packet loss and re-ordering is handled during handshaking
33+
* Key export (RFC5705)
34+
35+
# Planned Features
36+
* Extended master secret support (RFC7627)
37+
* Chacha20Poly1305
38+
* AES_256_CBC
39+
40+
# Excluded Features
41+
* DTLS 1.0
42+
* Renegotiation
43+
* Compression
44+
45+
# How to use
46+
Pion DTLS can connect to itself and OpenSSL.
47+
48+
## Pion DTLS
49+
For a DTLS 1.2 Server that listens on 127.0.0.1:4444
50+
```sh
51+
go run cmd/listen/main.go
52+
```
53+
54+
For a DTLS 1.2 Client that connects to 127.0.0.1:4444
55+
```sh
56+
go run cmd/dial/main.go
57+
```
1358

14-
# Testing it out
1559
## OpenSSL
1660
```
1761
// Generate a certificate
@@ -26,13 +70,3 @@ I am happy to accept contributions for older implementations, but won't be imple
2670
openssl s_client -dtls1_2 -connect 127.0.0.1:4444 -debug -cert cert.pem -key key.pem
2771
```
2872

29-
## Golang
30-
For a DTLS 1.2 Server that listens on 127.0.0.1:4444
31-
```sh
32-
go run cmd/listen/main.go
33-
```
34-
35-
For a DTLS 1.2 Client that connects to 127.0.0.1:4444
36-
```sh
37-
go run cmd/dial/main.go
38-
```

0 commit comments

Comments
 (0)
Please sign in to comment.