{"record":{"id":"d58e891bae318b31","repo":"grafana/k6","slug":"key-s-handle-isn-t-an-ecdsa-ecdh-public-private-ke","errorCode":null,"errorMessage":"key's handle isn't an ECDSA/ECDH public/private key","messagePattern":"key's handle isn't an ECDSA/ECDH public/private key","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/js/modules/k6/webcrypto/jwk.go","lineNumber":205,"sourceCode":"\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to convert ECDH key to ECDSA key: %w\", err)\n\t\t}\n\n\t\tx = ecdsaKey.X\n\t\ty = ecdsaKey.Y\n\t\td = ecdsaKey.D\n\t\tcurveParams = ecdsaKey.Params()\n\tcase *ecdh.PublicKey:\n\t\tecdsaKey, err := convertPublicECDHtoECDSA(k)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to convert ECDH key to ECDSA key: %w\", err)\n\t\t}\n\n\t\tx = ecdsaKey.X\n\t\ty = ecdsaKey.Y\n\t\tcurveParams = ecdsaKey.Params()\n\tdefault:\n\t\treturn nil, errors.New(\"key's handle isn't an ECDSA/ECDH public/private key\")\n\t}\n\n\texported.Set(\"crv\", curveParams.Name)\n\tcurveBits := curveParams.BitSize\n\n\texported.Set(\"x\", base64URLEncode(x.Bytes()))\n\texported.Set(\"y\", base64URLEncode(y.Bytes()))\n\n\tif d != nil {\n\t\texported.Set(\"d\", encodeCurveBigInt(d, curveBits))\n\t}\n\n\treturn exported, nil\n}\n\nfunc importECDSAJWK(_ EllipticCurveKind, jsonKeyData []byte) (any, CryptoKeyType, error) {\n\tvar jwkKey ecJWK\n\tif err := json.Unmarshal(jsonKeyData, &jwkKey); err != nil {","sourceCodeStart":187,"sourceCodeEnd":223,"githubUrl":"https://github.com/grafana/k6/blob/93accf6570dcd306ca5e99cc44c393ee3797761b/internal/js/modules/k6/webcrypto/jwk.go#L187-L223","documentation":"Error \"key's handle isn't an ECDSA/ECDH public/private key\" thrown in grafana/k6.","triggerScenarios":"Thrown at internal/js/modules/k6/webcrypto/jwk.go:205 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"93accf6570dcd306ca5e99cc44c393ee3797761b","analyzedAt":"2026-08-15T21:23:27.118Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}