package timestamp

import "github.com/theupdateframework/notary/server/timestamp"

Index

Functions

func CreateTimestamp

func CreateTimestamp(gun string, prev *data.SignedTimestamp, snapshot []byte, store storage.MetaStore, cryptoService signed.CryptoService) (*data.Signed, int, error)

CreateTimestamp creates a new timestamp. If a prev timestamp is provided, it is assumed this is the immediately previous one, and the new one will have a version number one higher than prev. The store is used to lookup the current snapshot, this function does not save the newly generated timestamp.

func GetOrCreateTimestamp

func GetOrCreateTimestamp(gun string, store storage.MetaStore, cryptoService signed.CryptoService) ([]byte, error)

GetOrCreateTimestamp returns the current timestamp for the gun. This may mean a new timestamp is generated either because none exists, or because the current one has expired. Once generated, the timestamp is saved in the store.

func GetOrCreateTimestampKey

func GetOrCreateTimestampKey(gun string, store storage.MetaStore, crypto signed.CryptoService, createAlgorithm string) (data.PublicKey, error)

GetOrCreateTimestampKey returns the timestamp key for the gun. It uses the store to lookup an existing timestamp key and the crypto to generate a new one if none is found. It attempts to handle the race condition that may occur if 2 servers try to create the key at the same time by simply querying the store a second time if it receives a conflict when writing.

Source Files

timestamp.go

Version
v0.2.0
Published
Feb 25, 2016
Platform
linux/amd64
Imports
7 packages
Last checked
3 hours ago

Tools for package owners.