Force the Public Metadata fingerprint value to be passed as big-endian.
PiperOrigin-RevId: 529719667
diff --git a/quiche/blind_sign_auth/blind_sign_auth.cc b/quiche/blind_sign_auth/blind_sign_auth.cc
index a0e9d95..8715eac 100644
--- a/quiche/blind_sign_auth/blind_sign_auth.cc
+++ b/quiche/blind_sign_auth/blind_sign_auth.cc
@@ -23,6 +23,7 @@
#include "quiche/blind_sign_auth/anonymous_tokens/proto/anonymous_tokens.pb.h"
#include "quiche/blind_sign_auth/blind_sign_http_response.h"
#include "quiche/common/platform/api/quiche_logging.h"
+#include "quiche/common/quiche_endian.h"
#include "quiche/common/quiche_random.h"
namespace quiche {
@@ -116,7 +117,11 @@
callback(fingerprint_status);
return;
}
- plaintext_message.set_public_metadata(absl::StrCat(fingerprint));
+ uint64_t fingerprint_big_endian = QuicheEndian::HostToNet64(fingerprint);
+ std::string key;
+ key.resize(sizeof(fingerprint_big_endian));
+ memcpy(key.data(), &fingerprint_big_endian, sizeof(fingerprint_big_endian));
+ plaintext_message.set_public_metadata(key);
plaintext_tokens.push_back(plaintext_message);
}