From b8a8e56d4a311f15060efcd455c444949b2d20b9 Mon Sep 17 00:00:00 2001 From: Rasmus Dahlberg Date: Fri, 30 Oct 2020 13:27:05 +0100 Subject: started refactoring add-entry code path according to doc --- type.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'type.go') diff --git a/type.go b/type.go index 060ce30..5a32964 100644 --- a/type.go +++ b/type.go @@ -272,8 +272,9 @@ func StItemToB64(i StItem) (string, error) { // Appendix is extra data that Trillian can store about a leaf type Appendix struct { - Signature []byte `tls:"minlen:0,maxlen:16383"` - Chain []RawCertificate `tls:"minlen:0,maxlen:65535"` + Signature []byte `tls:"minlen:0,maxlen:16383"` + SignatureScheme uint16 + Chain []RawCertificate `tls:"minlen:0,maxlen:65535"` } // RawCertificate is a serialized X.509 certificate @@ -282,10 +283,15 @@ type RawCertificate struct { } // NewAppendix creates a new leaf Appendix for an X.509 chain and signature -func NewAppendix(x509Chain []*x509.Certificate, signature []byte) Appendix { - chain := make([]RawCertificate, 0, 2) // TODO: base length on config param +func NewAppendix(x509Chain []*x509.Certificate, signature []byte, signatureScheme uint16) Appendix { + chain := make([]RawCertificate, 0, len(x509Chain)) for _, c := range x509Chain { chain = append(chain, RawCertificate{c.Raw}) } - return Appendix{Signature: signature, Chain: chain} + + return Appendix{ + Signature: signature, + Chain: chain, + SignatureScheme: signatureScheme, + } } -- cgit v1.2.3