Skip to content

Commit a828096

Browse files
committed
Ignore expired server cert when validating server CA
We just want to know if the CA chain is valid, we don't care about expiration at this point. Blocking here may prevent the cached dynamiclistener cert from ever getting synced to the Secret. Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
1 parent 07171fd commit a828096

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

pkg/clientaccess/token.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,11 @@ func getCACerts(u url.URL) ([]byte, error) {
433433
// get an empty CA bundle. or if the dynamiclistener cert is incorrectly signed.
434434
_, err = get(url, GetHTTPClient(cacerts, "", ""), "", "", "")
435435
if err != nil {
436+
var cierr x509.CertificateInvalidError
437+
if errors.As(err, &cierr) && cierr.Reason == x509.Expired {
438+
logrus.Warnf("Ignoring expired server certificate during CA cert validation: %v", err)
439+
return cacerts, nil
440+
}
436441
return nil, pkgerrors.WithMessage(err, "CA cert validation failed")
437442
}
438443

0 commit comments

Comments
 (0)