diff options
Diffstat (limited to 'client/cmd')
| -rw-r--r-- | client/cmd/add-entry/main.go | 52 | ||||
| -rw-r--r-- | client/cmd/get-sth/main.go | 35 | 
2 files changed, 87 insertions, 0 deletions
| diff --git a/client/cmd/add-entry/main.go b/client/cmd/add-entry/main.go new file mode 100644 index 0000000..03844fa --- /dev/null +++ b/client/cmd/add-entry/main.go @@ -0,0 +1,52 @@ +package main + +import ( +	"context" +	"flag" +	"fmt" + +	"encoding/base64" + +	"github.com/golang/glog" +	"github.com/system-transparency/stfe/client" +	"github.com/system-transparency/stfe/types" +) + +var ( +	identifier = flag.String("identifier", "foobar-1.2.3", "checksum identifier") +	checksum   = flag.String("checksum", "50e7967bce266a506f8f614bb5096beba580d205046b918f47d23b2ec626d75e", "base64-encoded checksum") +) + +func main() { +	flag.Parse() +	defer glog.Flush() + +	client, err := client.NewClientFromFlags() +	if err != nil { +		glog.Errorf("NewClientFromFlags: %v", err) +		return +	} +	data, err := NewChecksumV1FromFlags() +	if err != nil { +		glog.Errorf("NewChecksumV1FromFlags: %v", err) +		return +	} +	leafHash, err := client.AddEntry(context.Background(), data) +	if err != nil { +		glog.Errorf("AddEntry: %v", err) +		return +	} +	fmt.Println("leaf hash:", base64.StdEncoding.EncodeToString(leafHash)) +} + +func NewChecksumV1FromFlags() (*types.ChecksumV1, error) { +	var err error +	data := types.ChecksumV1{ +		Identifier: []byte(*identifier), +	} +	data.Checksum, err = base64.StdEncoding.DecodeString(*checksum) +	if err != nil { +		return nil, fmt.Errorf("entry_checksum: DecodeString: %v", err) +	} +	return &data, nil +} diff --git a/client/cmd/get-sth/main.go b/client/cmd/get-sth/main.go new file mode 100644 index 0000000..6b23b06 --- /dev/null +++ b/client/cmd/get-sth/main.go @@ -0,0 +1,35 @@ +package main + +import ( +	"context" +	"flag" +	"fmt" + +	"encoding/base64" + +	"github.com/golang/glog" +	"github.com/system-transparency/stfe/client" +	"github.com/system-transparency/stfe/types" +) + +func main() { +	flag.Parse() +	defer glog.Flush() + +	client, err := client.NewClientFromFlags() +	if err != nil { +		glog.Errorf("NewClientFromFlags: %v", err) +		return +	} +	sth, err := client.GetLatestSth(context.Background()) +	if err != nil { +		glog.Errorf("GetLatestSth: %v", err) +		return +	} +	serialized, err := types.Marshal(*sth) +	if err != nil { +		glog.Errorf("Marshal: %v", err) +		return +	} +	fmt.Println("sth:", base64.StdEncoding.EncodeToString(serialized)) +} | 
