Chromium Code Reviews| Index: net/cert/merkle_tree_leaf.cc |
| diff --git a/net/cert/merkle_tree_leaf.cc b/net/cert/merkle_tree_leaf.cc |
| index 6d67255e36f49d630f55ed352d7d33a9e93d2ad4..5a87df2e087c443ec03b74d92fdc770e29b0db8a 100644 |
| --- a/net/cert/merkle_tree_leaf.cc |
| +++ b/net/cert/merkle_tree_leaf.cc |
| @@ -4,7 +4,9 @@ |
| #include "net/cert/merkle_tree_leaf.h" |
| +#include "crypto/sha2.h" |
| #include "net/cert/ct_objects_extractor.h" |
| +#include "net/cert/ct_serialization.h" |
| #include "net/cert/x509_certificate.h" |
| namespace net { |
| @@ -15,6 +17,16 @@ MerkleTreeLeaf::MerkleTreeLeaf() {} |
| MerkleTreeLeaf::~MerkleTreeLeaf() {} |
| +bool Hash(const MerkleTreeLeaf& tree_leaf, std::string* out) { |
| + std::string leaf_in_tls_format; |
| + if (!EncodeTreeLeaf(tree_leaf, &leaf_in_tls_format)) |
| + return false; |
| + |
| + // Prepend 0 byte as per RFC 6962, section-2.1 |
| + *out = crypto::SHA256HashString("\x00" + leaf_in_tls_format); |
|
eroman
2016/05/06 23:51:22
This does not behave as described -- no 0 byte is
Rob Percival
2016/05/09 12:36:05
Done.
|
| + return true; |
| +} |
| + |
| bool GetMerkleTreeLeaf(const X509Certificate* cert, |
| const SignedCertificateTimestamp* sct, |
| MerkleTreeLeaf* merkle_tree_leaf) { |