1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
// This helper files generates a bunch of ed25519 keys to be used by the test
// runners. This is done such that the signatures stay stable when the metadata
// is regenerated.
package main
import (
"encoding/json"
"fmt"
"os"
"time"
"github.com/theupdateframework/go-tuf/data"
)
var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
func main() {
rolenames := []string{
"root",
"snapshot",
"targets",
"timestamp",
}
roles := make(map[string][][]*data.PrivateKey)
for _, name := range rolenames {
keys := [][]*data.PrivateKey{}
for i := 0; i < 2; i++ {
signer, err := keys.GenerateEd25519Key()
assertNoError(err)
keys = append(keys, []*data.PrivateKey{signer})
}
roles[name] = keys
}
s, err := json.MarshalIndent(&roles, "", " ")
assertNoError(err)
os.WriteFile("keys.json", []byte(s), 0644)
}
func assertNoError(err error) {
if err != nil {
panic(fmt.Sprintf("assertion failed: %s", err))
}
}
|