{"record":{"id":"7549d31c2b959262","repo":"grafana/k6","slug":"input-isn-t-a-valid-ecdh-key","errorCode":null,"errorMessage":"input isn't a valid ECDH key","messagePattern":"input isn't a valid ECDH key","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/js/modules/k6/webcrypto/jwk.go","lineNumber":291,"sourceCode":"\t}\n\n\tswitch key := key.(type) {\n\tcase *ecdsa.PrivateKey:\n\t\tecdhKey, err := key.ECDH()\n\t\tif err != nil {\n\t\t\treturn nil, UnknownCryptoKeyType, fmt.Errorf(\"failed to convert ECDSA key to ECDH key: %w\", err)\n\t\t}\n\n\t\treturn ecdhKey, PrivateCryptoKeyType, nil\n\tcase *ecdsa.PublicKey:\n\t\tecdhKey, err := key.ECDH()\n\t\tif err != nil {\n\t\t\treturn nil, UnknownCryptoKeyType, fmt.Errorf(\"failed to convert ECDSA key to ECDH key: %w\", err)\n\t\t}\n\n\t\treturn ecdhKey, PublicCryptoKeyType, nil\n\tdefault:\n\t\treturn nil, UnknownCryptoKeyType, errors.New(\"input isn't a valid ECDH key\")\n\t}\n}\n\ntype rsaJWK struct {\n\tKty string `json:\"kty\"`          // Key Type\n\tN   string `json:\"n\"`            // Modulus\n\tE   string `json:\"e\"`            // Exponent\n\tD   string `json:\"d,omitempty\"`  // Private exponent\n\tP   string `json:\"p,omitempty\"`  // First prime factor\n\tQ   string `json:\"q,omitempty\"`  // Second prime factor\n\tDp  string `json:\"dp,omitempty\"` // Exponent1\n\tDq  string `json:\"dq,omitempty\"` // Exponent2\n\tQi  string `json:\"qi,omitempty\"` // Coefficient\n}\n\nfunc (jwk *rsaJWK) validate() error {\n\tif jwk.Kty != \"RSA\" {\n\t\treturn fmt.Errorf(\"invalid key type: %s\", jwk.Kty)","sourceCodeStart":273,"sourceCodeEnd":309,"githubUrl":"https://github.com/grafana/k6/blob/93accf6570dcd306ca5e99cc44c393ee3797761b/internal/js/modules/k6/webcrypto/jwk.go#L273-L309","documentation":"Error \"input isn't a valid ECDH key\" thrown in grafana/k6.","triggerScenarios":"Thrown at internal/js/modules/k6/webcrypto/jwk.go:291 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"}