summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/internal/tlog/ct_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/go/internal/tlog/ct_test.go')
-rw-r--r--libgo/go/cmd/go/internal/tlog/ct_test.go96
1 files changed, 0 insertions, 96 deletions
diff --git a/libgo/go/cmd/go/internal/tlog/ct_test.go b/libgo/go/cmd/go/internal/tlog/ct_test.go
deleted file mode 100644
index c2d9aebe79a..00000000000
--- a/libgo/go/cmd/go/internal/tlog/ct_test.go
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package tlog
-
-import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "net/http"
- "net/url"
- "os"
- "testing"
-)
-
-func TestCertificateTransparency(t *testing.T) {
- // Test that we can verify actual Certificate Transparency proofs.
- // (The other tests check that we can verify our own proofs;
- // this is a test that the two are compatible.)
-
- if testing.Short() {
- t.Skip("skipping in -short mode")
- }
-
- var root ctTree
- httpGET(t, "http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth", &root)
-
- var leaf ctEntries
- httpGET(t, "http://ct.googleapis.com/logs/argon2020/ct/v1/get-entries?start=10000&end=10000", &leaf)
- hash := RecordHash(leaf.Entries[0].Data)
-
- var rp ctRecordProof
- httpGET(t, "http://ct.googleapis.com/logs/argon2020/ct/v1/get-proof-by-hash?tree_size="+fmt.Sprint(root.Size)+"&hash="+url.QueryEscape(hash.String()), &rp)
-
- err := CheckRecord(rp.Proof, root.Size, root.Hash, 10000, hash)
- if err != nil {
- t.Fatal(err)
- }
-
- var tp ctTreeProof
- httpGET(t, "http://ct.googleapis.com/logs/argon2020/ct/v1/get-sth-consistency?first=3654490&second="+fmt.Sprint(root.Size), &tp)
-
- oh, _ := ParseHash("AuIZ5V6sDUj1vn3Y1K85oOaQ7y+FJJKtyRTl1edIKBQ=")
- err = CheckTree(tp.Proof, root.Size, root.Hash, 3654490, oh)
- if err != nil {
- t.Fatal(err)
- }
-}
-
-type ctTree struct {
- Size int64 `json:"tree_size"`
- Hash Hash `json:"sha256_root_hash"`
-}
-
-type ctEntries struct {
- Entries []*ctEntry
-}
-
-type ctEntry struct {
- Data []byte `json:"leaf_input"`
-}
-
-type ctRecordProof struct {
- Index int64 `json:"leaf_index"`
- Proof RecordProof `json:"audit_path"`
-}
-
-type ctTreeProof struct {
- Proof TreeProof `json:"consistency"`
-}
-
-func httpGET(t *testing.T, url string, targ interface{}) {
- if testing.Verbose() {
- println()
- println(url)
- }
- resp, err := http.Get(url)
- if err != nil {
- t.Fatal(err)
- }
- defer resp.Body.Close()
- data, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- t.Fatal(err)
- }
- if testing.Verbose() {
- os.Stdout.Write(data)
- }
- err = json.Unmarshal(data, targ)
- if err != nil {
- println(url)
- os.Stdout.Write(data)
- t.Fatal(err)
- }
-}