Add key generation offset (#104)

* Add key generation offset

* Bump version to 2.1.2
This commit is contained in:
wussler 2020-12-01 19:44:49 +01:00 committed by GitHub
parent 385e6d21d2
commit 75f27fd1df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 29 additions and 4 deletions

View file

@ -13,6 +13,11 @@ func UpdateTime(newTime int64) {
}
}
// SetKeyGenerationOffset updates the offset when generating keys.
func SetKeyGenerationOffset(offset int64) {
pgp.generationOffset = offset
}
// GetUnixTime gets latest cached time.
func GetUnixTime() int64 {
return getNow().Unix()
@ -49,3 +54,19 @@ func getDiff() (int64, error) {
func getTimeGenerator() func() time.Time {
return getNow
}
// getNowKeyGenerationOffset returns the current time with the key generation offset.
func getNowKeyGenerationOffset() time.Time {
extrapolate, err := getDiff()
if err != nil {
return time.Unix(time.Now().Unix()+pgp.generationOffset, 0)
}
return time.Unix(pgp.latestServerTime+extrapolate+pgp.generationOffset, 0)
}
// getKeyGenerationTimeGenerator Returns a time generator function with the key generation offset.
func getKeyGenerationTimeGenerator() func() time.Time {
return getNowKeyGenerationOffset
}