mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-11-01 04:41:22 +00:00
27 lines
704 B
Go
27 lines
704 B
Go
|
// Package crypto provides a high-level API for common OpenPGP functionality.
|
||
|
package crypto
|
||
|
|
||
|
import "sync"
|
||
|
|
||
|
// GopenPGP is used as a "namespace" for many of the functions in this package.
|
||
|
// It is a struct that keeps track of time skew between server and client.
|
||
|
type GopenPGP struct {
|
||
|
latestServerTime int64
|
||
|
generationOffset int64
|
||
|
lock *sync.RWMutex
|
||
|
}
|
||
|
|
||
|
var pgp = GopenPGP{
|
||
|
latestServerTime: 0,
|
||
|
generationOffset: 0,
|
||
|
lock: &sync.RWMutex{},
|
||
|
}
|
||
|
|
||
|
// clone returns a clone of the byte slice. Internal function used to make sure
|
||
|
// we don't retain a reference to external data.
|
||
|
func clone(input []byte) []byte {
|
||
|
data := make([]byte, len(input))
|
||
|
copy(data, input)
|
||
|
return data
|
||
|
}
|