forked from MicahParks/keyfunc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathecdsa_test.go
30 lines (23 loc) · 838 Bytes
/
ecdsa_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package keyfunc_test
import (
"encoding/json"
"errors"
"testing"
"github.com/golang-jwt/jwt/v5"
"github.com/MicahParks/keyfunc/v2"
)
func TestBadCurve(t *testing.T) {
const (
badJWKS = `{"keys":[{"kty":"EC","crv":"BAD","x":"MKBCTNIcKUSDii11ySs3526iDZ8AiTo7Tu6KPAqv7D4","y":"4Etl6SRW2YiLUrN5vfvVHuhp7x8PxltmWWlbbM4IFyM","use":"sig","kid":"1"}]}`
someJWT = `eyJhbGciOiJFUzI1NiIsImtpZCI6IjEiLCJ0eXAiOiJKV1QifQ.e30.Q1EeyWUv6XEA0gMLwTFoNhx7Hq1MbVwjI2k9FZPSa-myKW1wYn1X6rHtRyuV-2MEzvimCskFD-afL7UzvdWBQg`
)
jwks, err := keyfunc.NewJSON(json.RawMessage(badJWKS))
if err != nil {
t.Fatalf("Failed to create JWKS from JSON: %v", err)
}
// The number of parsed keys should be 0.
_, err = jwt.Parse(someJWT, jwks.Keyfunc)
if !errors.Is(err, keyfunc.ErrKIDNotFound) {
t.Fatalf("Expected ErrKIDNotFound, got %v", err)
}
}