diff options
Diffstat (limited to 'pkg/types/leaf.go')
-rw-r--r-- | pkg/types/leaf.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pkg/types/leaf.go b/pkg/types/leaf.go index 1476ead..e7e81dd 100644 --- a/pkg/types/leaf.go +++ b/pkg/types/leaf.go @@ -24,9 +24,16 @@ type Leaf struct { type Leaves []Leaf func (s *Statement) ToBinary() []byte { - b := make([]byte, 40) - binary.BigEndian.PutUint64(b[0:8], s.ShardHint) - copy(b[8:40], s.Checksum[:]) + namespace := fmt.Sprintf("tree_leaf:v0:%d@sigsum.org", s.ShardHint) + b := make([]byte, 6+4+len(namespace)+4+0+4+6+4+HashSize) + + copy(b[0:6], "SSHSIG") + i := 6 + i += putSSHString(b[i:], namespace) + i += putSSHString(b[i:], "") + i += putSSHString(b[i:], "sha256") + i += putSSHString(b[i:], string(s.Checksum[:])) + return b } |