Index: net/cert/ct_serialization.cc |
diff --git a/net/cert/ct_serialization.cc b/net/cert/ct_serialization.cc |
index 7bc7083815e56cc2f94fd66d7e44b2361725321e..41ff63cf8ed11ffd027b7720d278cdbddd06fb3a 100644 |
--- a/net/cert/ct_serialization.cc |
+++ b/net/cert/ct_serialization.cc |
@@ -428,6 +428,21 @@ bool DecodeSignedCertificateTimestamp( |
return true; |
} |
+void EncodeSignedCertificateTimestamp( |
+ const scoped_refptr<ct::SignedCertificateTimestamp>& input, |
+ std::string* output) { |
+ // This function only supports serialization of V1 SCTs. |
+ DCHECK_EQ(SignedCertificateTimestamp::V1, input->version); |
+ WriteUint(kVersionLength, input->version, output); |
+ WriteEncodedBytes( |
+ base::StringPiece(reinterpret_cast<const char*>(input->log_id.data()), |
+ kLogIdLength), |
+ output); |
+ WriteTimeSinceEpoch(input->timestamp, output); |
+ WriteVariableBytes(kExtensionsLengthBytes, input->extensions, output); |
+ EncodeDigitallySigned(input->signature, output); |
+} |
+ |
bool EncodeSCTListForTesting(const base::StringPiece& sct, |
std::string* output) { |
std::string encoded_sct; |