From f5a85e9764c7b69d28fdecc999e77d5c0b12ecff Mon Sep 17 00:00:00 2001 From: Eric Chiang Date: Tue, 28 Jun 2016 10:37:03 -0700 Subject: [PATCH] *: update go-oidc to shorten length of key IDs --- glide.lock | 6 +++--- glide.yaml | 2 +- vendor/github.com/coreos/go-oidc/key/key.go | 14 +++++++------- vendor/github.com/coreos/go-oidc/key/key_test.go | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/glide.lock b/glide.lock index e8341037..c4f5fb61 100644 --- a/glide.lock +++ b/glide.lock @@ -1,10 +1,10 @@ -hash: ed84ba1c371faf2f9a0bf64f6a7767a017e663cb99afa273ec5659432bb474d5 -updated: 2016-06-28T10:15:56.223659517-07:00 +hash: 2e6ef5ae85fe17d9b695b37ba6875b438a617692cc1f6fefc682c4e405a4dcf1 +updated: 2016-06-28T10:36:39.146887182-07:00 imports: - name: github.com/andybalholm/cascadia version: 6122e68c2642b7b75c538a63b15168c6c80fb757 - name: github.com/coreos/go-oidc - version: 8ae400b75540a4f57ec549a89b3e9d994c636f2a + version: 5aa9381f6e998aa16cc96b4347d33dcc29792864 subpackages: - http - jose diff --git a/glide.yaml b/glide.yaml index 1c66c9a2..a6646213 100644 --- a/glide.yaml +++ b/glide.yaml @@ -5,7 +5,7 @@ import: - package: github.com/andybalholm/cascadia version: 6122e68c2642b7b75c538a63b15168c6c80fb757 - package: github.com/coreos/go-oidc - version: 8ae400b75540a4f57ec549a89b3e9d994c636f2a + version: 5aa9381f6e998aa16cc96b4347d33dcc29792864 subpackages: - http - jose diff --git a/vendor/github.com/coreos/go-oidc/key/key.go b/vendor/github.com/coreos/go-oidc/key/key.go index d0142a9e..208c1fc1 100644 --- a/vendor/github.com/coreos/go-oidc/key/key.go +++ b/vendor/github.com/coreos/go-oidc/key/key.go @@ -3,9 +3,9 @@ package key import ( "crypto/rand" "crypto/rsa" - "encoding/base64" + "encoding/hex" "encoding/json" - "math/big" + "io" "time" "github.com/coreos/go-oidc/jose" @@ -139,15 +139,15 @@ func GeneratePrivateKey() (*PrivateKey, error) { if err != nil { return nil, err } + keyID := make([]byte, 20) + if _, err := io.ReadFull(rand.Reader, keyID); err != nil { + return nil, err + } k := PrivateKey{ - KeyID: base64BigInt(pk.PublicKey.N), + KeyID: hex.EncodeToString(keyID), PrivateKey: pk, } return &k, nil } - -func base64BigInt(b *big.Int) string { - return base64.URLEncoding.EncodeToString(b.Bytes()) -} diff --git a/vendor/github.com/coreos/go-oidc/key/key_test.go b/vendor/github.com/coreos/go-oidc/key/key_test.go index 7ca140ad..d68a61f0 100644 --- a/vendor/github.com/coreos/go-oidc/key/key_test.go +++ b/vendor/github.com/coreos/go-oidc/key/key_test.go @@ -87,3 +87,17 @@ func TestPublicKeyMarshalJSON(t *testing.T) { t.Errorf("got != want:\n%s\n%s", got, want) } } + +func TestGeneratePrivateKeyIDs(t *testing.T) { + key1, err := GeneratePrivateKey() + if err != nil { + t.Fatalf("GeneratePrivateKey(): %v", err) + } + key2, err := GeneratePrivateKey() + if err != nil { + t.Fatalf("GeneratePrivateKey(): %v", err) + } + if key1.KeyID == key2.KeyID { + t.Fatalf("expected different keys to have different key IDs") + } +}