Skip to content

Commit

Permalink
Fix return certificate expiry time from NearExpiration (#29128)
Browse files Browse the repository at this point in the history
* Fix return certificate expiry time from NearExpiration

 - The duration returned from the NearExpiration is supposed to
   represent the time till expiry from now and not the calculated
   time a month from now.

* Add cl

* PR feedback
  • Loading branch information
stevendpclark authored Dec 9, 2024
1 parent 5701c5b commit 56fa43f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
3 changes: 3 additions & 0 deletions changelog/29128.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
vault/diagnose: Fix time to expiration reporting within the TLS verification to not be a month off.
```
18 changes: 10 additions & 8 deletions vault/diagnose/tls_verification.go
Original file line number Diff line number Diff line change
Expand Up @@ -270,15 +270,17 @@ func TLSFileWarningChecks(leafCerts, interCerts, rootCerts []*x509.Certificate)
return warnings, nil
}

// NearExpiration returns a true if a certficate will expire in a month and false otherwise
// NearExpiration returns a true if a certificate will expire in a month
// and false otherwise, along with the duration until the certificate expires
// which can be a negative duration if the certificate has already expired.
func NearExpiration(c *x509.Certificate) (bool, time.Duration) {
oneMonthFromNow := time.Now().Add(30 * 24 * time.Hour)
var timeToExpiry time.Duration
if oneMonthFromNow.After(c.NotAfter) {
timeToExpiry := oneMonthFromNow.Sub(c.NotAfter)
return true, timeToExpiry
}
return false, timeToExpiry
now := time.Now()
timeToExpiry := c.NotAfter.Sub(now)

oneMonthFromNow := now.Add(30 * 24 * time.Hour)
isNearExpiration := oneMonthFromNow.After(c.NotAfter)

return isNearExpiration, timeToExpiry
}

// TLSMutualExclusionCertCheck returns error if both TLSDisableClientCerts and TLSRequireAndVerifyClientCert are set
Expand Down

0 comments on commit 56fa43f

Please sign in to comment.