diff options
23 files changed, 85 insertions, 87 deletions
@@ -77,6 +77,7 @@ public verification key is `777528f5fd96f95713b8c2bb48bce2c83628e39ad3bfbd95bc00 You can talk to the log by passing ASCII key-value pairs. For example, fetch a tree head and a log entry: ``` +$ echo "TODO: update to sigsum links" $ curl http://tlog-poc.system-transparency.org:4780/st/v0/get-tree-head-latest timestamp=1623053394 tree_size=1 diff --git a/cmd/siglog_server/.gitignore b/cmd/sigsum_log_go/.gitignore index 254defd..254defd 100644 --- a/cmd/siglog_server/.gitignore +++ b/cmd/sigsum_log_go/.gitignore diff --git a/cmd/siglog_server/README.md b/cmd/sigsum_log_go/README.md index 71bb3ac..5e419ba 100644 --- a/cmd/siglog_server/README.md +++ b/cmd/sigsum_log_go/README.md @@ -1,11 +1,11 @@ -# Run Trillian + STFE locally +# Run Trillian + sigsum-log-go locally Trillian uses a database. So, we will need to set that up. It is documented [here](https://github.com/google/trillian#mysql-setup), and how to check that it is setup properly [here](https://github.com/google/certificate-transparency-go/blob/master/trillian/docs/ManualDeployment.md#data-storage). -Other than the database we need the Trillian log signer, Trillian log server, -and STFE server. +Other than the database we need Trillian log signer, Trillian log server, and +sigsum-log-go. ``` $ go install github.com/google/trillian/cmd/trillian_log_signer $ go install github.com/google/trillian/cmd/trillian_log_server @@ -31,30 +31,27 @@ $ createtree --admin_server localhost:6962 <tree id> ``` -Hang on to `<tree id>`. Our STFE server will use it when talking to the -Trillian log server to specify which Merkle tree we are working against. +Hang on to `<tree id>`. Our sigsum-log-go instance will use it when talking to +the Trillian log server to specify which Merkle tree we are working against. (If you take a look in the `Trees` table you will see that the tree has been provisioned.) -We will also need a public key-pair and log identifier for the STFE server. +We will also need a public key-pair for sigsum-log-go. ``` -$ go install github.com/system-transparency/stfe/types/cmd/new-namespace +$ go install golang.sigsum.org/sigsum-log-go/cmd/tmp/keygen +$ ./keygen sk: <sk> vk: <vk> -ed25519_v1: <namespace> ``` -The log's identifier is `<namespace>` and contains the public verification key -`<vk>`. The log's corresponding secret signing key is `<sk>`. - -Start STFE server: +Start sigsum-log-go: ``` -$ ./server --logtostderr -v 9 --http_endpoint localhost:6965 --log_rpc_server localhost:6962 --trillian_id <tree id> --key <sk> +$ tree_id=<tree_id> +$ sk=<sk> +$ sigsum_log_go --logtostderr -v 9 --http_endpoint localhost:6965 --log_rpc_server localhost:6962 --trillian_id $tree_id --key $sk ``` -If the log is responsive on, e.g., `GET http://localhost:6965/st/v1/get-latest-sth` you -may want to try running -`github.com/system-transparency/stfe/client/cmd/example.sh`. You need to -configure the log's id though for verification to work (flag `log_id`, which -should be set to the `<namespace>` output above). +Quick test: +- curl http://localhost:6965/sigsum/v0/get-tree-head-latest +- try `submit` and `cosign` commands in `cmd/tmp` diff --git a/cmd/siglog_server/main.go b/cmd/sigsum_log_go/main.go index 368b0a7..6189b1d 100644 --- a/cmd/siglog_server/main.go +++ b/cmd/sigsum_log_go/main.go @@ -1,4 +1,4 @@ -// Package main provides an STFE server binary +// Package main provides a sigsum-log-go binary package main import ( @@ -19,17 +19,18 @@ import ( "github.com/golang/glog" "github.com/google/trillian" "github.com/prometheus/client_golang/prometheus/promhttp" - stfe "github.com/system-transparency/stfe/pkg/instance" - "github.com/system-transparency/stfe/pkg/state" - trillianWrapper "github.com/system-transparency/stfe/pkg/trillian" - "github.com/system-transparency/stfe/pkg/types" "google.golang.org/grpc" + + sigsum "golang.sigsum.org/sigsum-log-go/pkg/instance" + "golang.sigsum.org/sigsum-log-go/pkg/state" + trillianWrapper "golang.sigsum.org/sigsum-log-go/pkg/trillian" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) var ( - httpEndpoint = flag.String("http_endpoint", "localhost:6965", "host:port specification of where stfe serves clients") + httpEndpoint = flag.String("http_endpoint", "localhost:6965", "host:port specification of where sigsum-log-go serves clients") rpcBackend = flag.String("log_rpc_server", "localhost:6962", "host:port specification of where Trillian serves clients") - prefix = flag.String("prefix", "", "a prefix that proceeds /st/v0/<endpoint>") + prefix = flag.String("prefix", "", "a prefix that proceeds /sigsum/v0/<endpoint>") trillianID = flag.Int64("trillian_id", 0, "log identifier in the Trillian database") deadline = flag.Duration("deadline", time.Second*10, "deadline for backend requests") key = flag.String("key", "", "hex-encoded Ed25519 signing key") @@ -48,7 +49,7 @@ func main() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() - glog.V(3).Infof("configuring stfe instance...") + glog.V(3).Infof("configuring sigsum-log-go instance...") instance, err := setupInstanceFromFlags() if err != nil { glog.Errorf("setupInstance: %v", err) @@ -83,9 +84,9 @@ func main() { } } -// SetupInstance sets up a new STFE instance from flags -func setupInstanceFromFlags() (*stfe.Instance, error) { - var i stfe.Instance +// SetupInstance sets up a new sigsum-log-go instance from flags +func setupInstanceFromFlags() (*sigsum.Instance, error) { + var i sigsum.Instance var err error // Setup log configuration diff --git a/cmd/tmp/cosign/main.go b/cmd/tmp/cosign/main.go index a51f17d..629e7ac 100644 --- a/cmd/tmp/cosign/main.go +++ b/cmd/tmp/cosign/main.go @@ -9,11 +9,11 @@ import ( "log" "net/http" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) var ( - url = flag.String("url", "http://localhost:6965/st/v0", "base url") + url = flag.String("url", "http://localhost:6965/sigsum/v0", "base url") sk = flag.String("sk", "e1d7c494dacb0ddf809a17e4528b01f584af22e3766fa740ec52a1711c59500d711090dd2286040b50961b0fe09f58aa665ccee5cb7ee042d819f18f6ab5046b", "hex key") ) @@ -48,7 +48,7 @@ func main() { if err := sigident.MarshalASCII(buf); err != nil { log.Fatalf("MarshalASCII: %v", err) } - rsp, err = http.Post(*url+"/add-cosignature", "type/stfe", buf) + rsp, err = http.Post(*url+"/add-cosignature", "type/sigsum", buf) if err != nil { log.Fatalf("Post: %v", err) } diff --git a/cmd/tmp/submit/main.go b/cmd/tmp/submit/main.go index 3dcaa97..43fd457 100644 --- a/cmd/tmp/submit/main.go +++ b/cmd/tmp/submit/main.go @@ -7,7 +7,7 @@ import ( "crypto/rand" "fmt" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) func main() { @@ -25,5 +25,5 @@ func main() { sig := ed25519.Sign(sk, msg.Marshal()) //fmt.Printf("sk: %x\nvk: %x\n", sk[:], vk[:]) - fmt.Printf("echo \"shard_hint=%d\nchecksum=%x\nsignature_over_message=%x\nverification_key=%x\ndomain_hint=%s\" | curl --data-binary @- localhost:6965/st/v0/add-leaf\n", msg.ShardHint, msg.Checksum[:], sig, vk[:], "example.com") + fmt.Printf("echo \"shard_hint=%d\nchecksum=%x\nsignature=%x\nverification_key=%x\ndomain_hint=%s\" | curl --data-binary @- localhost:6965/sigsum/v0/add-leaf\n", msg.ShardHint, msg.Checksum[:], sig, vk[:], "example.com") } @@ -1,4 +1,4 @@ -module github.com/system-transparency/stfe +module golang.sigsum.org/sigsum-log-go go 1.14 diff --git a/pkg/instance/endpoint.go b/pkg/instance/endpoint.go index 5085c49..ec87303 100644 --- a/pkg/instance/endpoint.go +++ b/pkg/instance/endpoint.go @@ -1,4 +1,4 @@ -package stfe +package instance import ( "context" diff --git a/pkg/instance/endpoint_test.go b/pkg/instance/endpoint_test.go index fabf2e9..b138936 100644 --- a/pkg/instance/endpoint_test.go +++ b/pkg/instance/endpoint_test.go @@ -1,4 +1,4 @@ -package stfe +package instance import ( //"reflect" @@ -11,8 +11,8 @@ import ( "testing" "github.com/golang/mock/gomock" - "github.com/system-transparency/stfe/pkg/mocks" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/mocks" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) var ( @@ -60,7 +60,7 @@ func TestAddLeaf(t *testing.T) { "%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s", types.ShardHint, types.Delim, "0", types.EOL, types.Checksum, types.Delim, "0000000000000000000000000000000000000000000000000000000000000000", types.EOL, - types.SignatureOverMessage, types.Delim, "4cb410a4d48f52f761a7c01abcc28fd71811b84ded5403caed5e21b374f6aac9637cecd36828f17529fd503413d30ab66d7bb37a31dbf09a90d23b9241c45009", types.EOL, + types.Signature, types.Delim, "4cb410a4d48f52f761a7c01abcc28fd71811b84ded5403caed5e21b374f6aac9637cecd36828f17529fd503413d30ab66d7bb37a31dbf09a90d23b9241c45009", types.EOL, types.VerificationKey, types.Delim, "f2b7a00b625469d32502e06e8b7fad1ef258d4ad0c6cd87b846142ab681957d5", types.EOL, types.DomainHint, types.Delim, "example.com", types.EOL, )) @@ -83,7 +83,7 @@ func TestAddLeaf(t *testing.T) { "%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s"+"%s%s%s%s", types.ShardHint, types.Delim, "1", types.EOL, types.Checksum, types.Delim, "1111111111111111111111111111111111111111111111111111111111111111", types.EOL, - types.SignatureOverMessage, types.Delim, "4cb410a4d48f52f761a7c01abcc28fd71811b84ded5403caed5e21b374f6aac9637cecd36828f17529fd503413d30ab66d7bb37a31dbf09a90d23b9241c45009", types.EOL, + types.Signature, types.Delim, "4cb410a4d48f52f761a7c01abcc28fd71811b84ded5403caed5e21b374f6aac9637cecd36828f17529fd503413d30ab66d7bb37a31dbf09a90d23b9241c45009", types.EOL, types.VerificationKey, types.Delim, "f2b7a00b625469d32502e06e8b7fad1ef258d4ad0c6cd87b846142ab681957d5", types.EOL, types.DomainHint, types.Delim, "example.com", types.EOL, )), diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index 536eb60..87a0c36 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -1,4 +1,4 @@ -package stfe +package instance import ( "context" @@ -9,9 +9,9 @@ import ( "time" "github.com/golang/glog" - "github.com/system-transparency/stfe/pkg/state" - "github.com/system-transparency/stfe/pkg/trillian" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/state" + "golang.sigsum.org/sigsum-log-go/pkg/trillian" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) // Config is a collection of log parameters @@ -36,7 +36,7 @@ type Instance struct { } // Handler implements the http.Handler interface, and contains a reference -// to an STFE server instance as well as a function that uses it. +// to a sigsum server instance as well as a function that uses it. type Handler struct { Instance *Instance Endpoint types.Endpoint @@ -44,7 +44,7 @@ type Handler struct { Handler func(context.Context, *Instance, http.ResponseWriter, *http.Request) (int, error) } -// Handlers returns a list of STFE handlers +// Handlers returns a list of sigsum handlers func (i *Instance) Handlers() []Handler { return []Handler{ Handler{Instance: i, Handler: addLeaf, Endpoint: types.EndpointAddLeaf, Method: http.MethodPost}, @@ -60,7 +60,7 @@ func (i *Instance) Handlers() []Handler { // Path returns a path that should be configured for this handler func (h Handler) Path() string { - return h.Endpoint.Path(h.Instance.Prefix, "st", "v0") + return h.Endpoint.Path(h.Instance.Prefix, "sigsum", "v0") } // ServeHTTP is part of the http.Handler interface diff --git a/pkg/instance/instance_test.go b/pkg/instance/instance_test.go index f864628..1eba2bf 100644 --- a/pkg/instance/instance_test.go +++ b/pkg/instance/instance_test.go @@ -1,11 +1,11 @@ -package stfe +package instance import ( "net/http" "net/http/httptest" "testing" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) // TestHandlers check that the expected handlers are configured @@ -74,7 +74,7 @@ func TestPath(t *testing.T) { Endpoint: types.EndpointAddLeaf, Method: http.MethodPost, } - if got, want := handler.Path(), "testonly/st/v0/add-leaf"; got != want { + if got, want := handler.Path(), "testonly/sigsum/v0/add-leaf"; got != want { t.Errorf("got path %v but wanted %v", got, want) } } diff --git a/pkg/instance/metric.go b/pkg/instance/metric.go index db11bd2..cbd0223 100644 --- a/pkg/instance/metric.go +++ b/pkg/instance/metric.go @@ -1,4 +1,4 @@ -package stfe +package instance import ( "github.com/google/trillian/monitoring" diff --git a/pkg/mocks/state.go b/pkg/mocks/sigsum_state_manager.go index 41d8d08..b999677 100644 --- a/pkg/mocks/state.go +++ b/pkg/mocks/sigsum_state_manager.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/system-transparency/stfe/pkg/state (interfaces: StateManager) +// Source: golang.sigsum.org/sigsum-log-go/pkg/state (interfaces: StateManager) // Package mocks is a generated GoMock package. package mocks @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - types "github.com/system-transparency/stfe/pkg/types" + types "golang.sigsum.org/sigsum-log-go/pkg/types" ) // MockStateManager is a mock of StateManager interface. diff --git a/pkg/mocks/stfe.go b/pkg/mocks/sigsum_trillian_client.go index def5bc6..cc5f8af 100644 --- a/pkg/mocks/stfe.go +++ b/pkg/mocks/sigsum_trillian_client.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/system-transparency/stfe/trillian (interfaces: Client) +// Source: golang.sigsum.org/sigsum-log-go/pkg/trillian (interfaces: Client) // Package mocks is a generated GoMock package. package mocks @@ -9,7 +9,7 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - types "github.com/system-transparency/stfe/pkg/types" + types "golang.sigsum.org/sigsum-log-go/pkg/types" ) // MockClient is a mock of Client interface. diff --git a/pkg/mocks/trillian.go b/pkg/mocks/trillian_log_client.go index 8aa3a58..8aa3a58 100644 --- a/pkg/mocks/trillian.go +++ b/pkg/mocks/trillian_log_client.go diff --git a/pkg/state/state_manager.go b/pkg/state/state_manager.go index dfa73f4..7ddf986 100644 --- a/pkg/state/state_manager.go +++ b/pkg/state/state_manager.go @@ -10,8 +10,8 @@ import ( "github.com/golang/glog" "github.com/google/certificate-transparency-go/schedule" - "github.com/system-transparency/stfe/pkg/trillian" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/trillian" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) // StateManager coordinates access to the log's tree heads and (co)signatures diff --git a/pkg/state/state_manager_test.go b/pkg/state/state_manager_test.go index 08990cc..acc2319 100644 --- a/pkg/state/state_manager_test.go +++ b/pkg/state/state_manager_test.go @@ -12,8 +12,8 @@ import ( "time" "github.com/golang/mock/gomock" - "github.com/system-transparency/stfe/pkg/mocks" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/mocks" + "golang.sigsum.org/sigsum-log-go/pkg/types" ) var ( diff --git a/pkg/trillian/client.go b/pkg/trillian/client.go index 9523e56..2412074 100644 --- a/pkg/trillian/client.go +++ b/pkg/trillian/client.go @@ -7,7 +7,7 @@ import ( "github.com/golang/glog" "github.com/google/trillian" ttypes "github.com/google/trillian/types" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/types" "google.golang.org/grpc/codes" ) diff --git a/pkg/trillian/client_test.go b/pkg/trillian/client_test.go index 6b3d881..70dbd39 100644 --- a/pkg/trillian/client_test.go +++ b/pkg/trillian/client_test.go @@ -9,8 +9,8 @@ import ( "github.com/golang/mock/gomock" "github.com/google/trillian" ttypes "github.com/google/trillian/types" - "github.com/system-transparency/stfe/pkg/mocks" - "github.com/system-transparency/stfe/pkg/types" + "golang.sigsum.org/sigsum-log-go/pkg/mocks" + "golang.sigsum.org/sigsum-log-go/pkg/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/pkg/trillian/util.go b/pkg/trillian/util.go index 4cf31fb..6de78f7 100644 --- a/pkg/trillian/util.go +++ b/pkg/trillian/util.go @@ -4,12 +4,12 @@ import ( "fmt" trillian "github.com/google/trillian/types" - siglog "github.com/system-transparency/stfe/pkg/types" + sigsum "golang.sigsum.org/sigsum-log-go/pkg/types" ) -func treeHeadFromLogRoot(lr *trillian.LogRootV1) *siglog.TreeHead { - var hash [siglog.HashSize]byte - th := siglog.TreeHead{ +func treeHeadFromLogRoot(lr *trillian.LogRootV1) *sigsum.TreeHead { + var hash [sigsum.HashSize]byte + th := sigsum.TreeHead{ Timestamp: uint64(lr.TimestampNanos / 1000 / 1000 / 1000), TreeSize: uint64(lr.TreeSize), RootHash: &hash, @@ -18,14 +18,14 @@ func treeHeadFromLogRoot(lr *trillian.LogRootV1) *siglog.TreeHead { return &th } -func nodePathFromHashes(hashes [][]byte) ([]*[siglog.HashSize]byte, error) { - var path []*[siglog.HashSize]byte +func nodePathFromHashes(hashes [][]byte) ([]*[sigsum.HashSize]byte, error) { + var path []*[sigsum.HashSize]byte for _, hash := range hashes { - if len(hash) != siglog.HashSize { + if len(hash) != sigsum.HashSize { return nil, fmt.Errorf("unexpected hash length: %v", len(hash)) } - var h [siglog.HashSize]byte + var h [sigsum.HashSize]byte copy(h[:], hash) path = append(path, &h) } diff --git a/pkg/types/ascii.go b/pkg/types/ascii.go index d27d79b..7643ab1 100644 --- a/pkg/types/ascii.go +++ b/pkg/types/ascii.go @@ -30,7 +30,7 @@ const ( // New leaf keys ShardHint = "shard_hint" Checksum = "checksum" - SignatureOverMessage = "signature_over_message" + Signature = "signature" VerificationKey = "verification_key" DomainHint = "domain_hint" @@ -54,7 +54,6 @@ const ( RootHash = "root_hash" // Signature and signer-identity keys - Signature = "signature" KeyHash = "key_hash" ) @@ -201,7 +200,7 @@ func (l *Leaf) MarshalASCII(w io.Writer) error { if err := writeASCII(w, Checksum, hex.EncodeToString(l.Checksum[:])); err != nil { return fmt.Errorf("writeASCII: %v", err) } - if err := writeASCII(w, SignatureOverMessage, hex.EncodeToString(l.Signature[:])); err != nil { + if err := writeASCII(w, Signature, hex.EncodeToString(l.Signature[:])); err != nil { return fmt.Errorf("writeASCII: %v", err) } if err := writeASCII(w, KeyHash, hex.EncodeToString(l.KeyHash[:])); err != nil { @@ -393,7 +392,7 @@ func (req *LeafRequest) UnmarshalASCII(r io.Reader) error { if req.Checksum, err = msg.GetHash(Checksum); err != nil { return fmt.Errorf("GetHash(Checksum): %v", err) } - if req.Signature, err = msg.GetSignature(SignatureOverMessage); err != nil { + if req.Signature, err = msg.GetSignature(Signature); err != nil { return fmt.Errorf("GetSignature: %v", err) } if req.VerificationKey, err = msg.GetVerificationKey(VerificationKey); err != nil { diff --git a/pkg/types/ascii_test.go b/pkg/types/ascii_test.go index 92732f9..74a1e37 100644 --- a/pkg/types/ascii_test.go +++ b/pkg/types/ascii_test.go @@ -106,12 +106,12 @@ func TestLeafMarshalASCII(t *testing.T) { // Leaf 1 ShardHint, Delim, 123, EOL, Checksum, Delim, testBuffer32[:], EOL, - SignatureOverMessage, Delim, testBuffer64[:], EOL, + Signature, Delim, testBuffer64[:], EOL, KeyHash, Delim, testBuffer32[:], EOL, // Leaf 2 ShardHint, Delim, 456, EOL, Checksum, Delim, testBuffer32[:], EOL, - SignatureOverMessage, Delim, testBuffer64[:], EOL, + Signature, Delim, testBuffer64[:], EOL, KeyHash, Delim, testBuffer32[:], EOL, )) buf := bytes.NewBuffer(nil) @@ -399,7 +399,7 @@ func TestLeafRequestUnmarshalASCII(t *testing.T) { "%s%s%d%s"+"%s%s%x%s"+"%s%s%x%s"+"%s%s%x%s"+"%s%s%s%s", ShardHint, Delim, 123, EOL, Checksum, Delim, testBuffer32[:], EOL, - SignatureOverMessage, Delim, testBuffer64[:], EOL, + Signature, Delim, testBuffer64[:], EOL, VerificationKey, Delim, testBuffer32[:], EOL, DomainHint, Delim, "example.com", EOL, )), diff --git a/pkg/types/types_test.go b/pkg/types/types_test.go index da89c59..a71d14b 100644 --- a/pkg/types/types_test.go +++ b/pkg/types/types_test.go @@ -5,42 +5,42 @@ import ( ) func TestEndpointPath(t *testing.T) { - base, prefix, proto := "example.com", "log", "st/v0" + base, prefix, proto := "example.com", "log", "sigsum/v0" for _, table := range []struct { endpoint Endpoint want string }{ { endpoint: EndpointAddLeaf, - want: "example.com/log/st/v0/add-leaf", + want: "example.com/log/sigsum/v0/add-leaf", }, { endpoint: EndpointAddCosignature, - want: "example.com/log/st/v0/add-cosignature", + want: "example.com/log/sigsum/v0/add-cosignature", }, { endpoint: EndpointGetTreeHeadLatest, - want: "example.com/log/st/v0/get-tree-head-latest", + want: "example.com/log/sigsum/v0/get-tree-head-latest", }, { endpoint: EndpointGetTreeHeadToSign, - want: "example.com/log/st/v0/get-tree-head-to-sign", + want: "example.com/log/sigsum/v0/get-tree-head-to-sign", }, { endpoint: EndpointGetTreeHeadCosigned, - want: "example.com/log/st/v0/get-tree-head-cosigned", + want: "example.com/log/sigsum/v0/get-tree-head-cosigned", }, { endpoint: EndpointGetConsistencyProof, - want: "example.com/log/st/v0/get-consistency-proof", + want: "example.com/log/sigsum/v0/get-consistency-proof", }, { endpoint: EndpointGetProofByHash, - want: "example.com/log/st/v0/get-proof-by-hash", + want: "example.com/log/sigsum/v0/get-proof-by-hash", }, { endpoint: EndpointGetLeaves, - want: "example.com/log/st/v0/get-leaves", + want: "example.com/log/sigsum/v0/get-leaves", }, } { if got, want := table.endpoint.Path(base+"/"+prefix+"/"+proto), table.want; got != want { |