From a013ac32a384eeeffc6276f846d6f15a1d1e9e46 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Tue, 29 Apr 2025 21:52:44 +0800 Subject: [PATCH] chore: give better error messages for some stupid config files --- component/ca/fingerprint.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/component/ca/fingerprint.go b/component/ca/fingerprint.go index 43833756..5c44a31f 100644 --- a/component/ca/fingerprint.go +++ b/component/ca/fingerprint.go @@ -11,10 +11,14 @@ import ( // NewFingerprintVerifier returns a function that verifies whether a certificate's SHA-256 fingerprint matches the given one. func NewFingerprintVerifier(fingerprint string) (func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error, error) { + switch fingerprint { + case "chrome", "firefox", "safari", "ios", "android", "edge", "360", "qq", "random", "randomized": // WTF??? + return nil, fmt.Errorf("`fingerprint` is used for TLS certificate pinning. If you need to specify the browser fingerprint, use `client-fingerprint`") + } fingerprint = strings.TrimSpace(strings.Replace(fingerprint, ":", "", -1)) fpByte, err := hex.DecodeString(fingerprint) if err != nil { - return nil, err + return nil, fmt.Errorf("fingerprint string decode error: %w", err) } if len(fpByte) != 32 {