diff options
Diffstat (limited to 'client/cmd')
| -rw-r--r-- | client/cmd/add-entry/main.go | 52 | ||||
| -rwxr-xr-x | client/cmd/example.sh | 49 | ||||
| -rw-r--r-- | client/cmd/get-consistency-proof/main.go | 70 | ||||
| -rw-r--r-- | client/cmd/get-entries/main.go | 83 | ||||
| -rw-r--r-- | client/cmd/get-proof-by-hash/main.go | 66 | ||||
| -rw-r--r-- | client/cmd/get-sth/main.go | 35 | 
6 files changed, 0 insertions, 355 deletions
diff --git a/client/cmd/add-entry/main.go b/client/cmd/add-entry/main.go deleted file mode 100644 index a29d01f..0000000 --- a/client/cmd/add-entry/main.go +++ /dev/null @@ -1,52 +0,0 @@ -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", "", "checksum identifier") -	checksum   = flag.String("checksum", "", "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/example.sh b/client/cmd/example.sh deleted file mode 100755 index d790712..0000000 --- a/client/cmd/example.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -set -eu - -log_url=http://tlog-poc.system-transparency.org:4780/st/v1 -log_id=AAG+ZW+UesWdMFytUGkp28csBcziomSB3U2vvkAW55MVZQ== -tmpdir=$(mktemp -dt stfe.XXXXXXXX) -cp $0 $tmpdir/ -cd $tmpdir - -commonargs="--log_id $log_id --log_url $log_url" # --logtostderr -v 3 -pause="sleep 1" - -echo "arguments used:" -echo $commonargs -echo "" - -echo "fetching sth..." -get-sth $commonargs | tee sth1.output -echo "" && $pause - -echo "adding an entry..." -add-entry $commonargs \ -	--identifier "example.sh v0.0.1-$(cat /dev/urandom | base64 | head -c 10)" \ -	--checksum $(sha256sum "$0") | tee add-entry.output -echo "" && $pause - -echo "fetching another sth..." -get-sth $commonargs | tee sth2.output -echo "" && $pause - -echo "verifying inclusion..." -get-proof-by-hash $commonargs \ -	--leaf_hash $(cat add-entry.output | awk '{print $3}') \ -	--sth $(cat sth2.output | awk '{print $2}') -echo "" && $pause - -echo "verifying consistency..." -get-consistency-proof $commonargs \ -	--first $(cat sth1.output | awk '{print $2}') \ -	--second $(cat sth2.output | awk '{print $2}') -echo "" && $pause - -echo "fetching the log's first entry..." -get-entries $commonargs --start 0 --end 0 -echo "" - -rm *.output $0 -cd -rmdir $tmpdir diff --git a/client/cmd/get-consistency-proof/main.go b/client/cmd/get-consistency-proof/main.go deleted file mode 100644 index bb8a7a6..0000000 --- a/client/cmd/get-consistency-proof/main.go +++ /dev/null @@ -1,70 +0,0 @@ -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 ( -	first  = flag.String("first", "", "base64-encoded sth") -	second = flag.String("second", "", "base64-encoded sth") -) - -func main() { -	flag.Parse() -	defer glog.Flush() - -	client, err := client.NewClientFromFlags() -	if err != nil { -		glog.Errorf("NewClientFromFlags: %v", err) -		return -	} -	sth1, sth2, err := newParamsFromFlags() -	if err != nil { -		glog.Errorf("NewRequestFromFlags: %v", err) -		return -	} - -	proof, err := client.GetConsistencyProof(context.Background(), sth1, sth2) -	if err != nil { -		glog.Errorf("GetConsistencyProof: %v", err) -		return -	} -	serialized, err := types.Marshal(*proof) -	if err != nil { -		glog.Errorf("Marshal: %v", err) -		return -	} -	fmt.Println("proof:", base64.StdEncoding.EncodeToString(serialized)) -} - -func newParamsFromFlags() (*types.StItem, *types.StItem, error) { -	sth1, err := decodeSthStr(*first) -	if err != nil { -		return nil, nil, fmt.Errorf("first: decodeSthStr: %v", err) -	} -	sth2, err := decodeSthStr(*second) -	if err != nil { -		return nil, nil, fmt.Errorf("second: decodeSthStr: %v", err) -	} -	return sth1, sth2, nil -} - -func decodeSthStr(sthStr string) (*types.StItem, error) { -	serialized, err := base64.StdEncoding.DecodeString(sthStr) -	if err != nil { -		return nil, fmt.Errorf("DecodeString: %v", err) -	} -	var item types.StItem -	if err = types.Unmarshal(serialized, &item); err != nil { -		return nil, fmt.Errorf("Unmarshal: %v", err) -	} -	return &item, nil -} diff --git a/client/cmd/get-entries/main.go b/client/cmd/get-entries/main.go deleted file mode 100644 index f32fdbf..0000000 --- a/client/cmd/get-entries/main.go +++ /dev/null @@ -1,83 +0,0 @@ -package main - -import ( -	"context" -	"flag" -	"fmt" - -	"encoding/base64" - -	"github.com/golang/glog" -	"github.com/google/trillian/merkle/rfc6962" -	"github.com/system-transparency/stfe/client" -	"github.com/system-transparency/stfe/types" -) - -var ( -	start = flag.Uint64("start", 0, "inclusive start index to download") -	end   = flag.Uint64("end", 0, "inclusive stop index to download") -) - -func main() { -	flag.Parse() -	defer glog.Flush() - -	client, err := client.NewClientFromFlags() -	if err != nil { -		glog.Errorf("NewClientFromFlags: %v", err) -		return -	} -	items, err := getRange(client, *start, *end) -	if err != nil { -		glog.Errorf("getRange: %v", err) -		return -	} -	if err := printRange(items); err != nil { -		glog.Errorf("printRange: %v", err) -		return -	} -} - -func getRange(client *client.Client, start, end uint64) ([]*types.StItem, error) { -	items := make([]*types.StItem, 0, end-start+1) -	for len(items) != cap(items) { -		rsp, err := client.GetEntries(context.Background(), start, end) -		if err != nil { -			return nil, fmt.Errorf("fetching entries failed: %v", err) -		} -		items = append(items, rsp...) -		start += uint64(len(rsp)) -	} -	return items, nil -} - -func printRange(items []*types.StItem) error { -	for i, item := range items { -		var status string -		msg, err := types.Marshal(item.SignedChecksumV1.Data) -		if err != nil { -			return fmt.Errorf("Marshal data failed: %v", err) -		} -		sig := item.SignedChecksumV1.Signature.Signature -		namespace := &item.SignedChecksumV1.Signature.Namespace -		if err := namespace.Verify(msg, sig); err != nil { -			status = "unverified signature" -		} else { -			status = "verified signature" -		} -		serializedNamespace, err := types.Marshal(*namespace) -		if err != nil { -			return fmt.Errorf("Marshal namespace failed: %v", err) -		} -		serializedLeaf, err := types.Marshal(*item) -		if err != nil { -			return fmt.Errorf("Marshal item on index %d: %v", *start+uint64(i), err) -		} -		fmt.Printf("Index(%d) - %s\n", *start+uint64(i), status) -		fmt.Printf("-> Namespace: %s\n", base64.StdEncoding.EncodeToString(serializedNamespace)) -		fmt.Printf("-> Identifier: %s\n", string(item.SignedChecksumV1.Data.Identifier)) -		fmt.Printf("-> Checksum: %s\n", base64.StdEncoding.EncodeToString(item.SignedChecksumV1.Data.Checksum)) -		fmt.Printf("-> Leaf hash: %s\n", base64.StdEncoding.EncodeToString(rfc6962.DefaultHasher.HashLeaf(serializedLeaf))) -	} -	return nil -} diff --git a/client/cmd/get-proof-by-hash/main.go b/client/cmd/get-proof-by-hash/main.go deleted file mode 100644 index 1f4f304..0000000 --- a/client/cmd/get-proof-by-hash/main.go +++ /dev/null @@ -1,66 +0,0 @@ -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 ( -	sthStr      = flag.String("sth", "", "base64-encoded StItem of type StFormatSignedTreeHeadV1 (default: fetch new sth)") -	leafHashStr = flag.String("leaf_hash", "", "base64-encoded leaf hash") -) - -func main() { -	flag.Parse() -	defer glog.Flush() - -	client, err := client.NewClientFromFlags() -	if err != nil { -		glog.Errorf("NewClientFromFlags: %v", err) -		return -	} -	leafHash, sth, err := newParamsFromFlags(client) -	if err != nil { -		glog.Errorf("NewRequestFromFlags: %v", err) -		return -	} - -	proof, err := client.GetProofByHash(context.Background(), leafHash, sth) -	if err != nil { -		glog.Errorf("GetProofByHash: %v", err) -		return -	} -	serialized, err := types.Marshal(*proof) -	if err != nil { -		glog.Errorf("Marshal: %v", err) -	} -	fmt.Println("proof:", base64.StdEncoding.EncodeToString(serialized)) -} - -func newParamsFromFlags(client *client.Client) ([]byte, *types.StItem, error) { -	serialized, err := base64.StdEncoding.DecodeString(*sthStr) -	if err != nil { -		return nil, nil, fmt.Errorf("sth: DecodeString: %v", err) -	} -	var item types.StItem -	if err = types.Unmarshal(serialized, &item); err != nil { -		return nil, nil, fmt.Errorf("sth: Unmarshal: %v", err) -	} else if got, want := item.Format, types.StFormatSignedTreeHeadV1; got != want { -		return nil, nil, fmt.Errorf("unexpected StItem format: %v", got) -	} -	leafHash, err := base64.StdEncoding.DecodeString(*leafHashStr) -	if err != nil { -		return nil, nil, fmt.Errorf("leaf_hash: DecodeString: %v", err) -	} else if got, want := len(leafHash), 32; got != want { -		return nil, nil, fmt.Errorf("leaf_hash: unexpected size: %v", got) -	} -	glog.V(3).Infof("created request parameters TreeSize(%d) and LeafHash(%s)", item.SignedTreeHeadV1.TreeHead.TreeSize, *leafHashStr) -	return leafHash, &item, nil -} diff --git a/client/cmd/get-sth/main.go b/client/cmd/get-sth/main.go deleted file mode 100644 index 6b23b06..0000000 --- a/client/cmd/get-sth/main.go +++ /dev/null @@ -1,35 +0,0 @@ -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)) -}  | 
