mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-08-03 01:07:35 +08:00
Compare commits
2 Commits
082572433e
...
83238d6a81
Author | SHA1 | Date | |
---|---|---|---|
![]() |
83238d6a81 | ||
![]() |
51e4330b8c |
@ -87,13 +87,15 @@ func NewSTDClient(ctx context.Context, serverAddress string, options option.Outb
|
|||||||
tlsConfig.VerifyConnection = func(state tls.ConnectionState) error {
|
tlsConfig.VerifyConnection = func(state tls.ConnectionState) error {
|
||||||
verifyOptions := x509.VerifyOptions{
|
verifyOptions := x509.VerifyOptions{
|
||||||
Roots: tlsConfig.RootCAs,
|
Roots: tlsConfig.RootCAs,
|
||||||
CurrentTime: tlsConfig.Time(),
|
|
||||||
DNSName: serverName,
|
DNSName: serverName,
|
||||||
Intermediates: x509.NewCertPool(),
|
Intermediates: x509.NewCertPool(),
|
||||||
}
|
}
|
||||||
for _, cert := range state.PeerCertificates[1:] {
|
for _, cert := range state.PeerCertificates[1:] {
|
||||||
verifyOptions.Intermediates.AddCert(cert)
|
verifyOptions.Intermediates.AddCert(cert)
|
||||||
}
|
}
|
||||||
|
if tlsConfig.Time != nil {
|
||||||
|
verifyOptions.CurrentTime = tlsConfig.Time()
|
||||||
|
}
|
||||||
_, err := state.PeerCertificates[0].Verify(verifyOptions)
|
_, err := state.PeerCertificates[0].Verify(verifyOptions)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -11,10 +11,13 @@ type TimeServiceWrapper struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *TimeServiceWrapper) TimeFunc() func() time.Time {
|
func (w *TimeServiceWrapper) TimeFunc() func() time.Time {
|
||||||
if w.TimeService == nil {
|
return func() time.Time {
|
||||||
return nil
|
if w.TimeService != nil {
|
||||||
|
return w.TimeService.TimeFunc()()
|
||||||
|
} else {
|
||||||
|
return time.Now()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return w.TimeService.TimeFunc()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *TimeServiceWrapper) Upstream() any {
|
func (w *TimeServiceWrapper) Upstream() any {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user