diff --git a/adapter/outbound/vless.go b/adapter/outbound/vless.go index dd6e0f23c..a24f2a6e4 100644 --- a/adapter/outbound/vless.go +++ b/adapter/outbound/vless.go @@ -101,6 +101,9 @@ func (v *Vless) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) { wsOpts.TLSConfig = tlsC.GetGlobalTLSConfig(tlsConfig) } else { wsOpts.TLSConfig, err = tlsC.GetSpecifiedFingerprintTLSConfig(tlsConfig, v.option.Fingerprint) + if err != nil { + return nil, err + } } if v.option.ServerName != "" { diff --git a/component/tls/config.go b/component/tls/config.go index 14e5b20d1..39d1b1fd4 100644 --- a/component/tls/config.go +++ b/component/tls/config.go @@ -63,7 +63,7 @@ func convertFingerprint(fingerprint string) (*[32]byte, error) { } if len(fpByte) != 32 { - return nil, fmt.Errorf("fingerprint string length error,need sha25 fingerprint") + return nil, fmt.Errorf("fingerprint string length error,need sha256 fingerprint") } return (*[32]byte)(fpByte), nil } @@ -99,10 +99,10 @@ func GetSpecifiedFingerprintXTLSConfig(tlsConfig *xtls.Config, fingerprint strin if fingerprintBytes, err := convertFingerprint(fingerprint); err != nil { return nil, err } else { - tlsConfig=GetGlobalXTLSConfig(tlsConfig) - tlsConfig.VerifyPeerCertificate = verifyFingerprint(fingerprintBytes) - tlsConfig.InsecureSkipVerify = true - return tlsConfig, nil + tlsConfig = GetGlobalXTLSConfig(tlsConfig) + tlsConfig.VerifyPeerCertificate = verifyFingerprint(fingerprintBytes) + tlsConfig.InsecureSkipVerify = true + return tlsConfig, nil } }