diff options
Diffstat (limited to 'type.go')
-rw-r--r-- | type.go | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -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, + } } |