...

Source file src/github.com/MicahParks/keyfunc/v2/ecdsa_test.go

Documentation: github.com/MicahParks/keyfunc/v2

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

View as plain text