Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: net/cert/merkle_tree_leaf.cc

Issue 1945183005: Adds function for generating MerkleTreeLeaf hash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ct_merkle_tree_leaf_encode
Patch Set: Addresses review comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698