Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / net / cert / signed_tree_head.h
blobfdbcdc48499c4f439cac0471ffe32be81fe41295
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_CERT_SIGNED_TREE_HEAD_H_
6 #define NET_CERT_SIGNED_TREE_HEAD_H_
8 #include <string>
9 #include <vector>
11 #include "base/time/time.h"
12 #include "net/base/hash_value.h"
13 #include "net/base/net_export.h"
14 #include "net/cert/signed_certificate_timestamp.h"
16 namespace net {
18 namespace ct {
20 static const uint8_t kSthRootHashLength = 32;
22 // Signed Tree Head as defined in section 3.5. of RFC6962
23 struct NET_EXPORT SignedTreeHead {
24 // Version enum in RFC 6962, Section 3.2. Note that while in the current
25 // RFC the STH and SCT share the versioning scheme, there are plans in
26 // RFC6962-bis to use separate versions, so using a separate scheme here.
27 enum Version { V1 = 0, };
29 Version version;
30 base::Time timestamp;
31 uint64_t tree_size;
32 char sha256_root_hash[kSthRootHashLength];
33 DigitallySigned signature;
36 } // namespace ct
38 } // namespace net
40 #endif