grafana/k6 · error

unknown cipher suite '%s'

Error message

unknown cipher suite '%s'

What it means

Raised by TLSCipherSuites.UnmarshalJSON when parsing the ciphers option: a cipher suite name in the JSON is not present in the SupportedTLSCipherSuites map, so it cannot be mapped to a numeric ID.

Source

Thrown at lib/options.go:110

		}
	}

	return json.Marshal(suiteNames)
}

// UnmarshalJSON implements the json.Unmarshaler interface
func (s *TLSCipherSuites) UnmarshalJSON(data []byte) error {
	var suiteNames []string
	if err := StrictJSONUnmarshal(data, &suiteNames); err != nil {
		return err
	}

	var suiteIDs []uint16
	for _, name := range suiteNames {
		if suiteID, ok := SupportedTLSCipherSuites[name]; ok {
			suiteIDs = append(suiteIDs, suiteID)
		} else {
			return fmt.Errorf("unknown cipher suite '%s'", name)
		}
	}

	*s = suiteIDs

	return nil
}

// TLSAuthFields for TLSAuth. Unmarshalling hack.
type TLSAuthFields struct {
	// Certificate and key as a PEM-encoded string, including "-----BEGIN CERTIFICATE-----".
	Cert     string      `json:"cert"`
	Key      string      `json:"key"`
	Password null.String `json:"password"`

	// Domains to present the certificate to. May contain wildcards, eg. "*.example.com".
	Domains []string `json:"domains"`
}

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Use exact cipher suite names such as TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. Verify the name against Go's crypto/tls constant names
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/options.go:110 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18). Data as JSON: /api/errors/8bf2b711ae0a1ce6. Report an issue: GitHub.