grafana/k6 · error
key's handle isn't an ECDSA/ECDH public/private key
Error message
key's handle isn't an ECDSA/ECDH public/private key
What it means
Error "key's handle isn't an ECDSA/ECDH public/private key" thrown in grafana/k6.
Source
Thrown at internal/js/modules/k6/webcrypto/jwk.go:205
if err != nil {
return nil, fmt.Errorf("failed to convert ECDH key to ECDSA key: %w", err)
}
x = ecdsaKey.X
y = ecdsaKey.Y
d = ecdsaKey.D
curveParams = ecdsaKey.Params()
case *ecdh.PublicKey:
ecdsaKey, err := convertPublicECDHtoECDSA(k)
if err != nil {
return nil, fmt.Errorf("failed to convert ECDH key to ECDSA key: %w", err)
}
x = ecdsaKey.X
y = ecdsaKey.Y
curveParams = ecdsaKey.Params()
default:
return nil, errors.New("key's handle isn't an ECDSA/ECDH public/private key")
}
exported.Set("crv", curveParams.Name)
curveBits := curveParams.BitSize
exported.Set("x", base64URLEncode(x.Bytes()))
exported.Set("y", base64URLEncode(y.Bytes()))
if d != nil {
exported.Set("d", encodeCurveBigInt(d, curveBits))
}
return exported, nil
}
func importECDSAJWK(_ EllipticCurveKind, jsonKeyData []byte) (any, CryptoKeyType, error) {
var jwkKey ecJWK
if err := json.Unmarshal(jsonKeyData, &jwkKey); err != nil {View on GitHub (pinned to 93accf6570)
When it happens
Trigger: Thrown at internal/js/modules/k6/webcrypto/jwk.go:205 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15).
Data as JSON: /api/errors/d58e891bae318b31.
Report an issue: GitHub.