2 Commits

Author SHA1 Message Date
e7072ccdb3 Migrate to namespace forge.cadoles.com/Cadoles/go-http-peering 2019-10-16 11:18:34 +02:00
dab91eea29 Fix client token generation
- Set NotBefore timestamp one minute in the past to prevent false
negative checks
- Set NotAfter timestamp 5 minutes to the future
2019-05-10 14:20:01 +02:00
18 changed files with 46 additions and 44 deletions

View File

@ -26,7 +26,7 @@ sd-%:
goseq doc/sequence-diagram/$*.seq > doc/sequence-diagram/$*.svg goseq doc/sequence-diagram/$*.seq > doc/sequence-diagram/$*.svg
doc: doc:
@echo "open your browser to http://localhost:6060/pkg/forge.cadoles.com/wpetit/go-http-peering to see the documentation" @echo "open your browser to http://localhost:6060/pkg/forge.cadoles.com/Cadoles/go-http-peering to see the documentation"
godoc -http=:6060 godoc -http=:6060
bin/keygen: bin/keygen:

View File

@ -2,7 +2,7 @@
Librairie implémentant un protocole d'authentification par "appairage" d'un serveur et client HTTP basé sur [JWT](https://jwt.io/). Librairie implémentant un protocole d'authentification par "appairage" d'un serveur et client HTTP basé sur [JWT](https://jwt.io/).
[Documentation](https://godoc.org/forge.cadoles.com/wpetit/go-http-peering) [Documentation](https://godoc.org/forge.cadoles.com/Cadoles/go-http-peering)
## Séquences ## Séquences

View File

@ -3,8 +3,8 @@ package chi
import ( import (
"crypto/rsa" "crypto/rsa"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
"forge.cadoles.com/wpetit/go-http-peering/server" "forge.cadoles.com/Cadoles/go-http-peering/server"
"github.com/go-chi/chi" "github.com/go-chi/chi"
) )

View File

@ -3,9 +3,9 @@ package chi
import ( import (
"testing" "testing"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"forge.cadoles.com/wpetit/go-http-peering/memory" "forge.cadoles.com/Cadoles/go-http-peering/memory"
"github.com/go-chi/chi" "github.com/go-chi/chi"
) )

View File

@ -9,11 +9,11 @@ import (
"net/http" "net/http"
"time" "time"
"github.com/dgrijalva/jwt-go" jwt "github.com/dgrijalva/jwt-go"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"forge.cadoles.com/wpetit/go-http-peering/server" "forge.cadoles.com/Cadoles/go-http-peering/server"
) )
var ( var (
@ -153,8 +153,8 @@ func (c *Client) addClientToken(r *http.Request, body []byte) error {
token := jwt.NewWithClaims(jwt.SigningMethodRS256, peering.ClientTokenClaims{ token := jwt.NewWithClaims(jwt.SigningMethodRS256, peering.ClientTokenClaims{
StandardClaims: jwt.StandardClaims{ StandardClaims: jwt.StandardClaims{
NotBefore: time.Now().Unix(), NotBefore: time.Now().Add(time.Minute * -1).Unix(),
ExpiresAt: time.Now().Add(time.Minute * 10).Unix(), ExpiresAt: time.Now().Add(time.Minute * 5).Unix(),
}, },
BodySum: bodySum, BodySum: bodySum,
}) })

View File

@ -5,9 +5,9 @@ import (
"crypto/rsa" "crypto/rsa"
"testing" "testing"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
) )
func TestClientPeerID(t *testing.T) { func TestClientPeerID(t *testing.T) {

View File

@ -3,7 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
) )
func createKey() { func createKey() {

View File

@ -3,9 +3,9 @@ package main
import ( import (
"fmt" "fmt"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
) )
func createToken() { func createToken() {

View File

@ -3,7 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
) )
func getPublicKey() { func getPublicKey() {

View File

@ -12,7 +12,7 @@ import (
"os" "os"
"syscall" "syscall"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"golang.org/x/crypto/ssh/terminal" "golang.org/x/crypto/ssh/terminal"
) )

View File

@ -5,7 +5,7 @@ import (
"crypto/rsa" "crypto/rsa"
"time" "time"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
jwt "github.com/dgrijalva/jwt-go" jwt "github.com/dgrijalva/jwt-go"
) )

4
go.mod
View File

@ -1,4 +1,4 @@
module forge.cadoles.com/wpetit/go-http-peering module forge.cadoles.com/Cadoles/go-http-peering
require ( require (
github.com/davecgh/go-spew v1.1.1 github.com/davecgh/go-spew v1.1.1
@ -8,3 +8,5 @@ require (
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 // indirect golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 // indirect
) )
go 1.13

View File

@ -4,7 +4,7 @@ import (
"sync" "sync"
"time" "time"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
) )
type Store struct { type Store struct {

View File

@ -7,8 +7,8 @@ import (
"net/http" "net/http"
"time" "time"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
) )
var ( var (

View File

@ -10,9 +10,9 @@ import (
"io/ioutil" "io/ioutil"
"time" "time"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
jwt "github.com/dgrijalva/jwt-go" jwt "github.com/dgrijalva/jwt-go"
"net/http" "net/http"

View File

@ -5,13 +5,13 @@ import (
"testing" "testing"
"time" "time"
"forge.cadoles.com/wpetit/go-http-peering/client" "forge.cadoles.com/Cadoles/go-http-peering/client"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"forge.cadoles.com/wpetit/go-http-peering/memory" "forge.cadoles.com/Cadoles/go-http-peering/memory"
"forge.cadoles.com/wpetit/go-http-peering/server" "forge.cadoles.com/Cadoles/go-http-peering/server"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
) )
func TestAdvertise(t *testing.T) { func TestAdvertise(t *testing.T) {

View File

@ -3,11 +3,11 @@ package test
import ( import (
"testing" "testing"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
"forge.cadoles.com/wpetit/go-http-peering/client" "forge.cadoles.com/Cadoles/go-http-peering/client"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"forge.cadoles.com/wpetit/go-http-peering/memory" "forge.cadoles.com/Cadoles/go-http-peering/memory"
"forge.cadoles.com/wpetit/go-http-peering/server" "forge.cadoles.com/Cadoles/go-http-peering/server"
) )
func TestPing(t *testing.T) { func TestPing(t *testing.T) {

View File

@ -5,12 +5,12 @@ import (
"testing" "testing"
"time" "time"
peering "forge.cadoles.com/wpetit/go-http-peering" peering "forge.cadoles.com/Cadoles/go-http-peering"
"forge.cadoles.com/wpetit/go-http-peering/client" "forge.cadoles.com/Cadoles/go-http-peering/client"
"forge.cadoles.com/wpetit/go-http-peering/crypto" "forge.cadoles.com/Cadoles/go-http-peering/crypto"
peeringCrypto "forge.cadoles.com/wpetit/go-http-peering/crypto" peeringCrypto "forge.cadoles.com/Cadoles/go-http-peering/crypto"
"forge.cadoles.com/wpetit/go-http-peering/memory" "forge.cadoles.com/Cadoles/go-http-peering/memory"
"forge.cadoles.com/wpetit/go-http-peering/server" "forge.cadoles.com/Cadoles/go-http-peering/server"
) )
func TestUpdate(t *testing.T) { func TestUpdate(t *testing.T) {