Browse Source

Temp commit with reproducibility changes

dettanym 4 years ago
parent
commit
a7dea2f6e6

+ 1 - 1
App/App.cpp

@@ -112,7 +112,7 @@ int main(__attribute__((unused)) int argc, __attribute__((unused)) char* argv[])
     status = sgx_create_enclave(Decryptor_PATH, SGX_DEBUG_FLAG, &launch_token, &launch_token_updated, &enclave_id, NULL);
     status = sgx_create_enclave(Decryptor_PATH, SGX_DEBUG_FLAG, &launch_token, &launch_token_updated, &enclave_id, NULL);
     if(status != SGX_SUCCESS)
     if(status != SGX_SUCCESS)
     {
     {
-        printf("\nLoad Enclave Failure");
+        printf("\n%02x-Load Enclave Failure", status);
         return -1;
         return -1;
     }
     }
     printf("\nDecryptor - EnclaveID %" PRIx64, enclave_id);
     printf("\nDecryptor - EnclaveID %" PRIx64, enclave_id);

+ 0 - 3199
App/ProtobufLAMessages.pb.cpp

@@ -1,3199 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: ProtobufLAMessages.proto
-
-#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "ProtobufLAMessages.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/stubs/once.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/io/zero_copy_stream_impl_lite.h>
-// @@protoc_insertion_point(includes)
-
-void protobuf_ShutdownFile_ProtobufLAMessages_2eproto() {
-  delete protobuf_sgx_attributes_t::default_instance_;
-  delete protobuf_sgx_ec256_public_t::default_instance_;
-  delete protobuf_sgx_report_body_t::default_instance_;
-  delete protobuf_sgx_report_t::default_instance_;
-  delete protobuf_sgx_target_info_t::default_instance_;
-  delete protobuf_sgx_dh_msg1_t::default_instance_;
-  delete protobuf_sgx_dh_msg2_t::default_instance_;
-  delete protobuf_sgx_dh_msg3_body_t::default_instance_;
-  delete protobuf_sgx_dh_msg3_t::default_instance_;
-  delete protobuf_post_LA_encrypted_msg_t::default_instance_;
-}
-
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-void protobuf_AddDesc_ProtobufLAMessages_2eproto_impl() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-#else
-void protobuf_AddDesc_ProtobufLAMessages_2eproto() {
-  static bool already_here = false;
-  if (already_here) return;
-  already_here = true;
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-#endif
-  protobuf_sgx_attributes_t::default_instance_ = new protobuf_sgx_attributes_t();
-  protobuf_sgx_ec256_public_t::default_instance_ = new protobuf_sgx_ec256_public_t();
-  protobuf_sgx_report_body_t::default_instance_ = new protobuf_sgx_report_body_t();
-  protobuf_sgx_report_t::default_instance_ = new protobuf_sgx_report_t();
-  protobuf_sgx_target_info_t::default_instance_ = new protobuf_sgx_target_info_t();
-  protobuf_sgx_dh_msg1_t::default_instance_ = new protobuf_sgx_dh_msg1_t();
-  protobuf_sgx_dh_msg2_t::default_instance_ = new protobuf_sgx_dh_msg2_t();
-  protobuf_sgx_dh_msg3_body_t::default_instance_ = new protobuf_sgx_dh_msg3_body_t();
-  protobuf_sgx_dh_msg3_t::default_instance_ = new protobuf_sgx_dh_msg3_t();
-  protobuf_post_LA_encrypted_msg_t::default_instance_ = new protobuf_post_LA_encrypted_msg_t();
-  protobuf_sgx_attributes_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_ec256_public_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_report_body_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_report_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_target_info_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_dh_msg1_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_dh_msg2_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_dh_msg3_body_t::default_instance_->InitAsDefaultInstance();
-  protobuf_sgx_dh_msg3_t::default_instance_->InitAsDefaultInstance();
-  protobuf_post_LA_encrypted_msg_t::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ProtobufLAMessages_2eproto);
-}
-
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_ProtobufLAMessages_2eproto_once_);
-void protobuf_AddDesc_ProtobufLAMessages_2eproto() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_ProtobufLAMessages_2eproto_once_,
-                 &protobuf_AddDesc_ProtobufLAMessages_2eproto_impl);
-}
-#else
-// Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_ProtobufLAMessages_2eproto {
-  StaticDescriptorInitializer_ProtobufLAMessages_2eproto() {
-    protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  }
-} static_descriptor_initializer_ProtobufLAMessages_2eproto_;
-#endif
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_attributes_t::kFlagsFieldNumber;
-const int protobuf_sgx_attributes_t::kXfrmFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_attributes_t::protobuf_sgx_attributes_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_attributes_t)
-}
-
-void protobuf_sgx_attributes_t::InitAsDefaultInstance() {
-}
-
-protobuf_sgx_attributes_t::protobuf_sgx_attributes_t(const protobuf_sgx_attributes_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_attributes_t)
-}
-
-void protobuf_sgx_attributes_t::SharedCtor() {
-  _cached_size_ = 0;
-  flags_ = GOOGLE_ULONGLONG(0);
-  xfrm_ = GOOGLE_ULONGLONG(0);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_attributes_t::~protobuf_sgx_attributes_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_attributes_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_attributes_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-  }
-}
-
-void protobuf_sgx_attributes_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_attributes_t& protobuf_sgx_attributes_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_attributes_t* protobuf_sgx_attributes_t::default_instance_ = NULL;
-
-protobuf_sgx_attributes_t* protobuf_sgx_attributes_t::New() const {
-  return new protobuf_sgx_attributes_t;
-}
-
-void protobuf_sgx_attributes_t::Clear() {
-#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
-  &reinterpret_cast<protobuf_sgx_attributes_t*>(16)->f) - \
-   reinterpret_cast<char*>(16))
-
-#define ZR_(first, last) do {                              \
-    size_t f = OFFSET_OF_FIELD_(first);                    \
-    size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
-    ::memset(&first, 0, n);                                \
-  } while (0)
-
-  ZR_(flags_, xfrm_);
-
-#undef OFFSET_OF_FIELD_
-#undef ZR_
-
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_attributes_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_attributes_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required uint64 flags = 1;
-      case 1: {
-        if (tag == 8) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
-                 input, &flags_)));
-          set_has_flags();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(16)) goto parse_xfrm;
-        break;
-      }
-
-      // required uint64 xfrm = 2;
-      case 2: {
-        if (tag == 16) {
-         parse_xfrm:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
-                 input, &xfrm_)));
-          set_has_xfrm();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_attributes_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_attributes_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_attributes_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_attributes_t)
-  // required uint64 flags = 1;
-  if (has_flags()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->flags(), output);
-  }
-
-  // required uint64 xfrm = 2;
-  if (has_xfrm()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->xfrm(), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_attributes_t)
-}
-
-int protobuf_sgx_attributes_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required uint64 flags = 1;
-    if (has_flags()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt64Size(
-          this->flags());
-    }
-
-    // required uint64 xfrm = 2;
-    if (has_xfrm()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt64Size(
-          this->xfrm());
-    }
-
-  }
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_attributes_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_attributes_t*>(&from));
-}
-
-void protobuf_sgx_attributes_t::MergeFrom(const protobuf_sgx_attributes_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_flags()) {
-      set_flags(from.flags());
-    }
-    if (from.has_xfrm()) {
-      set_xfrm(from.xfrm());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_attributes_t::CopyFrom(const protobuf_sgx_attributes_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_attributes_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-
-  return true;
-}
-
-void protobuf_sgx_attributes_t::Swap(protobuf_sgx_attributes_t* other) {
-  if (other != this) {
-    std::swap(flags_, other->flags_);
-    std::swap(xfrm_, other->xfrm_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_attributes_t::GetTypeName() const {
-  return "protobuf_sgx_attributes_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_ec256_public_t::kGxFieldNumber;
-const int protobuf_sgx_ec256_public_t::kGyFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_ec256_public_t::protobuf_sgx_ec256_public_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_ec256_public_t)
-}
-
-void protobuf_sgx_ec256_public_t::InitAsDefaultInstance() {
-}
-
-protobuf_sgx_ec256_public_t::protobuf_sgx_ec256_public_t(const protobuf_sgx_ec256_public_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_ec256_public_t)
-}
-
-void protobuf_sgx_ec256_public_t::SharedCtor() {
-  _cached_size_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_ec256_public_t::~protobuf_sgx_ec256_public_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_ec256_public_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_ec256_public_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-  }
-}
-
-void protobuf_sgx_ec256_public_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_ec256_public_t& protobuf_sgx_ec256_public_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_ec256_public_t* protobuf_sgx_ec256_public_t::default_instance_ = NULL;
-
-protobuf_sgx_ec256_public_t* protobuf_sgx_ec256_public_t::New() const {
-  return new protobuf_sgx_ec256_public_t;
-}
-
-void protobuf_sgx_ec256_public_t::Clear() {
-  gx_.Clear();
-  gy_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_ec256_public_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_ec256_public_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated uint32 gx = 1 [packed = true];
-      case 1: {
-        if (tag == 10) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_gx())));
-        } else if (tag == 8) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 10, input, this->mutable_gx())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_gy;
-        break;
-      }
-
-      // repeated uint32 gy = 2 [packed = true];
-      case 2: {
-        if (tag == 18) {
-         parse_gy:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_gy())));
-        } else if (tag == 16) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 18, input, this->mutable_gy())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_ec256_public_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_ec256_public_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_ec256_public_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_ec256_public_t)
-  // repeated uint32 gx = 1 [packed = true];
-  if (this->gx_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_gx_cached_byte_size_);
-  }
-  for (int i = 0; i < this->gx_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->gx(i), output);
-  }
-
-  // repeated uint32 gy = 2 [packed = true];
-  if (this->gy_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_gy_cached_byte_size_);
-  }
-  for (int i = 0; i < this->gy_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->gy(i), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_ec256_public_t)
-}
-
-int protobuf_sgx_ec256_public_t::ByteSize() const {
-  int total_size = 0;
-
-  // repeated uint32 gx = 1 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->gx_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->gx(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _gx_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 gy = 2 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->gy_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->gy(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _gy_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_ec256_public_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_ec256_public_t*>(&from));
-}
-
-void protobuf_sgx_ec256_public_t::MergeFrom(const protobuf_sgx_ec256_public_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  gx_.MergeFrom(from.gx_);
-  gy_.MergeFrom(from.gy_);
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_ec256_public_t::CopyFrom(const protobuf_sgx_ec256_public_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_ec256_public_t::IsInitialized() const {
-
-  return true;
-}
-
-void protobuf_sgx_ec256_public_t::Swap(protobuf_sgx_ec256_public_t* other) {
-  if (other != this) {
-    gx_.Swap(&other->gx_);
-    gy_.Swap(&other->gy_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_ec256_public_t::GetTypeName() const {
-  return "protobuf_sgx_ec256_public_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_report_body_t::kCpuSvnFieldNumber;
-const int protobuf_sgx_report_body_t::kMiscSelectFieldNumber;
-const int protobuf_sgx_report_body_t::kReserved1FieldNumber;
-const int protobuf_sgx_report_body_t::kAttributesFieldNumber;
-const int protobuf_sgx_report_body_t::kMrEnclaveFieldNumber;
-const int protobuf_sgx_report_body_t::kReserved2FieldNumber;
-const int protobuf_sgx_report_body_t::kMrSignerFieldNumber;
-const int protobuf_sgx_report_body_t::kReserved3FieldNumber;
-const int protobuf_sgx_report_body_t::kIsvProdIdFieldNumber;
-const int protobuf_sgx_report_body_t::kIsvSvnFieldNumber;
-const int protobuf_sgx_report_body_t::kReserved4FieldNumber;
-const int protobuf_sgx_report_body_t::kReportDataFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_report_body_t::protobuf_sgx_report_body_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_report_body_t)
-}
-
-void protobuf_sgx_report_body_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  attributes_ = const_cast< ::protobuf_sgx_attributes_t*>(
-      ::protobuf_sgx_attributes_t::internal_default_instance());
-#else
-  attributes_ = const_cast< ::protobuf_sgx_attributes_t*>(&::protobuf_sgx_attributes_t::default_instance());
-#endif
-}
-
-protobuf_sgx_report_body_t::protobuf_sgx_report_body_t(const protobuf_sgx_report_body_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_report_body_t)
-}
-
-void protobuf_sgx_report_body_t::SharedCtor() {
-  _cached_size_ = 0;
-  misc_select_ = 0u;
-  attributes_ = NULL;
-  isv_prod_id_ = 0u;
-  isv_svn_ = 0u;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_report_body_t::~protobuf_sgx_report_body_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_report_body_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_report_body_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete attributes_;
-  }
-}
-
-void protobuf_sgx_report_body_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_report_body_t& protobuf_sgx_report_body_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_report_body_t* protobuf_sgx_report_body_t::default_instance_ = NULL;
-
-protobuf_sgx_report_body_t* protobuf_sgx_report_body_t::New() const {
-  return new protobuf_sgx_report_body_t;
-}
-
-void protobuf_sgx_report_body_t::Clear() {
-  if (_has_bits_[0 / 32] & 10) {
-    misc_select_ = 0u;
-    if (has_attributes()) {
-      if (attributes_ != NULL) attributes_->::protobuf_sgx_attributes_t::Clear();
-    }
-  }
-  if (_has_bits_[8 / 32] & 768) {
-    isv_prod_id_ = 0u;
-    isv_svn_ = 0u;
-  }
-  cpu_svn_.Clear();
-  reserved1_.Clear();
-  mr_enclave_.Clear();
-  reserved2_.Clear();
-  mr_signer_.Clear();
-  reserved3_.Clear();
-  reserved4_.Clear();
-  report_data_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_report_body_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_report_body_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated uint32 cpu_svn = 1 [packed = true];
-      case 1: {
-        if (tag == 10) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_cpu_svn())));
-        } else if (tag == 8) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 10, input, this->mutable_cpu_svn())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_reserved1;
-        break;
-      }
-
-      // repeated uint32 reserved1 = 2 [packed = true];
-      case 2: {
-        if (tag == 18) {
-         parse_reserved1:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved1())));
-        } else if (tag == 16) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 18, input, this->mutable_reserved1())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(26)) goto parse_mr_enclave;
-        break;
-      }
-
-      // repeated uint32 mr_enclave = 3 [packed = true];
-      case 3: {
-        if (tag == 26) {
-         parse_mr_enclave:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_mr_enclave())));
-        } else if (tag == 24) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 26, input, this->mutable_mr_enclave())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(34)) goto parse_reserved2;
-        break;
-      }
-
-      // repeated uint32 reserved2 = 4 [packed = true];
-      case 4: {
-        if (tag == 34) {
-         parse_reserved2:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved2())));
-        } else if (tag == 32) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 34, input, this->mutable_reserved2())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(42)) goto parse_mr_signer;
-        break;
-      }
-
-      // repeated uint32 mr_signer = 5 [packed = true];
-      case 5: {
-        if (tag == 42) {
-         parse_mr_signer:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_mr_signer())));
-        } else if (tag == 40) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 42, input, this->mutable_mr_signer())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(50)) goto parse_reserved3;
-        break;
-      }
-
-      // repeated uint32 reserved3 = 6 [packed = true];
-      case 6: {
-        if (tag == 50) {
-         parse_reserved3:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved3())));
-        } else if (tag == 48) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 50, input, this->mutable_reserved3())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(58)) goto parse_reserved4;
-        break;
-      }
-
-      // repeated uint32 reserved4 = 7 [packed = true];
-      case 7: {
-        if (tag == 58) {
-         parse_reserved4:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved4())));
-        } else if (tag == 56) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 58, input, this->mutable_reserved4())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(66)) goto parse_report_data;
-        break;
-      }
-
-      // repeated uint32 report_data = 8 [packed = true];
-      case 8: {
-        if (tag == 66) {
-         parse_report_data:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_report_data())));
-        } else if (tag == 64) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 66, input, this->mutable_report_data())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(72)) goto parse_misc_select;
-        break;
-      }
-
-      // required uint32 misc_select = 9;
-      case 9: {
-        if (tag == 72) {
-         parse_misc_select:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &misc_select_)));
-          set_has_misc_select();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(82)) goto parse_attributes;
-        break;
-      }
-
-      // required .protobuf_sgx_attributes_t attributes = 10;
-      case 10: {
-        if (tag == 82) {
-         parse_attributes:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_attributes()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(88)) goto parse_isv_prod_id;
-        break;
-      }
-
-      // required uint32 isv_prod_id = 11;
-      case 11: {
-        if (tag == 88) {
-         parse_isv_prod_id:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &isv_prod_id_)));
-          set_has_isv_prod_id();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(96)) goto parse_isv_svn;
-        break;
-      }
-
-      // required uint32 isv_svn = 12;
-      case 12: {
-        if (tag == 96) {
-         parse_isv_svn:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &isv_svn_)));
-          set_has_isv_svn();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_report_body_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_report_body_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_report_body_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_report_body_t)
-  // repeated uint32 cpu_svn = 1 [packed = true];
-  if (this->cpu_svn_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_cpu_svn_cached_byte_size_);
-  }
-  for (int i = 0; i < this->cpu_svn_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->cpu_svn(i), output);
-  }
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  if (this->reserved1_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved1_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved1_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved1(i), output);
-  }
-
-  // repeated uint32 mr_enclave = 3 [packed = true];
-  if (this->mr_enclave_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(3, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_mr_enclave_cached_byte_size_);
-  }
-  for (int i = 0; i < this->mr_enclave_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->mr_enclave(i), output);
-  }
-
-  // repeated uint32 reserved2 = 4 [packed = true];
-  if (this->reserved2_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(4, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved2_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved2_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved2(i), output);
-  }
-
-  // repeated uint32 mr_signer = 5 [packed = true];
-  if (this->mr_signer_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(5, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_mr_signer_cached_byte_size_);
-  }
-  for (int i = 0; i < this->mr_signer_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->mr_signer(i), output);
-  }
-
-  // repeated uint32 reserved3 = 6 [packed = true];
-  if (this->reserved3_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(6, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved3_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved3_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved3(i), output);
-  }
-
-  // repeated uint32 reserved4 = 7 [packed = true];
-  if (this->reserved4_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(7, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved4_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved4_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved4(i), output);
-  }
-
-  // repeated uint32 report_data = 8 [packed = true];
-  if (this->report_data_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(8, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_report_data_cached_byte_size_);
-  }
-  for (int i = 0; i < this->report_data_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->report_data(i), output);
-  }
-
-  // required uint32 misc_select = 9;
-  if (has_misc_select()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->misc_select(), output);
-  }
-
-  // required .protobuf_sgx_attributes_t attributes = 10;
-  if (has_attributes()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      10, this->attributes(), output);
-  }
-
-  // required uint32 isv_prod_id = 11;
-  if (has_isv_prod_id()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(11, this->isv_prod_id(), output);
-  }
-
-  // required uint32 isv_svn = 12;
-  if (has_isv_svn()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(12, this->isv_svn(), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_report_body_t)
-}
-
-int protobuf_sgx_report_body_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
-    // required uint32 misc_select = 9;
-    if (has_misc_select()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->misc_select());
-    }
-
-    // required .protobuf_sgx_attributes_t attributes = 10;
-    if (has_attributes()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->attributes());
-    }
-
-  }
-  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    // required uint32 isv_prod_id = 11;
-    if (has_isv_prod_id()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->isv_prod_id());
-    }
-
-    // required uint32 isv_svn = 12;
-    if (has_isv_svn()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->isv_svn());
-    }
-
-  }
-  // repeated uint32 cpu_svn = 1 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->cpu_svn_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->cpu_svn(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _cpu_svn_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved1_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved1(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved1_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 mr_enclave = 3 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->mr_enclave_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->mr_enclave(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _mr_enclave_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved2 = 4 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved2_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved2(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved2_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 mr_signer = 5 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->mr_signer_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->mr_signer(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _mr_signer_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved3 = 6 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved3_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved3(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved3_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved4 = 7 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved4_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved4(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved4_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 report_data = 8 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->report_data_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->report_data(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _report_data_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_report_body_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_report_body_t*>(&from));
-}
-
-void protobuf_sgx_report_body_t::MergeFrom(const protobuf_sgx_report_body_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  cpu_svn_.MergeFrom(from.cpu_svn_);
-  reserved1_.MergeFrom(from.reserved1_);
-  mr_enclave_.MergeFrom(from.mr_enclave_);
-  reserved2_.MergeFrom(from.reserved2_);
-  mr_signer_.MergeFrom(from.mr_signer_);
-  reserved3_.MergeFrom(from.reserved3_);
-  reserved4_.MergeFrom(from.reserved4_);
-  report_data_.MergeFrom(from.report_data_);
-  if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
-    if (from.has_misc_select()) {
-      set_misc_select(from.misc_select());
-    }
-    if (from.has_attributes()) {
-      mutable_attributes()->::protobuf_sgx_attributes_t::MergeFrom(from.attributes());
-    }
-  }
-  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    if (from.has_isv_prod_id()) {
-      set_isv_prod_id(from.isv_prod_id());
-    }
-    if (from.has_isv_svn()) {
-      set_isv_svn(from.isv_svn());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_report_body_t::CopyFrom(const protobuf_sgx_report_body_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_report_body_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x0000030a) != 0x0000030a) return false;
-
-  if (has_attributes()) {
-    if (!this->attributes().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_report_body_t::Swap(protobuf_sgx_report_body_t* other) {
-  if (other != this) {
-    cpu_svn_.Swap(&other->cpu_svn_);
-    std::swap(misc_select_, other->misc_select_);
-    reserved1_.Swap(&other->reserved1_);
-    std::swap(attributes_, other->attributes_);
-    mr_enclave_.Swap(&other->mr_enclave_);
-    reserved2_.Swap(&other->reserved2_);
-    mr_signer_.Swap(&other->mr_signer_);
-    reserved3_.Swap(&other->reserved3_);
-    std::swap(isv_prod_id_, other->isv_prod_id_);
-    std::swap(isv_svn_, other->isv_svn_);
-    reserved4_.Swap(&other->reserved4_);
-    report_data_.Swap(&other->report_data_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_report_body_t::GetTypeName() const {
-  return "protobuf_sgx_report_body_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_report_t::kBodyFieldNumber;
-const int protobuf_sgx_report_t::kKeyIdFieldNumber;
-const int protobuf_sgx_report_t::kMacFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_report_t::protobuf_sgx_report_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_report_t)
-}
-
-void protobuf_sgx_report_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  body_ = const_cast< ::protobuf_sgx_report_body_t*>(
-      ::protobuf_sgx_report_body_t::internal_default_instance());
-#else
-  body_ = const_cast< ::protobuf_sgx_report_body_t*>(&::protobuf_sgx_report_body_t::default_instance());
-#endif
-}
-
-protobuf_sgx_report_t::protobuf_sgx_report_t(const protobuf_sgx_report_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_report_t)
-}
-
-void protobuf_sgx_report_t::SharedCtor() {
-  _cached_size_ = 0;
-  body_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_report_t::~protobuf_sgx_report_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_report_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_report_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete body_;
-  }
-}
-
-void protobuf_sgx_report_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_report_t& protobuf_sgx_report_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_report_t* protobuf_sgx_report_t::default_instance_ = NULL;
-
-protobuf_sgx_report_t* protobuf_sgx_report_t::New() const {
-  return new protobuf_sgx_report_t;
-}
-
-void protobuf_sgx_report_t::Clear() {
-  if (has_body()) {
-    if (body_ != NULL) body_->::protobuf_sgx_report_body_t::Clear();
-  }
-  key_id_.Clear();
-  mac_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_report_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_report_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .protobuf_sgx_report_body_t body = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_body()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_key_id;
-        break;
-      }
-
-      // repeated uint32 key_id = 2 [packed = true];
-      case 2: {
-        if (tag == 18) {
-         parse_key_id:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_key_id())));
-        } else if (tag == 16) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 18, input, this->mutable_key_id())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(26)) goto parse_mac;
-        break;
-      }
-
-      // repeated uint32 mac = 3 [packed = true];
-      case 3: {
-        if (tag == 26) {
-         parse_mac:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_mac())));
-        } else if (tag == 24) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 26, input, this->mutable_mac())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_report_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_report_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_report_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_report_t)
-  // required .protobuf_sgx_report_body_t body = 1;
-  if (has_body()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      1, this->body(), output);
-  }
-
-  // repeated uint32 key_id = 2 [packed = true];
-  if (this->key_id_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_key_id_cached_byte_size_);
-  }
-  for (int i = 0; i < this->key_id_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->key_id(i), output);
-  }
-
-  // repeated uint32 mac = 3 [packed = true];
-  if (this->mac_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(3, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_mac_cached_byte_size_);
-  }
-  for (int i = 0; i < this->mac_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->mac(i), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_report_t)
-}
-
-int protobuf_sgx_report_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .protobuf_sgx_report_body_t body = 1;
-    if (has_body()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->body());
-    }
-
-  }
-  // repeated uint32 key_id = 2 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->key_id_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->key_id(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _key_id_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 mac = 3 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->mac_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->mac(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _mac_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_report_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_report_t*>(&from));
-}
-
-void protobuf_sgx_report_t::MergeFrom(const protobuf_sgx_report_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  key_id_.MergeFrom(from.key_id_);
-  mac_.MergeFrom(from.mac_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_body()) {
-      mutable_body()->::protobuf_sgx_report_body_t::MergeFrom(from.body());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_report_t::CopyFrom(const protobuf_sgx_report_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_report_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-
-  if (has_body()) {
-    if (!this->body().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_report_t::Swap(protobuf_sgx_report_t* other) {
-  if (other != this) {
-    std::swap(body_, other->body_);
-    key_id_.Swap(&other->key_id_);
-    mac_.Swap(&other->mac_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_report_t::GetTypeName() const {
-  return "protobuf_sgx_report_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_target_info_t::kMrEnclaveFieldNumber;
-const int protobuf_sgx_target_info_t::kAttributesFieldNumber;
-const int protobuf_sgx_target_info_t::kReserved1FieldNumber;
-const int protobuf_sgx_target_info_t::kMiscSelectFieldNumber;
-const int protobuf_sgx_target_info_t::kReserved2FieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_target_info_t::protobuf_sgx_target_info_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_target_info_t)
-}
-
-void protobuf_sgx_target_info_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  attributes_ = const_cast< ::protobuf_sgx_attributes_t*>(
-      ::protobuf_sgx_attributes_t::internal_default_instance());
-#else
-  attributes_ = const_cast< ::protobuf_sgx_attributes_t*>(&::protobuf_sgx_attributes_t::default_instance());
-#endif
-}
-
-protobuf_sgx_target_info_t::protobuf_sgx_target_info_t(const protobuf_sgx_target_info_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_target_info_t)
-}
-
-void protobuf_sgx_target_info_t::SharedCtor() {
-  _cached_size_ = 0;
-  attributes_ = NULL;
-  misc_select_ = 0u;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_target_info_t::~protobuf_sgx_target_info_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_target_info_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_target_info_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete attributes_;
-  }
-}
-
-void protobuf_sgx_target_info_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_target_info_t& protobuf_sgx_target_info_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_target_info_t* protobuf_sgx_target_info_t::default_instance_ = NULL;
-
-protobuf_sgx_target_info_t* protobuf_sgx_target_info_t::New() const {
-  return new protobuf_sgx_target_info_t;
-}
-
-void protobuf_sgx_target_info_t::Clear() {
-  if (_has_bits_[0 / 32] & 10) {
-    if (has_attributes()) {
-      if (attributes_ != NULL) attributes_->::protobuf_sgx_attributes_t::Clear();
-    }
-    misc_select_ = 0u;
-  }
-  mr_enclave_.Clear();
-  reserved1_.Clear();
-  reserved2_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_target_info_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_target_info_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated uint32 mr_enclave = 1 [packed = true];
-      case 1: {
-        if (tag == 10) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_mr_enclave())));
-        } else if (tag == 8) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 10, input, this->mutable_mr_enclave())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_reserved1;
-        break;
-      }
-
-      // repeated uint32 reserved1 = 2 [packed = true];
-      case 2: {
-        if (tag == 18) {
-         parse_reserved1:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved1())));
-        } else if (tag == 16) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 18, input, this->mutable_reserved1())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(26)) goto parse_reserved2;
-        break;
-      }
-
-      // repeated uint32 reserved2 = 3 [packed = true];
-      case 3: {
-        if (tag == 26) {
-         parse_reserved2:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_reserved2())));
-        } else if (tag == 24) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 26, input, this->mutable_reserved2())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(34)) goto parse_attributes;
-        break;
-      }
-
-      // required .protobuf_sgx_attributes_t attributes = 4;
-      case 4: {
-        if (tag == 34) {
-         parse_attributes:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_attributes()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(40)) goto parse_misc_select;
-        break;
-      }
-
-      // required uint32 misc_select = 5;
-      case 5: {
-        if (tag == 40) {
-         parse_misc_select:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &misc_select_)));
-          set_has_misc_select();
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_target_info_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_target_info_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_target_info_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_target_info_t)
-  // repeated uint32 mr_enclave = 1 [packed = true];
-  if (this->mr_enclave_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_mr_enclave_cached_byte_size_);
-  }
-  for (int i = 0; i < this->mr_enclave_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->mr_enclave(i), output);
-  }
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  if (this->reserved1_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved1_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved1_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved1(i), output);
-  }
-
-  // repeated uint32 reserved2 = 3 [packed = true];
-  if (this->reserved2_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(3, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_reserved2_cached_byte_size_);
-  }
-  for (int i = 0; i < this->reserved2_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->reserved2(i), output);
-  }
-
-  // required .protobuf_sgx_attributes_t attributes = 4;
-  if (has_attributes()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      4, this->attributes(), output);
-  }
-
-  // required uint32 misc_select = 5;
-  if (has_misc_select()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->misc_select(), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_target_info_t)
-}
-
-int protobuf_sgx_target_info_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
-    // required .protobuf_sgx_attributes_t attributes = 4;
-    if (has_attributes()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->attributes());
-    }
-
-    // required uint32 misc_select = 5;
-    if (has_misc_select()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->misc_select());
-    }
-
-  }
-  // repeated uint32 mr_enclave = 1 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->mr_enclave_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->mr_enclave(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _mr_enclave_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved1_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved1(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved1_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  // repeated uint32 reserved2 = 3 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->reserved2_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->reserved2(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _reserved2_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_target_info_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_target_info_t*>(&from));
-}
-
-void protobuf_sgx_target_info_t::MergeFrom(const protobuf_sgx_target_info_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  mr_enclave_.MergeFrom(from.mr_enclave_);
-  reserved1_.MergeFrom(from.reserved1_);
-  reserved2_.MergeFrom(from.reserved2_);
-  if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
-    if (from.has_attributes()) {
-      mutable_attributes()->::protobuf_sgx_attributes_t::MergeFrom(from.attributes());
-    }
-    if (from.has_misc_select()) {
-      set_misc_select(from.misc_select());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_target_info_t::CopyFrom(const protobuf_sgx_target_info_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_target_info_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x0000000a) != 0x0000000a) return false;
-
-  if (has_attributes()) {
-    if (!this->attributes().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_target_info_t::Swap(protobuf_sgx_target_info_t* other) {
-  if (other != this) {
-    mr_enclave_.Swap(&other->mr_enclave_);
-    std::swap(attributes_, other->attributes_);
-    reserved1_.Swap(&other->reserved1_);
-    std::swap(misc_select_, other->misc_select_);
-    reserved2_.Swap(&other->reserved2_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_target_info_t::GetTypeName() const {
-  return "protobuf_sgx_target_info_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_dh_msg1_t::kGAFieldNumber;
-const int protobuf_sgx_dh_msg1_t::kTargetFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_dh_msg1_t::protobuf_sgx_dh_msg1_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_dh_msg1_t)
-}
-
-void protobuf_sgx_dh_msg1_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  g_a_ = const_cast< ::protobuf_sgx_ec256_public_t*>(
-      ::protobuf_sgx_ec256_public_t::internal_default_instance());
-#else
-  g_a_ = const_cast< ::protobuf_sgx_ec256_public_t*>(&::protobuf_sgx_ec256_public_t::default_instance());
-#endif
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  target_ = const_cast< ::protobuf_sgx_target_info_t*>(
-      ::protobuf_sgx_target_info_t::internal_default_instance());
-#else
-  target_ = const_cast< ::protobuf_sgx_target_info_t*>(&::protobuf_sgx_target_info_t::default_instance());
-#endif
-}
-
-protobuf_sgx_dh_msg1_t::protobuf_sgx_dh_msg1_t(const protobuf_sgx_dh_msg1_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_dh_msg1_t)
-}
-
-void protobuf_sgx_dh_msg1_t::SharedCtor() {
-  _cached_size_ = 0;
-  g_a_ = NULL;
-  target_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_dh_msg1_t::~protobuf_sgx_dh_msg1_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_dh_msg1_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_dh_msg1_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete g_a_;
-    delete target_;
-  }
-}
-
-void protobuf_sgx_dh_msg1_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_dh_msg1_t& protobuf_sgx_dh_msg1_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_dh_msg1_t* protobuf_sgx_dh_msg1_t::default_instance_ = NULL;
-
-protobuf_sgx_dh_msg1_t* protobuf_sgx_dh_msg1_t::New() const {
-  return new protobuf_sgx_dh_msg1_t;
-}
-
-void protobuf_sgx_dh_msg1_t::Clear() {
-  if (_has_bits_[0 / 32] & 3) {
-    if (has_g_a()) {
-      if (g_a_ != NULL) g_a_->::protobuf_sgx_ec256_public_t::Clear();
-    }
-    if (has_target()) {
-      if (target_ != NULL) target_->::protobuf_sgx_target_info_t::Clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_dh_msg1_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_dh_msg1_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .protobuf_sgx_ec256_public_t g_a = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_g_a()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_target;
-        break;
-      }
-
-      // required .protobuf_sgx_target_info_t target = 2;
-      case 2: {
-        if (tag == 18) {
-         parse_target:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_target()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_dh_msg1_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_dh_msg1_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_dh_msg1_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_dh_msg1_t)
-  // required .protobuf_sgx_ec256_public_t g_a = 1;
-  if (has_g_a()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      1, this->g_a(), output);
-  }
-
-  // required .protobuf_sgx_target_info_t target = 2;
-  if (has_target()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, this->target(), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_dh_msg1_t)
-}
-
-int protobuf_sgx_dh_msg1_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .protobuf_sgx_ec256_public_t g_a = 1;
-    if (has_g_a()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->g_a());
-    }
-
-    // required .protobuf_sgx_target_info_t target = 2;
-    if (has_target()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->target());
-    }
-
-  }
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_dh_msg1_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_dh_msg1_t*>(&from));
-}
-
-void protobuf_sgx_dh_msg1_t::MergeFrom(const protobuf_sgx_dh_msg1_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_g_a()) {
-      mutable_g_a()->::protobuf_sgx_ec256_public_t::MergeFrom(from.g_a());
-    }
-    if (from.has_target()) {
-      mutable_target()->::protobuf_sgx_target_info_t::MergeFrom(from.target());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_dh_msg1_t::CopyFrom(const protobuf_sgx_dh_msg1_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_dh_msg1_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-
-  if (has_target()) {
-    if (!this->target().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_dh_msg1_t::Swap(protobuf_sgx_dh_msg1_t* other) {
-  if (other != this) {
-    std::swap(g_a_, other->g_a_);
-    std::swap(target_, other->target_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_dh_msg1_t::GetTypeName() const {
-  return "protobuf_sgx_dh_msg1_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_dh_msg2_t::kGBFieldNumber;
-const int protobuf_sgx_dh_msg2_t::kReportFieldNumber;
-const int protobuf_sgx_dh_msg2_t::kCmacFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_dh_msg2_t::protobuf_sgx_dh_msg2_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_dh_msg2_t)
-}
-
-void protobuf_sgx_dh_msg2_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  g_b_ = const_cast< ::protobuf_sgx_ec256_public_t*>(
-      ::protobuf_sgx_ec256_public_t::internal_default_instance());
-#else
-  g_b_ = const_cast< ::protobuf_sgx_ec256_public_t*>(&::protobuf_sgx_ec256_public_t::default_instance());
-#endif
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  report_ = const_cast< ::protobuf_sgx_report_t*>(
-      ::protobuf_sgx_report_t::internal_default_instance());
-#else
-  report_ = const_cast< ::protobuf_sgx_report_t*>(&::protobuf_sgx_report_t::default_instance());
-#endif
-}
-
-protobuf_sgx_dh_msg2_t::protobuf_sgx_dh_msg2_t(const protobuf_sgx_dh_msg2_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_dh_msg2_t)
-}
-
-void protobuf_sgx_dh_msg2_t::SharedCtor() {
-  _cached_size_ = 0;
-  g_b_ = NULL;
-  report_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_dh_msg2_t::~protobuf_sgx_dh_msg2_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_dh_msg2_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_dh_msg2_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete g_b_;
-    delete report_;
-  }
-}
-
-void protobuf_sgx_dh_msg2_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_dh_msg2_t& protobuf_sgx_dh_msg2_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_dh_msg2_t* protobuf_sgx_dh_msg2_t::default_instance_ = NULL;
-
-protobuf_sgx_dh_msg2_t* protobuf_sgx_dh_msg2_t::New() const {
-  return new protobuf_sgx_dh_msg2_t;
-}
-
-void protobuf_sgx_dh_msg2_t::Clear() {
-  if (_has_bits_[0 / 32] & 3) {
-    if (has_g_b()) {
-      if (g_b_ != NULL) g_b_->::protobuf_sgx_ec256_public_t::Clear();
-    }
-    if (has_report()) {
-      if (report_ != NULL) report_->::protobuf_sgx_report_t::Clear();
-    }
-  }
-  cmac_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_dh_msg2_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_dh_msg2_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .protobuf_sgx_ec256_public_t g_b = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_g_b()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_report;
-        break;
-      }
-
-      // required .protobuf_sgx_report_t report = 2;
-      case 2: {
-        if (tag == 18) {
-         parse_report:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_report()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(26)) goto parse_cmac;
-        break;
-      }
-
-      // repeated uint32 cmac = 3 [packed = true];
-      case 3: {
-        if (tag == 26) {
-         parse_cmac:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_cmac())));
-        } else if (tag == 24) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 26, input, this->mutable_cmac())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_dh_msg2_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_dh_msg2_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_dh_msg2_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_dh_msg2_t)
-  // required .protobuf_sgx_ec256_public_t g_b = 1;
-  if (has_g_b()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      1, this->g_b(), output);
-  }
-
-  // required .protobuf_sgx_report_t report = 2;
-  if (has_report()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      2, this->report(), output);
-  }
-
-  // repeated uint32 cmac = 3 [packed = true];
-  if (this->cmac_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(3, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_cmac_cached_byte_size_);
-  }
-  for (int i = 0; i < this->cmac_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->cmac(i), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_dh_msg2_t)
-}
-
-int protobuf_sgx_dh_msg2_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .protobuf_sgx_ec256_public_t g_b = 1;
-    if (has_g_b()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->g_b());
-    }
-
-    // required .protobuf_sgx_report_t report = 2;
-    if (has_report()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->report());
-    }
-
-  }
-  // repeated uint32 cmac = 3 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->cmac_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->cmac(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _cmac_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_dh_msg2_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_dh_msg2_t*>(&from));
-}
-
-void protobuf_sgx_dh_msg2_t::MergeFrom(const protobuf_sgx_dh_msg2_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  cmac_.MergeFrom(from.cmac_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_g_b()) {
-      mutable_g_b()->::protobuf_sgx_ec256_public_t::MergeFrom(from.g_b());
-    }
-    if (from.has_report()) {
-      mutable_report()->::protobuf_sgx_report_t::MergeFrom(from.report());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_dh_msg2_t::CopyFrom(const protobuf_sgx_dh_msg2_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_dh_msg2_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-
-  if (has_report()) {
-    if (!this->report().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_dh_msg2_t::Swap(protobuf_sgx_dh_msg2_t* other) {
-  if (other != this) {
-    std::swap(g_b_, other->g_b_);
-    std::swap(report_, other->report_);
-    cmac_.Swap(&other->cmac_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_dh_msg2_t::GetTypeName() const {
-  return "protobuf_sgx_dh_msg2_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_dh_msg3_body_t::kReportFieldNumber;
-const int protobuf_sgx_dh_msg3_body_t::kAdditionalPropFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_dh_msg3_body_t::protobuf_sgx_dh_msg3_body_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_dh_msg3_body_t)
-}
-
-void protobuf_sgx_dh_msg3_body_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  report_ = const_cast< ::protobuf_sgx_report_t*>(
-      ::protobuf_sgx_report_t::internal_default_instance());
-#else
-  report_ = const_cast< ::protobuf_sgx_report_t*>(&::protobuf_sgx_report_t::default_instance());
-#endif
-}
-
-protobuf_sgx_dh_msg3_body_t::protobuf_sgx_dh_msg3_body_t(const protobuf_sgx_dh_msg3_body_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_dh_msg3_body_t)
-}
-
-void protobuf_sgx_dh_msg3_body_t::SharedCtor() {
-  _cached_size_ = 0;
-  report_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_dh_msg3_body_t::~protobuf_sgx_dh_msg3_body_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_dh_msg3_body_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_dh_msg3_body_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete report_;
-  }
-}
-
-void protobuf_sgx_dh_msg3_body_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_dh_msg3_body_t& protobuf_sgx_dh_msg3_body_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_dh_msg3_body_t* protobuf_sgx_dh_msg3_body_t::default_instance_ = NULL;
-
-protobuf_sgx_dh_msg3_body_t* protobuf_sgx_dh_msg3_body_t::New() const {
-  return new protobuf_sgx_dh_msg3_body_t;
-}
-
-void protobuf_sgx_dh_msg3_body_t::Clear() {
-  if (has_report()) {
-    if (report_ != NULL) report_->::protobuf_sgx_report_t::Clear();
-  }
-  additional_prop_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_dh_msg3_body_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_dh_msg3_body_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .protobuf_sgx_report_t report = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_report()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(16)) goto parse_additional_prop;
-        break;
-      }
-
-      // repeated uint32 additional_prop = 2;
-      case 2: {
-        if (tag == 16) {
-         parse_additional_prop:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 16, input, this->mutable_additional_prop())));
-        } else if (tag == 18) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_additional_prop())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(16)) goto parse_additional_prop;
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_dh_msg3_body_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_dh_msg3_body_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_dh_msg3_body_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_dh_msg3_body_t)
-  // required .protobuf_sgx_report_t report = 1;
-  if (has_report()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      1, this->report(), output);
-  }
-
-  // repeated uint32 additional_prop = 2;
-  for (int i = 0; i < this->additional_prop_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(
-      2, this->additional_prop(i), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_dh_msg3_body_t)
-}
-
-int protobuf_sgx_dh_msg3_body_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .protobuf_sgx_report_t report = 1;
-    if (has_report()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->report());
-    }
-
-  }
-  // repeated uint32 additional_prop = 2;
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->additional_prop_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->additional_prop(i));
-    }
-    total_size += 1 * this->additional_prop_size() + data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_dh_msg3_body_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_dh_msg3_body_t*>(&from));
-}
-
-void protobuf_sgx_dh_msg3_body_t::MergeFrom(const protobuf_sgx_dh_msg3_body_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  additional_prop_.MergeFrom(from.additional_prop_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_report()) {
-      mutable_report()->::protobuf_sgx_report_t::MergeFrom(from.report());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_dh_msg3_body_t::CopyFrom(const protobuf_sgx_dh_msg3_body_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_dh_msg3_body_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-
-  if (has_report()) {
-    if (!this->report().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_dh_msg3_body_t::Swap(protobuf_sgx_dh_msg3_body_t* other) {
-  if (other != this) {
-    std::swap(report_, other->report_);
-    additional_prop_.Swap(&other->additional_prop_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_dh_msg3_body_t::GetTypeName() const {
-  return "protobuf_sgx_dh_msg3_body_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_sgx_dh_msg3_t::kMsg3BodyFieldNumber;
-const int protobuf_sgx_dh_msg3_t::kCmacFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_sgx_dh_msg3_t::protobuf_sgx_dh_msg3_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_sgx_dh_msg3_t)
-}
-
-void protobuf_sgx_dh_msg3_t::InitAsDefaultInstance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  msg3_body_ = const_cast< ::protobuf_sgx_dh_msg3_body_t*>(
-      ::protobuf_sgx_dh_msg3_body_t::internal_default_instance());
-#else
-  msg3_body_ = const_cast< ::protobuf_sgx_dh_msg3_body_t*>(&::protobuf_sgx_dh_msg3_body_t::default_instance());
-#endif
-}
-
-protobuf_sgx_dh_msg3_t::protobuf_sgx_dh_msg3_t(const protobuf_sgx_dh_msg3_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_sgx_dh_msg3_t)
-}
-
-void protobuf_sgx_dh_msg3_t::SharedCtor() {
-  _cached_size_ = 0;
-  msg3_body_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_sgx_dh_msg3_t::~protobuf_sgx_dh_msg3_t() {
-  // @@protoc_insertion_point(destructor:protobuf_sgx_dh_msg3_t)
-  SharedDtor();
-}
-
-void protobuf_sgx_dh_msg3_t::SharedDtor() {
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-    delete msg3_body_;
-  }
-}
-
-void protobuf_sgx_dh_msg3_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_sgx_dh_msg3_t& protobuf_sgx_dh_msg3_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_sgx_dh_msg3_t* protobuf_sgx_dh_msg3_t::default_instance_ = NULL;
-
-protobuf_sgx_dh_msg3_t* protobuf_sgx_dh_msg3_t::New() const {
-  return new protobuf_sgx_dh_msg3_t;
-}
-
-void protobuf_sgx_dh_msg3_t::Clear() {
-  if (has_msg3_body()) {
-    if (msg3_body_ != NULL) msg3_body_->::protobuf_sgx_dh_msg3_body_t::Clear();
-  }
-  cmac_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_sgx_dh_msg3_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_sgx_dh_msg3_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_msg3_body()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectTag(18)) goto parse_cmac;
-        break;
-      }
-
-      // repeated uint32 cmac = 2 [packed = true];
-      case 2: {
-        if (tag == 18) {
-         parse_cmac:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, this->mutable_cmac())));
-        } else if (tag == 16) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 1, 18, input, this->mutable_cmac())));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_sgx_dh_msg3_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_sgx_dh_msg3_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_sgx_dh_msg3_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_sgx_dh_msg3_t)
-  // required .protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-  if (has_msg3_body()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessage(
-      1, this->msg3_body(), output);
-  }
-
-  // repeated uint32 cmac = 2 [packed = true];
-  if (this->cmac_size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
-    output->WriteVarint32(_cmac_cached_byte_size_);
-  }
-  for (int i = 0; i < this->cmac_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
-      this->cmac(i), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_sgx_dh_msg3_t)
-}
-
-int protobuf_sgx_dh_msg3_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-    if (has_msg3_body()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->msg3_body());
-    }
-
-  }
-  // repeated uint32 cmac = 2 [packed = true];
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->cmac_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        UInt32Size(this->cmac(i));
-    }
-    if (data_size > 0) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
-    }
-    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-    _cmac_cached_byte_size_ = data_size;
-    GOOGLE_SAFE_CONCURRENT_WRITES_END();
-    total_size += data_size;
-  }
-
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_sgx_dh_msg3_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_sgx_dh_msg3_t*>(&from));
-}
-
-void protobuf_sgx_dh_msg3_t::MergeFrom(const protobuf_sgx_dh_msg3_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  cmac_.MergeFrom(from.cmac_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_msg3_body()) {
-      mutable_msg3_body()->::protobuf_sgx_dh_msg3_body_t::MergeFrom(from.msg3_body());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_sgx_dh_msg3_t::CopyFrom(const protobuf_sgx_dh_msg3_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_sgx_dh_msg3_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-
-  if (has_msg3_body()) {
-    if (!this->msg3_body().IsInitialized()) return false;
-  }
-  return true;
-}
-
-void protobuf_sgx_dh_msg3_t::Swap(protobuf_sgx_dh_msg3_t* other) {
-  if (other != this) {
-    std::swap(msg3_body_, other->msg3_body_);
-    cmac_.Swap(&other->cmac_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_sgx_dh_msg3_t::GetTypeName() const {
-  return "protobuf_sgx_dh_msg3_t";
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int protobuf_post_LA_encrypted_msg_t::kMsgFieldNumber;
-#endif  // !_MSC_VER
-
-protobuf_post_LA_encrypted_msg_t::protobuf_post_LA_encrypted_msg_t()
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:protobuf_post_LA_encrypted_msg_t)
-}
-
-void protobuf_post_LA_encrypted_msg_t::InitAsDefaultInstance() {
-}
-
-protobuf_post_LA_encrypted_msg_t::protobuf_post_LA_encrypted_msg_t(const protobuf_post_LA_encrypted_msg_t& from)
-  : ::google::protobuf::MessageLite() {
-  SharedCtor();
-  MergeFrom(from);
-  // @@protoc_insertion_point(copy_constructor:protobuf_post_LA_encrypted_msg_t)
-}
-
-void protobuf_post_LA_encrypted_msg_t::SharedCtor() {
-  ::google::protobuf::internal::GetEmptyString();
-  _cached_size_ = 0;
-  msg_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-protobuf_post_LA_encrypted_msg_t::~protobuf_post_LA_encrypted_msg_t() {
-  // @@protoc_insertion_point(destructor:protobuf_post_LA_encrypted_msg_t)
-  SharedDtor();
-}
-
-void protobuf_post_LA_encrypted_msg_t::SharedDtor() {
-  if (msg_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    delete msg_;
-  }
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  if (this != &default_instance()) {
-  #else
-  if (this != default_instance_) {
-  #endif
-  }
-}
-
-void protobuf_post_LA_encrypted_msg_t::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const protobuf_post_LA_encrypted_msg_t& protobuf_post_LA_encrypted_msg_t::default_instance() {
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#else
-  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
-#endif
-  return *default_instance_;
-}
-
-protobuf_post_LA_encrypted_msg_t* protobuf_post_LA_encrypted_msg_t::default_instance_ = NULL;
-
-protobuf_post_LA_encrypted_msg_t* protobuf_post_LA_encrypted_msg_t::New() const {
-  return new protobuf_post_LA_encrypted_msg_t;
-}
-
-void protobuf_post_LA_encrypted_msg_t::Clear() {
-  if (has_msg()) {
-    if (msg_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-      msg_->clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->clear();
-}
-
-bool protobuf_post_LA_encrypted_msg_t::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  ::google::protobuf::io::StringOutputStream unknown_fields_string(
-      mutable_unknown_fields());
-  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
-      &unknown_fields_string);
-  // @@protoc_insertion_point(parse_start:protobuf_post_LA_encrypted_msg_t)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required bytes msg = 1;
-      case 1: {
-        if (tag == 10) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
-                input, this->mutable_msg()));
-        } else {
-          goto handle_unusual;
-        }
-        if (input->ExpectAtEnd()) goto success;
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0 ||
-            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
-            input, tag, &unknown_fields_stream));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:protobuf_post_LA_encrypted_msg_t)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:protobuf_post_LA_encrypted_msg_t)
-  return false;
-#undef DO_
-}
-
-void protobuf_post_LA_encrypted_msg_t::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:protobuf_post_LA_encrypted_msg_t)
-  // required bytes msg = 1;
-  if (has_msg()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
-      1, this->msg(), output);
-  }
-
-  output->WriteRaw(unknown_fields().data(),
-                   unknown_fields().size());
-  // @@protoc_insertion_point(serialize_end:protobuf_post_LA_encrypted_msg_t)
-}
-
-int protobuf_post_LA_encrypted_msg_t::ByteSize() const {
-  int total_size = 0;
-
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required bytes msg = 1;
-    if (has_msg()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::BytesSize(
-          this->msg());
-    }
-
-  }
-  total_size += unknown_fields().size();
-
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void protobuf_post_LA_encrypted_msg_t::CheckTypeAndMergeFrom(
-    const ::google::protobuf::MessageLite& from) {
-  MergeFrom(*::google::protobuf::down_cast<const protobuf_post_LA_encrypted_msg_t*>(&from));
-}
-
-void protobuf_post_LA_encrypted_msg_t::MergeFrom(const protobuf_post_LA_encrypted_msg_t& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_msg()) {
-      set_msg(from.msg());
-    }
-  }
-  mutable_unknown_fields()->append(from.unknown_fields());
-}
-
-void protobuf_post_LA_encrypted_msg_t::CopyFrom(const protobuf_post_LA_encrypted_msg_t& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool protobuf_post_LA_encrypted_msg_t::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-
-  return true;
-}
-
-void protobuf_post_LA_encrypted_msg_t::Swap(protobuf_post_LA_encrypted_msg_t* other) {
-  if (other != this) {
-    std::swap(msg_, other->msg_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.swap(other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::std::string protobuf_post_LA_encrypted_msg_t::GetTypeName() const {
-  return "protobuf_post_LA_encrypted_msg_t";
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-// @@protoc_insertion_point(global_scope)

+ 1 - 0
App/ProtobufLAMessages.pb.cpp

@@ -0,0 +1 @@
+../../dhmsgs_proto_defs/ProtobufLAMessages.pb.cc

+ 1 - 1
Decryptor/Decryptor.edl

@@ -3,7 +3,7 @@ enclave {
     include "sgx_tcrypto.h"
     include "sgx_tcrypto.h"
 #define SIZEOF_UINT32_T_ARRAY
 #define SIZEOF_UINT32_T_ARRAY
     from "../LocalAttestationCode/LocalAttestationCode.edl" import *;
     from "../LocalAttestationCode/LocalAttestationCode.edl" import *;
-    from "/home/m2mazmud/old_stuff/intel-sgx-ssl/Linux/package/include/sgx_tsgxssl.edl" import * ;
+    from "/home/m2mazmud/mitigator/testing/intel-sgx-ssl/Linux/package/include/sgx_tsgxssl.edl" import * ;
     trusted {
     trusted {
 	public void calculate_sealed_keypair_size_wrapper([out, size=4] uint32_t* output_length); 
 	public void calculate_sealed_keypair_size_wrapper([out, size=4] uint32_t* output_length); 
       #define SEALED_SIZE 656  // =0x300 (0x290 is the size of the sealed message when both the public(0x40) and private key(0x20) are included)
       #define SEALED_SIZE 656  // =0x300 (0x290 is the size of the sealed message when both the public(0x40) and private key(0x20) are included)

+ 0 - 1
Include/MainLogic.h

@@ -9,7 +9,6 @@
 #include "ProtobufMessageRW.h"
 #include "ProtobufMessageRW.h"
 #include <string>
 #include <string>
 #include <vector>
 #include <vector>
-#include <phpcpp.h>
 #include "PostLAMessaging.h"
 #include "PostLAMessaging.h"
 
 
 class MainLogic {
 class MainLogic {

+ 0 - 2501
Include/ProtobufLAMessages.pb.h

@@ -1,2501 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: ProtobufLAMessages.proto
-
-#ifndef PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED
-#define PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 2006000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
-#error your headers.
-#endif
-#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/message_lite.h>
-#include <google/protobuf/repeated_field.h>
-#include <google/protobuf/extension_set.h>
-// @@protoc_insertion_point(includes)
-
-// Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-class protobuf_sgx_attributes_t;
-class protobuf_sgx_ec256_public_t;
-class protobuf_sgx_report_body_t;
-class protobuf_sgx_report_t;
-class protobuf_sgx_target_info_t;
-class protobuf_sgx_dh_msg1_t;
-class protobuf_sgx_dh_msg2_t;
-class protobuf_sgx_dh_msg3_body_t;
-class protobuf_sgx_dh_msg3_t;
-class protobuf_post_LA_encrypted_msg_t;
-
-// ===================================================================
-
-class protobuf_sgx_attributes_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_attributes_t();
-  virtual ~protobuf_sgx_attributes_t();
-
-  protobuf_sgx_attributes_t(const protobuf_sgx_attributes_t& from);
-
-  inline protobuf_sgx_attributes_t& operator=(const protobuf_sgx_attributes_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_attributes_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_attributes_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_attributes_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_attributes_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_attributes_t& from);
-  void MergeFrom(const protobuf_sgx_attributes_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required uint64 flags = 1;
-  inline bool has_flags() const;
-  inline void clear_flags();
-  static const int kFlagsFieldNumber = 1;
-  inline ::google::protobuf::uint64 flags() const;
-  inline void set_flags(::google::protobuf::uint64 value);
-
-  // required uint64 xfrm = 2;
-  inline bool has_xfrm() const;
-  inline void clear_xfrm();
-  static const int kXfrmFieldNumber = 2;
-  inline ::google::protobuf::uint64 xfrm() const;
-  inline void set_xfrm(::google::protobuf::uint64 value);
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_attributes_t)
- private:
-  inline void set_has_flags();
-  inline void clear_has_flags();
-  inline void set_has_xfrm();
-  inline void clear_has_xfrm();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::google::protobuf::uint64 flags_;
-  ::google::protobuf::uint64 xfrm_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_attributes_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_ec256_public_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_ec256_public_t();
-  virtual ~protobuf_sgx_ec256_public_t();
-
-  protobuf_sgx_ec256_public_t(const protobuf_sgx_ec256_public_t& from);
-
-  inline protobuf_sgx_ec256_public_t& operator=(const protobuf_sgx_ec256_public_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_ec256_public_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_ec256_public_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_ec256_public_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_ec256_public_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_ec256_public_t& from);
-  void MergeFrom(const protobuf_sgx_ec256_public_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // repeated uint32 gx = 1 [packed = true];
-  inline int gx_size() const;
-  inline void clear_gx();
-  static const int kGxFieldNumber = 1;
-  inline ::google::protobuf::uint32 gx(int index) const;
-  inline void set_gx(int index, ::google::protobuf::uint32 value);
-  inline void add_gx(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      gx() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_gx();
-
-  // repeated uint32 gy = 2 [packed = true];
-  inline int gy_size() const;
-  inline void clear_gy();
-  static const int kGyFieldNumber = 2;
-  inline ::google::protobuf::uint32 gy(int index) const;
-  inline void set_gy(int index, ::google::protobuf::uint32 value);
-  inline void add_gy(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      gy() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_gy();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_ec256_public_t)
- private:
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > gx_;
-  mutable int _gx_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > gy_;
-  mutable int _gy_cached_byte_size_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_ec256_public_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_report_body_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_report_body_t();
-  virtual ~protobuf_sgx_report_body_t();
-
-  protobuf_sgx_report_body_t(const protobuf_sgx_report_body_t& from);
-
-  inline protobuf_sgx_report_body_t& operator=(const protobuf_sgx_report_body_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_report_body_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_report_body_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_report_body_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_report_body_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_report_body_t& from);
-  void MergeFrom(const protobuf_sgx_report_body_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // repeated uint32 cpu_svn = 1 [packed = true];
-  inline int cpu_svn_size() const;
-  inline void clear_cpu_svn();
-  static const int kCpuSvnFieldNumber = 1;
-  inline ::google::protobuf::uint32 cpu_svn(int index) const;
-  inline void set_cpu_svn(int index, ::google::protobuf::uint32 value);
-  inline void add_cpu_svn(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      cpu_svn() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_cpu_svn();
-
-  // required uint32 misc_select = 9;
-  inline bool has_misc_select() const;
-  inline void clear_misc_select();
-  static const int kMiscSelectFieldNumber = 9;
-  inline ::google::protobuf::uint32 misc_select() const;
-  inline void set_misc_select(::google::protobuf::uint32 value);
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  inline int reserved1_size() const;
-  inline void clear_reserved1();
-  static const int kReserved1FieldNumber = 2;
-  inline ::google::protobuf::uint32 reserved1(int index) const;
-  inline void set_reserved1(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved1(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved1() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved1();
-
-  // required .protobuf_sgx_attributes_t attributes = 10;
-  inline bool has_attributes() const;
-  inline void clear_attributes();
-  static const int kAttributesFieldNumber = 10;
-  inline const ::protobuf_sgx_attributes_t& attributes() const;
-  inline ::protobuf_sgx_attributes_t* mutable_attributes();
-  inline ::protobuf_sgx_attributes_t* release_attributes();
-  inline void set_allocated_attributes(::protobuf_sgx_attributes_t* attributes);
-
-  // repeated uint32 mr_enclave = 3 [packed = true];
-  inline int mr_enclave_size() const;
-  inline void clear_mr_enclave();
-  static const int kMrEnclaveFieldNumber = 3;
-  inline ::google::protobuf::uint32 mr_enclave(int index) const;
-  inline void set_mr_enclave(int index, ::google::protobuf::uint32 value);
-  inline void add_mr_enclave(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      mr_enclave() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_mr_enclave();
-
-  // repeated uint32 reserved2 = 4 [packed = true];
-  inline int reserved2_size() const;
-  inline void clear_reserved2();
-  static const int kReserved2FieldNumber = 4;
-  inline ::google::protobuf::uint32 reserved2(int index) const;
-  inline void set_reserved2(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved2(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved2() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved2();
-
-  // repeated uint32 mr_signer = 5 [packed = true];
-  inline int mr_signer_size() const;
-  inline void clear_mr_signer();
-  static const int kMrSignerFieldNumber = 5;
-  inline ::google::protobuf::uint32 mr_signer(int index) const;
-  inline void set_mr_signer(int index, ::google::protobuf::uint32 value);
-  inline void add_mr_signer(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      mr_signer() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_mr_signer();
-
-  // repeated uint32 reserved3 = 6 [packed = true];
-  inline int reserved3_size() const;
-  inline void clear_reserved3();
-  static const int kReserved3FieldNumber = 6;
-  inline ::google::protobuf::uint32 reserved3(int index) const;
-  inline void set_reserved3(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved3(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved3() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved3();
-
-  // required uint32 isv_prod_id = 11;
-  inline bool has_isv_prod_id() const;
-  inline void clear_isv_prod_id();
-  static const int kIsvProdIdFieldNumber = 11;
-  inline ::google::protobuf::uint32 isv_prod_id() const;
-  inline void set_isv_prod_id(::google::protobuf::uint32 value);
-
-  // required uint32 isv_svn = 12;
-  inline bool has_isv_svn() const;
-  inline void clear_isv_svn();
-  static const int kIsvSvnFieldNumber = 12;
-  inline ::google::protobuf::uint32 isv_svn() const;
-  inline void set_isv_svn(::google::protobuf::uint32 value);
-
-  // repeated uint32 reserved4 = 7 [packed = true];
-  inline int reserved4_size() const;
-  inline void clear_reserved4();
-  static const int kReserved4FieldNumber = 7;
-  inline ::google::protobuf::uint32 reserved4(int index) const;
-  inline void set_reserved4(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved4(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved4() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved4();
-
-  // repeated uint32 report_data = 8 [packed = true];
-  inline int report_data_size() const;
-  inline void clear_report_data();
-  static const int kReportDataFieldNumber = 8;
-  inline ::google::protobuf::uint32 report_data(int index) const;
-  inline void set_report_data(int index, ::google::protobuf::uint32 value);
-  inline void add_report_data(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      report_data() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_report_data();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_report_body_t)
- private:
-  inline void set_has_misc_select();
-  inline void clear_has_misc_select();
-  inline void set_has_attributes();
-  inline void clear_has_attributes();
-  inline void set_has_isv_prod_id();
-  inline void clear_has_isv_prod_id();
-  inline void set_has_isv_svn();
-  inline void clear_has_isv_svn();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > cpu_svn_;
-  mutable int _cpu_svn_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved1_;
-  mutable int _reserved1_cached_byte_size_;
-  ::protobuf_sgx_attributes_t* attributes_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > mr_enclave_;
-  mutable int _mr_enclave_cached_byte_size_;
-  ::google::protobuf::uint32 misc_select_;
-  ::google::protobuf::uint32 isv_prod_id_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved2_;
-  mutable int _reserved2_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > mr_signer_;
-  mutable int _mr_signer_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved3_;
-  mutable int _reserved3_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved4_;
-  mutable int _reserved4_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > report_data_;
-  mutable int _report_data_cached_byte_size_;
-  ::google::protobuf::uint32 isv_svn_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_report_body_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_report_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_report_t();
-  virtual ~protobuf_sgx_report_t();
-
-  protobuf_sgx_report_t(const protobuf_sgx_report_t& from);
-
-  inline protobuf_sgx_report_t& operator=(const protobuf_sgx_report_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_report_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_report_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_report_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_report_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_report_t& from);
-  void MergeFrom(const protobuf_sgx_report_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required .protobuf_sgx_report_body_t body = 1;
-  inline bool has_body() const;
-  inline void clear_body();
-  static const int kBodyFieldNumber = 1;
-  inline const ::protobuf_sgx_report_body_t& body() const;
-  inline ::protobuf_sgx_report_body_t* mutable_body();
-  inline ::protobuf_sgx_report_body_t* release_body();
-  inline void set_allocated_body(::protobuf_sgx_report_body_t* body);
-
-  // repeated uint32 key_id = 2 [packed = true];
-  inline int key_id_size() const;
-  inline void clear_key_id();
-  static const int kKeyIdFieldNumber = 2;
-  inline ::google::protobuf::uint32 key_id(int index) const;
-  inline void set_key_id(int index, ::google::protobuf::uint32 value);
-  inline void add_key_id(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      key_id() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_key_id();
-
-  // repeated uint32 mac = 3 [packed = true];
-  inline int mac_size() const;
-  inline void clear_mac();
-  static const int kMacFieldNumber = 3;
-  inline ::google::protobuf::uint32 mac(int index) const;
-  inline void set_mac(int index, ::google::protobuf::uint32 value);
-  inline void add_mac(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      mac() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_mac();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_report_t)
- private:
-  inline void set_has_body();
-  inline void clear_has_body();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::protobuf_sgx_report_body_t* body_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > key_id_;
-  mutable int _key_id_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > mac_;
-  mutable int _mac_cached_byte_size_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_report_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_target_info_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_target_info_t();
-  virtual ~protobuf_sgx_target_info_t();
-
-  protobuf_sgx_target_info_t(const protobuf_sgx_target_info_t& from);
-
-  inline protobuf_sgx_target_info_t& operator=(const protobuf_sgx_target_info_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_target_info_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_target_info_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_target_info_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_target_info_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_target_info_t& from);
-  void MergeFrom(const protobuf_sgx_target_info_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // repeated uint32 mr_enclave = 1 [packed = true];
-  inline int mr_enclave_size() const;
-  inline void clear_mr_enclave();
-  static const int kMrEnclaveFieldNumber = 1;
-  inline ::google::protobuf::uint32 mr_enclave(int index) const;
-  inline void set_mr_enclave(int index, ::google::protobuf::uint32 value);
-  inline void add_mr_enclave(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      mr_enclave() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_mr_enclave();
-
-  // required .protobuf_sgx_attributes_t attributes = 4;
-  inline bool has_attributes() const;
-  inline void clear_attributes();
-  static const int kAttributesFieldNumber = 4;
-  inline const ::protobuf_sgx_attributes_t& attributes() const;
-  inline ::protobuf_sgx_attributes_t* mutable_attributes();
-  inline ::protobuf_sgx_attributes_t* release_attributes();
-  inline void set_allocated_attributes(::protobuf_sgx_attributes_t* attributes);
-
-  // repeated uint32 reserved1 = 2 [packed = true];
-  inline int reserved1_size() const;
-  inline void clear_reserved1();
-  static const int kReserved1FieldNumber = 2;
-  inline ::google::protobuf::uint32 reserved1(int index) const;
-  inline void set_reserved1(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved1(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved1() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved1();
-
-  // required uint32 misc_select = 5;
-  inline bool has_misc_select() const;
-  inline void clear_misc_select();
-  static const int kMiscSelectFieldNumber = 5;
-  inline ::google::protobuf::uint32 misc_select() const;
-  inline void set_misc_select(::google::protobuf::uint32 value);
-
-  // repeated uint32 reserved2 = 3 [packed = true];
-  inline int reserved2_size() const;
-  inline void clear_reserved2();
-  static const int kReserved2FieldNumber = 3;
-  inline ::google::protobuf::uint32 reserved2(int index) const;
-  inline void set_reserved2(int index, ::google::protobuf::uint32 value);
-  inline void add_reserved2(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      reserved2() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_reserved2();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_target_info_t)
- private:
-  inline void set_has_attributes();
-  inline void clear_has_attributes();
-  inline void set_has_misc_select();
-  inline void clear_has_misc_select();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > mr_enclave_;
-  mutable int _mr_enclave_cached_byte_size_;
-  ::protobuf_sgx_attributes_t* attributes_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved1_;
-  mutable int _reserved1_cached_byte_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > reserved2_;
-  mutable int _reserved2_cached_byte_size_;
-  ::google::protobuf::uint32 misc_select_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_target_info_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_dh_msg1_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_dh_msg1_t();
-  virtual ~protobuf_sgx_dh_msg1_t();
-
-  protobuf_sgx_dh_msg1_t(const protobuf_sgx_dh_msg1_t& from);
-
-  inline protobuf_sgx_dh_msg1_t& operator=(const protobuf_sgx_dh_msg1_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_dh_msg1_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_dh_msg1_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_dh_msg1_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_dh_msg1_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_dh_msg1_t& from);
-  void MergeFrom(const protobuf_sgx_dh_msg1_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required .protobuf_sgx_ec256_public_t g_a = 1;
-  inline bool has_g_a() const;
-  inline void clear_g_a();
-  static const int kGAFieldNumber = 1;
-  inline const ::protobuf_sgx_ec256_public_t& g_a() const;
-  inline ::protobuf_sgx_ec256_public_t* mutable_g_a();
-  inline ::protobuf_sgx_ec256_public_t* release_g_a();
-  inline void set_allocated_g_a(::protobuf_sgx_ec256_public_t* g_a);
-
-  // required .protobuf_sgx_target_info_t target = 2;
-  inline bool has_target() const;
-  inline void clear_target();
-  static const int kTargetFieldNumber = 2;
-  inline const ::protobuf_sgx_target_info_t& target() const;
-  inline ::protobuf_sgx_target_info_t* mutable_target();
-  inline ::protobuf_sgx_target_info_t* release_target();
-  inline void set_allocated_target(::protobuf_sgx_target_info_t* target);
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_dh_msg1_t)
- private:
-  inline void set_has_g_a();
-  inline void clear_has_g_a();
-  inline void set_has_target();
-  inline void clear_has_target();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::protobuf_sgx_ec256_public_t* g_a_;
-  ::protobuf_sgx_target_info_t* target_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_dh_msg1_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_dh_msg2_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_dh_msg2_t();
-  virtual ~protobuf_sgx_dh_msg2_t();
-
-  protobuf_sgx_dh_msg2_t(const protobuf_sgx_dh_msg2_t& from);
-
-  inline protobuf_sgx_dh_msg2_t& operator=(const protobuf_sgx_dh_msg2_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_dh_msg2_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_dh_msg2_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_dh_msg2_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_dh_msg2_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_dh_msg2_t& from);
-  void MergeFrom(const protobuf_sgx_dh_msg2_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required .protobuf_sgx_ec256_public_t g_b = 1;
-  inline bool has_g_b() const;
-  inline void clear_g_b();
-  static const int kGBFieldNumber = 1;
-  inline const ::protobuf_sgx_ec256_public_t& g_b() const;
-  inline ::protobuf_sgx_ec256_public_t* mutable_g_b();
-  inline ::protobuf_sgx_ec256_public_t* release_g_b();
-  inline void set_allocated_g_b(::protobuf_sgx_ec256_public_t* g_b);
-
-  // required .protobuf_sgx_report_t report = 2;
-  inline bool has_report() const;
-  inline void clear_report();
-  static const int kReportFieldNumber = 2;
-  inline const ::protobuf_sgx_report_t& report() const;
-  inline ::protobuf_sgx_report_t* mutable_report();
-  inline ::protobuf_sgx_report_t* release_report();
-  inline void set_allocated_report(::protobuf_sgx_report_t* report);
-
-  // repeated uint32 cmac = 3 [packed = true];
-  inline int cmac_size() const;
-  inline void clear_cmac();
-  static const int kCmacFieldNumber = 3;
-  inline ::google::protobuf::uint32 cmac(int index) const;
-  inline void set_cmac(int index, ::google::protobuf::uint32 value);
-  inline void add_cmac(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      cmac() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_cmac();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_dh_msg2_t)
- private:
-  inline void set_has_g_b();
-  inline void clear_has_g_b();
-  inline void set_has_report();
-  inline void clear_has_report();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::protobuf_sgx_ec256_public_t* g_b_;
-  ::protobuf_sgx_report_t* report_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > cmac_;
-  mutable int _cmac_cached_byte_size_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_dh_msg2_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_dh_msg3_body_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_dh_msg3_body_t();
-  virtual ~protobuf_sgx_dh_msg3_body_t();
-
-  protobuf_sgx_dh_msg3_body_t(const protobuf_sgx_dh_msg3_body_t& from);
-
-  inline protobuf_sgx_dh_msg3_body_t& operator=(const protobuf_sgx_dh_msg3_body_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_dh_msg3_body_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_dh_msg3_body_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_dh_msg3_body_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_dh_msg3_body_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_dh_msg3_body_t& from);
-  void MergeFrom(const protobuf_sgx_dh_msg3_body_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required .protobuf_sgx_report_t report = 1;
-  inline bool has_report() const;
-  inline void clear_report();
-  static const int kReportFieldNumber = 1;
-  inline const ::protobuf_sgx_report_t& report() const;
-  inline ::protobuf_sgx_report_t* mutable_report();
-  inline ::protobuf_sgx_report_t* release_report();
-  inline void set_allocated_report(::protobuf_sgx_report_t* report);
-
-  // repeated uint32 additional_prop = 2;
-  inline int additional_prop_size() const;
-  inline void clear_additional_prop();
-  static const int kAdditionalPropFieldNumber = 2;
-  inline ::google::protobuf::uint32 additional_prop(int index) const;
-  inline void set_additional_prop(int index, ::google::protobuf::uint32 value);
-  inline void add_additional_prop(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      additional_prop() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_additional_prop();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_dh_msg3_body_t)
- private:
-  inline void set_has_report();
-  inline void clear_has_report();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::protobuf_sgx_report_t* report_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > additional_prop_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_dh_msg3_body_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_sgx_dh_msg3_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_sgx_dh_msg3_t();
-  virtual ~protobuf_sgx_dh_msg3_t();
-
-  protobuf_sgx_dh_msg3_t(const protobuf_sgx_dh_msg3_t& from);
-
-  inline protobuf_sgx_dh_msg3_t& operator=(const protobuf_sgx_dh_msg3_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_sgx_dh_msg3_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_sgx_dh_msg3_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_sgx_dh_msg3_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_sgx_dh_msg3_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_sgx_dh_msg3_t& from);
-  void MergeFrom(const protobuf_sgx_dh_msg3_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required .protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-  inline bool has_msg3_body() const;
-  inline void clear_msg3_body();
-  static const int kMsg3BodyFieldNumber = 1;
-  inline const ::protobuf_sgx_dh_msg3_body_t& msg3_body() const;
-  inline ::protobuf_sgx_dh_msg3_body_t* mutable_msg3_body();
-  inline ::protobuf_sgx_dh_msg3_body_t* release_msg3_body();
-  inline void set_allocated_msg3_body(::protobuf_sgx_dh_msg3_body_t* msg3_body);
-
-  // repeated uint32 cmac = 2 [packed = true];
-  inline int cmac_size() const;
-  inline void clear_cmac();
-  static const int kCmacFieldNumber = 2;
-  inline ::google::protobuf::uint32 cmac(int index) const;
-  inline void set_cmac(int index, ::google::protobuf::uint32 value);
-  inline void add_cmac(::google::protobuf::uint32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-      cmac() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-      mutable_cmac();
-
-  // @@protoc_insertion_point(class_scope:protobuf_sgx_dh_msg3_t)
- private:
-  inline void set_has_msg3_body();
-  inline void clear_has_msg3_body();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::protobuf_sgx_dh_msg3_body_t* msg3_body_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > cmac_;
-  mutable int _cmac_cached_byte_size_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_sgx_dh_msg3_t* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class protobuf_post_LA_encrypted_msg_t : public ::google::protobuf::MessageLite {
- public:
-  protobuf_post_LA_encrypted_msg_t();
-  virtual ~protobuf_post_LA_encrypted_msg_t();
-
-  protobuf_post_LA_encrypted_msg_t(const protobuf_post_LA_encrypted_msg_t& from);
-
-  inline protobuf_post_LA_encrypted_msg_t& operator=(const protobuf_post_LA_encrypted_msg_t& from) {
-    CopyFrom(from);
-    return *this;
-  }
-
-  inline const ::std::string& unknown_fields() const {
-    return _unknown_fields_;
-  }
-
-  inline ::std::string* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-
-  static const protobuf_post_LA_encrypted_msg_t& default_instance();
-
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  // Returns the internal default instance pointer. This function can
-  // return NULL thus should not be used by the user. This is intended
-  // for Protobuf internal code. Please use default_instance() declared
-  // above instead.
-  static inline const protobuf_post_LA_encrypted_msg_t* internal_default_instance() {
-    return default_instance_;
-  }
-  #endif
-
-  void Swap(protobuf_post_LA_encrypted_msg_t* other);
-
-  // implements Message ----------------------------------------------
-
-  protobuf_post_LA_encrypted_msg_t* New() const;
-  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
-  void CopyFrom(const protobuf_post_LA_encrypted_msg_t& from);
-  void MergeFrom(const protobuf_post_LA_encrypted_msg_t& from);
-  void Clear();
-  bool IsInitialized() const;
-
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  void DiscardUnknownFields();
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  ::std::string GetTypeName() const;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // required bytes msg = 1;
-  inline bool has_msg() const;
-  inline void clear_msg();
-  static const int kMsgFieldNumber = 1;
-  inline const ::std::string& msg() const;
-  inline void set_msg(const ::std::string& value);
-  inline void set_msg(const char* value);
-  inline void set_msg(const void* value, size_t size);
-  inline ::std::string* mutable_msg();
-  inline ::std::string* release_msg();
-  inline void set_allocated_msg(::std::string* msg);
-
-  // @@protoc_insertion_point(class_scope:protobuf_post_LA_encrypted_msg_t)
- private:
-  inline void set_has_msg();
-  inline void clear_has_msg();
-
-  ::std::string _unknown_fields_;
-
-  ::google::protobuf::uint32 _has_bits_[1];
-  mutable int _cached_size_;
-  ::std::string* msg_;
-  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
-  #else
-  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
-  #endif
-  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
-  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
-
-  void InitAsDefaultInstance();
-  static protobuf_post_LA_encrypted_msg_t* default_instance_;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-// protobuf_sgx_attributes_t
-
-// required uint64 flags = 1;
-inline bool protobuf_sgx_attributes_t::has_flags() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_attributes_t::set_has_flags() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_attributes_t::clear_has_flags() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_attributes_t::clear_flags() {
-  flags_ = GOOGLE_ULONGLONG(0);
-  clear_has_flags();
-}
-inline ::google::protobuf::uint64 protobuf_sgx_attributes_t::flags() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_attributes_t.flags)
-  return flags_;
-}
-inline void protobuf_sgx_attributes_t::set_flags(::google::protobuf::uint64 value) {
-  set_has_flags();
-  flags_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_attributes_t.flags)
-}
-
-// required uint64 xfrm = 2;
-inline bool protobuf_sgx_attributes_t::has_xfrm() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void protobuf_sgx_attributes_t::set_has_xfrm() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void protobuf_sgx_attributes_t::clear_has_xfrm() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void protobuf_sgx_attributes_t::clear_xfrm() {
-  xfrm_ = GOOGLE_ULONGLONG(0);
-  clear_has_xfrm();
-}
-inline ::google::protobuf::uint64 protobuf_sgx_attributes_t::xfrm() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_attributes_t.xfrm)
-  return xfrm_;
-}
-inline void protobuf_sgx_attributes_t::set_xfrm(::google::protobuf::uint64 value) {
-  set_has_xfrm();
-  xfrm_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_attributes_t.xfrm)
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_ec256_public_t
-
-// repeated uint32 gx = 1 [packed = true];
-inline int protobuf_sgx_ec256_public_t::gx_size() const {
-  return gx_.size();
-}
-inline void protobuf_sgx_ec256_public_t::clear_gx() {
-  gx_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_ec256_public_t::gx(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_ec256_public_t.gx)
-  return gx_.Get(index);
-}
-inline void protobuf_sgx_ec256_public_t::set_gx(int index, ::google::protobuf::uint32 value) {
-  gx_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_ec256_public_t.gx)
-}
-inline void protobuf_sgx_ec256_public_t::add_gx(::google::protobuf::uint32 value) {
-  gx_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_ec256_public_t.gx)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_ec256_public_t::gx() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_ec256_public_t.gx)
-  return gx_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_ec256_public_t::mutable_gx() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_ec256_public_t.gx)
-  return &gx_;
-}
-
-// repeated uint32 gy = 2 [packed = true];
-inline int protobuf_sgx_ec256_public_t::gy_size() const {
-  return gy_.size();
-}
-inline void protobuf_sgx_ec256_public_t::clear_gy() {
-  gy_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_ec256_public_t::gy(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_ec256_public_t.gy)
-  return gy_.Get(index);
-}
-inline void protobuf_sgx_ec256_public_t::set_gy(int index, ::google::protobuf::uint32 value) {
-  gy_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_ec256_public_t.gy)
-}
-inline void protobuf_sgx_ec256_public_t::add_gy(::google::protobuf::uint32 value) {
-  gy_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_ec256_public_t.gy)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_ec256_public_t::gy() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_ec256_public_t.gy)
-  return gy_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_ec256_public_t::mutable_gy() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_ec256_public_t.gy)
-  return &gy_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_report_body_t
-
-// repeated uint32 cpu_svn = 1 [packed = true];
-inline int protobuf_sgx_report_body_t::cpu_svn_size() const {
-  return cpu_svn_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_cpu_svn() {
-  cpu_svn_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::cpu_svn(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.cpu_svn)
-  return cpu_svn_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_cpu_svn(int index, ::google::protobuf::uint32 value) {
-  cpu_svn_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.cpu_svn)
-}
-inline void protobuf_sgx_report_body_t::add_cpu_svn(::google::protobuf::uint32 value) {
-  cpu_svn_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.cpu_svn)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::cpu_svn() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.cpu_svn)
-  return cpu_svn_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_cpu_svn() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.cpu_svn)
-  return &cpu_svn_;
-}
-
-// required uint32 misc_select = 9;
-inline bool protobuf_sgx_report_body_t::has_misc_select() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void protobuf_sgx_report_body_t::set_has_misc_select() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void protobuf_sgx_report_body_t::clear_has_misc_select() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void protobuf_sgx_report_body_t::clear_misc_select() {
-  misc_select_ = 0u;
-  clear_has_misc_select();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::misc_select() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.misc_select)
-  return misc_select_;
-}
-inline void protobuf_sgx_report_body_t::set_misc_select(::google::protobuf::uint32 value) {
-  set_has_misc_select();
-  misc_select_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.misc_select)
-}
-
-// repeated uint32 reserved1 = 2 [packed = true];
-inline int protobuf_sgx_report_body_t::reserved1_size() const {
-  return reserved1_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_reserved1() {
-  reserved1_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::reserved1(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.reserved1)
-  return reserved1_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_reserved1(int index, ::google::protobuf::uint32 value) {
-  reserved1_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.reserved1)
-}
-inline void protobuf_sgx_report_body_t::add_reserved1(::google::protobuf::uint32 value) {
-  reserved1_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.reserved1)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::reserved1() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.reserved1)
-  return reserved1_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_reserved1() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.reserved1)
-  return &reserved1_;
-}
-
-// required .protobuf_sgx_attributes_t attributes = 10;
-inline bool protobuf_sgx_report_body_t::has_attributes() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void protobuf_sgx_report_body_t::set_has_attributes() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void protobuf_sgx_report_body_t::clear_has_attributes() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void protobuf_sgx_report_body_t::clear_attributes() {
-  if (attributes_ != NULL) attributes_->::protobuf_sgx_attributes_t::Clear();
-  clear_has_attributes();
-}
-inline const ::protobuf_sgx_attributes_t& protobuf_sgx_report_body_t::attributes() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.attributes)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return attributes_ != NULL ? *attributes_ : *default_instance().attributes_;
-#else
-  return attributes_ != NULL ? *attributes_ : *default_instance_->attributes_;
-#endif
-}
-inline ::protobuf_sgx_attributes_t* protobuf_sgx_report_body_t::mutable_attributes() {
-  set_has_attributes();
-  if (attributes_ == NULL) attributes_ = new ::protobuf_sgx_attributes_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_report_body_t.attributes)
-  return attributes_;
-}
-inline ::protobuf_sgx_attributes_t* protobuf_sgx_report_body_t::release_attributes() {
-  clear_has_attributes();
-  ::protobuf_sgx_attributes_t* temp = attributes_;
-  attributes_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_report_body_t::set_allocated_attributes(::protobuf_sgx_attributes_t* attributes) {
-  delete attributes_;
-  attributes_ = attributes;
-  if (attributes) {
-    set_has_attributes();
-  } else {
-    clear_has_attributes();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_report_body_t.attributes)
-}
-
-// repeated uint32 mr_enclave = 3 [packed = true];
-inline int protobuf_sgx_report_body_t::mr_enclave_size() const {
-  return mr_enclave_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_mr_enclave() {
-  mr_enclave_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::mr_enclave(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.mr_enclave)
-  return mr_enclave_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_mr_enclave(int index, ::google::protobuf::uint32 value) {
-  mr_enclave_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.mr_enclave)
-}
-inline void protobuf_sgx_report_body_t::add_mr_enclave(::google::protobuf::uint32 value) {
-  mr_enclave_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.mr_enclave)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::mr_enclave() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.mr_enclave)
-  return mr_enclave_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_mr_enclave() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.mr_enclave)
-  return &mr_enclave_;
-}
-
-// repeated uint32 reserved2 = 4 [packed = true];
-inline int protobuf_sgx_report_body_t::reserved2_size() const {
-  return reserved2_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_reserved2() {
-  reserved2_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::reserved2(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.reserved2)
-  return reserved2_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_reserved2(int index, ::google::protobuf::uint32 value) {
-  reserved2_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.reserved2)
-}
-inline void protobuf_sgx_report_body_t::add_reserved2(::google::protobuf::uint32 value) {
-  reserved2_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.reserved2)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::reserved2() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.reserved2)
-  return reserved2_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_reserved2() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.reserved2)
-  return &reserved2_;
-}
-
-// repeated uint32 mr_signer = 5 [packed = true];
-inline int protobuf_sgx_report_body_t::mr_signer_size() const {
-  return mr_signer_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_mr_signer() {
-  mr_signer_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::mr_signer(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.mr_signer)
-  return mr_signer_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_mr_signer(int index, ::google::protobuf::uint32 value) {
-  mr_signer_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.mr_signer)
-}
-inline void protobuf_sgx_report_body_t::add_mr_signer(::google::protobuf::uint32 value) {
-  mr_signer_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.mr_signer)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::mr_signer() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.mr_signer)
-  return mr_signer_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_mr_signer() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.mr_signer)
-  return &mr_signer_;
-}
-
-// repeated uint32 reserved3 = 6 [packed = true];
-inline int protobuf_sgx_report_body_t::reserved3_size() const {
-  return reserved3_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_reserved3() {
-  reserved3_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::reserved3(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.reserved3)
-  return reserved3_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_reserved3(int index, ::google::protobuf::uint32 value) {
-  reserved3_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.reserved3)
-}
-inline void protobuf_sgx_report_body_t::add_reserved3(::google::protobuf::uint32 value) {
-  reserved3_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.reserved3)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::reserved3() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.reserved3)
-  return reserved3_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_reserved3() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.reserved3)
-  return &reserved3_;
-}
-
-// required uint32 isv_prod_id = 11;
-inline bool protobuf_sgx_report_body_t::has_isv_prod_id() const {
-  return (_has_bits_[0] & 0x00000100u) != 0;
-}
-inline void protobuf_sgx_report_body_t::set_has_isv_prod_id() {
-  _has_bits_[0] |= 0x00000100u;
-}
-inline void protobuf_sgx_report_body_t::clear_has_isv_prod_id() {
-  _has_bits_[0] &= ~0x00000100u;
-}
-inline void protobuf_sgx_report_body_t::clear_isv_prod_id() {
-  isv_prod_id_ = 0u;
-  clear_has_isv_prod_id();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::isv_prod_id() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.isv_prod_id)
-  return isv_prod_id_;
-}
-inline void protobuf_sgx_report_body_t::set_isv_prod_id(::google::protobuf::uint32 value) {
-  set_has_isv_prod_id();
-  isv_prod_id_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.isv_prod_id)
-}
-
-// required uint32 isv_svn = 12;
-inline bool protobuf_sgx_report_body_t::has_isv_svn() const {
-  return (_has_bits_[0] & 0x00000200u) != 0;
-}
-inline void protobuf_sgx_report_body_t::set_has_isv_svn() {
-  _has_bits_[0] |= 0x00000200u;
-}
-inline void protobuf_sgx_report_body_t::clear_has_isv_svn() {
-  _has_bits_[0] &= ~0x00000200u;
-}
-inline void protobuf_sgx_report_body_t::clear_isv_svn() {
-  isv_svn_ = 0u;
-  clear_has_isv_svn();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::isv_svn() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.isv_svn)
-  return isv_svn_;
-}
-inline void protobuf_sgx_report_body_t::set_isv_svn(::google::protobuf::uint32 value) {
-  set_has_isv_svn();
-  isv_svn_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.isv_svn)
-}
-
-// repeated uint32 reserved4 = 7 [packed = true];
-inline int protobuf_sgx_report_body_t::reserved4_size() const {
-  return reserved4_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_reserved4() {
-  reserved4_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::reserved4(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.reserved4)
-  return reserved4_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_reserved4(int index, ::google::protobuf::uint32 value) {
-  reserved4_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.reserved4)
-}
-inline void protobuf_sgx_report_body_t::add_reserved4(::google::protobuf::uint32 value) {
-  reserved4_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.reserved4)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::reserved4() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.reserved4)
-  return reserved4_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_reserved4() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.reserved4)
-  return &reserved4_;
-}
-
-// repeated uint32 report_data = 8 [packed = true];
-inline int protobuf_sgx_report_body_t::report_data_size() const {
-  return report_data_.size();
-}
-inline void protobuf_sgx_report_body_t::clear_report_data() {
-  report_data_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_body_t::report_data(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_body_t.report_data)
-  return report_data_.Get(index);
-}
-inline void protobuf_sgx_report_body_t::set_report_data(int index, ::google::protobuf::uint32 value) {
-  report_data_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_body_t.report_data)
-}
-inline void protobuf_sgx_report_body_t::add_report_data(::google::protobuf::uint32 value) {
-  report_data_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_body_t.report_data)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_body_t::report_data() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_body_t.report_data)
-  return report_data_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_body_t::mutable_report_data() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_body_t.report_data)
-  return &report_data_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_report_t
-
-// required .protobuf_sgx_report_body_t body = 1;
-inline bool protobuf_sgx_report_t::has_body() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_report_t::set_has_body() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_report_t::clear_has_body() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_report_t::clear_body() {
-  if (body_ != NULL) body_->::protobuf_sgx_report_body_t::Clear();
-  clear_has_body();
-}
-inline const ::protobuf_sgx_report_body_t& protobuf_sgx_report_t::body() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_t.body)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return body_ != NULL ? *body_ : *default_instance().body_;
-#else
-  return body_ != NULL ? *body_ : *default_instance_->body_;
-#endif
-}
-inline ::protobuf_sgx_report_body_t* protobuf_sgx_report_t::mutable_body() {
-  set_has_body();
-  if (body_ == NULL) body_ = new ::protobuf_sgx_report_body_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_report_t.body)
-  return body_;
-}
-inline ::protobuf_sgx_report_body_t* protobuf_sgx_report_t::release_body() {
-  clear_has_body();
-  ::protobuf_sgx_report_body_t* temp = body_;
-  body_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_report_t::set_allocated_body(::protobuf_sgx_report_body_t* body) {
-  delete body_;
-  body_ = body;
-  if (body) {
-    set_has_body();
-  } else {
-    clear_has_body();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_report_t.body)
-}
-
-// repeated uint32 key_id = 2 [packed = true];
-inline int protobuf_sgx_report_t::key_id_size() const {
-  return key_id_.size();
-}
-inline void protobuf_sgx_report_t::clear_key_id() {
-  key_id_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_t::key_id(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_t.key_id)
-  return key_id_.Get(index);
-}
-inline void protobuf_sgx_report_t::set_key_id(int index, ::google::protobuf::uint32 value) {
-  key_id_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_t.key_id)
-}
-inline void protobuf_sgx_report_t::add_key_id(::google::protobuf::uint32 value) {
-  key_id_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_t.key_id)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_t::key_id() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_t.key_id)
-  return key_id_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_t::mutable_key_id() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_t.key_id)
-  return &key_id_;
-}
-
-// repeated uint32 mac = 3 [packed = true];
-inline int protobuf_sgx_report_t::mac_size() const {
-  return mac_.size();
-}
-inline void protobuf_sgx_report_t::clear_mac() {
-  mac_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_report_t::mac(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_report_t.mac)
-  return mac_.Get(index);
-}
-inline void protobuf_sgx_report_t::set_mac(int index, ::google::protobuf::uint32 value) {
-  mac_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_report_t.mac)
-}
-inline void protobuf_sgx_report_t::add_mac(::google::protobuf::uint32 value) {
-  mac_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_report_t.mac)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_report_t::mac() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_report_t.mac)
-  return mac_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_report_t::mutable_mac() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_report_t.mac)
-  return &mac_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_target_info_t
-
-// repeated uint32 mr_enclave = 1 [packed = true];
-inline int protobuf_sgx_target_info_t::mr_enclave_size() const {
-  return mr_enclave_.size();
-}
-inline void protobuf_sgx_target_info_t::clear_mr_enclave() {
-  mr_enclave_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_target_info_t::mr_enclave(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_target_info_t.mr_enclave)
-  return mr_enclave_.Get(index);
-}
-inline void protobuf_sgx_target_info_t::set_mr_enclave(int index, ::google::protobuf::uint32 value) {
-  mr_enclave_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_target_info_t.mr_enclave)
-}
-inline void protobuf_sgx_target_info_t::add_mr_enclave(::google::protobuf::uint32 value) {
-  mr_enclave_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_target_info_t.mr_enclave)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_target_info_t::mr_enclave() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_target_info_t.mr_enclave)
-  return mr_enclave_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_target_info_t::mutable_mr_enclave() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_target_info_t.mr_enclave)
-  return &mr_enclave_;
-}
-
-// required .protobuf_sgx_attributes_t attributes = 4;
-inline bool protobuf_sgx_target_info_t::has_attributes() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void protobuf_sgx_target_info_t::set_has_attributes() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void protobuf_sgx_target_info_t::clear_has_attributes() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void protobuf_sgx_target_info_t::clear_attributes() {
-  if (attributes_ != NULL) attributes_->::protobuf_sgx_attributes_t::Clear();
-  clear_has_attributes();
-}
-inline const ::protobuf_sgx_attributes_t& protobuf_sgx_target_info_t::attributes() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_target_info_t.attributes)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return attributes_ != NULL ? *attributes_ : *default_instance().attributes_;
-#else
-  return attributes_ != NULL ? *attributes_ : *default_instance_->attributes_;
-#endif
-}
-inline ::protobuf_sgx_attributes_t* protobuf_sgx_target_info_t::mutable_attributes() {
-  set_has_attributes();
-  if (attributes_ == NULL) attributes_ = new ::protobuf_sgx_attributes_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_target_info_t.attributes)
-  return attributes_;
-}
-inline ::protobuf_sgx_attributes_t* protobuf_sgx_target_info_t::release_attributes() {
-  clear_has_attributes();
-  ::protobuf_sgx_attributes_t* temp = attributes_;
-  attributes_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_target_info_t::set_allocated_attributes(::protobuf_sgx_attributes_t* attributes) {
-  delete attributes_;
-  attributes_ = attributes;
-  if (attributes) {
-    set_has_attributes();
-  } else {
-    clear_has_attributes();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_target_info_t.attributes)
-}
-
-// repeated uint32 reserved1 = 2 [packed = true];
-inline int protobuf_sgx_target_info_t::reserved1_size() const {
-  return reserved1_.size();
-}
-inline void protobuf_sgx_target_info_t::clear_reserved1() {
-  reserved1_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_target_info_t::reserved1(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_target_info_t.reserved1)
-  return reserved1_.Get(index);
-}
-inline void protobuf_sgx_target_info_t::set_reserved1(int index, ::google::protobuf::uint32 value) {
-  reserved1_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_target_info_t.reserved1)
-}
-inline void protobuf_sgx_target_info_t::add_reserved1(::google::protobuf::uint32 value) {
-  reserved1_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_target_info_t.reserved1)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_target_info_t::reserved1() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_target_info_t.reserved1)
-  return reserved1_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_target_info_t::mutable_reserved1() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_target_info_t.reserved1)
-  return &reserved1_;
-}
-
-// required uint32 misc_select = 5;
-inline bool protobuf_sgx_target_info_t::has_misc_select() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void protobuf_sgx_target_info_t::set_has_misc_select() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void protobuf_sgx_target_info_t::clear_has_misc_select() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void protobuf_sgx_target_info_t::clear_misc_select() {
-  misc_select_ = 0u;
-  clear_has_misc_select();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_target_info_t::misc_select() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_target_info_t.misc_select)
-  return misc_select_;
-}
-inline void protobuf_sgx_target_info_t::set_misc_select(::google::protobuf::uint32 value) {
-  set_has_misc_select();
-  misc_select_ = value;
-  // @@protoc_insertion_point(field_set:protobuf_sgx_target_info_t.misc_select)
-}
-
-// repeated uint32 reserved2 = 3 [packed = true];
-inline int protobuf_sgx_target_info_t::reserved2_size() const {
-  return reserved2_.size();
-}
-inline void protobuf_sgx_target_info_t::clear_reserved2() {
-  reserved2_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_target_info_t::reserved2(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_target_info_t.reserved2)
-  return reserved2_.Get(index);
-}
-inline void protobuf_sgx_target_info_t::set_reserved2(int index, ::google::protobuf::uint32 value) {
-  reserved2_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_target_info_t.reserved2)
-}
-inline void protobuf_sgx_target_info_t::add_reserved2(::google::protobuf::uint32 value) {
-  reserved2_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_target_info_t.reserved2)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_target_info_t::reserved2() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_target_info_t.reserved2)
-  return reserved2_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_target_info_t::mutable_reserved2() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_target_info_t.reserved2)
-  return &reserved2_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_dh_msg1_t
-
-// required .protobuf_sgx_ec256_public_t g_a = 1;
-inline bool protobuf_sgx_dh_msg1_t::has_g_a() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_dh_msg1_t::set_has_g_a() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_dh_msg1_t::clear_has_g_a() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_dh_msg1_t::clear_g_a() {
-  if (g_a_ != NULL) g_a_->::protobuf_sgx_ec256_public_t::Clear();
-  clear_has_g_a();
-}
-inline const ::protobuf_sgx_ec256_public_t& protobuf_sgx_dh_msg1_t::g_a() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg1_t.g_a)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return g_a_ != NULL ? *g_a_ : *default_instance().g_a_;
-#else
-  return g_a_ != NULL ? *g_a_ : *default_instance_->g_a_;
-#endif
-}
-inline ::protobuf_sgx_ec256_public_t* protobuf_sgx_dh_msg1_t::mutable_g_a() {
-  set_has_g_a();
-  if (g_a_ == NULL) g_a_ = new ::protobuf_sgx_ec256_public_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg1_t.g_a)
-  return g_a_;
-}
-inline ::protobuf_sgx_ec256_public_t* protobuf_sgx_dh_msg1_t::release_g_a() {
-  clear_has_g_a();
-  ::protobuf_sgx_ec256_public_t* temp = g_a_;
-  g_a_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg1_t::set_allocated_g_a(::protobuf_sgx_ec256_public_t* g_a) {
-  delete g_a_;
-  g_a_ = g_a;
-  if (g_a) {
-    set_has_g_a();
-  } else {
-    clear_has_g_a();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg1_t.g_a)
-}
-
-// required .protobuf_sgx_target_info_t target = 2;
-inline bool protobuf_sgx_dh_msg1_t::has_target() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void protobuf_sgx_dh_msg1_t::set_has_target() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void protobuf_sgx_dh_msg1_t::clear_has_target() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void protobuf_sgx_dh_msg1_t::clear_target() {
-  if (target_ != NULL) target_->::protobuf_sgx_target_info_t::Clear();
-  clear_has_target();
-}
-inline const ::protobuf_sgx_target_info_t& protobuf_sgx_dh_msg1_t::target() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg1_t.target)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return target_ != NULL ? *target_ : *default_instance().target_;
-#else
-  return target_ != NULL ? *target_ : *default_instance_->target_;
-#endif
-}
-inline ::protobuf_sgx_target_info_t* protobuf_sgx_dh_msg1_t::mutable_target() {
-  set_has_target();
-  if (target_ == NULL) target_ = new ::protobuf_sgx_target_info_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg1_t.target)
-  return target_;
-}
-inline ::protobuf_sgx_target_info_t* protobuf_sgx_dh_msg1_t::release_target() {
-  clear_has_target();
-  ::protobuf_sgx_target_info_t* temp = target_;
-  target_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg1_t::set_allocated_target(::protobuf_sgx_target_info_t* target) {
-  delete target_;
-  target_ = target;
-  if (target) {
-    set_has_target();
-  } else {
-    clear_has_target();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg1_t.target)
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_dh_msg2_t
-
-// required .protobuf_sgx_ec256_public_t g_b = 1;
-inline bool protobuf_sgx_dh_msg2_t::has_g_b() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_dh_msg2_t::set_has_g_b() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_dh_msg2_t::clear_has_g_b() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_dh_msg2_t::clear_g_b() {
-  if (g_b_ != NULL) g_b_->::protobuf_sgx_ec256_public_t::Clear();
-  clear_has_g_b();
-}
-inline const ::protobuf_sgx_ec256_public_t& protobuf_sgx_dh_msg2_t::g_b() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg2_t.g_b)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return g_b_ != NULL ? *g_b_ : *default_instance().g_b_;
-#else
-  return g_b_ != NULL ? *g_b_ : *default_instance_->g_b_;
-#endif
-}
-inline ::protobuf_sgx_ec256_public_t* protobuf_sgx_dh_msg2_t::mutable_g_b() {
-  set_has_g_b();
-  if (g_b_ == NULL) g_b_ = new ::protobuf_sgx_ec256_public_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg2_t.g_b)
-  return g_b_;
-}
-inline ::protobuf_sgx_ec256_public_t* protobuf_sgx_dh_msg2_t::release_g_b() {
-  clear_has_g_b();
-  ::protobuf_sgx_ec256_public_t* temp = g_b_;
-  g_b_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg2_t::set_allocated_g_b(::protobuf_sgx_ec256_public_t* g_b) {
-  delete g_b_;
-  g_b_ = g_b;
-  if (g_b) {
-    set_has_g_b();
-  } else {
-    clear_has_g_b();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg2_t.g_b)
-}
-
-// required .protobuf_sgx_report_t report = 2;
-inline bool protobuf_sgx_dh_msg2_t::has_report() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void protobuf_sgx_dh_msg2_t::set_has_report() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void protobuf_sgx_dh_msg2_t::clear_has_report() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void protobuf_sgx_dh_msg2_t::clear_report() {
-  if (report_ != NULL) report_->::protobuf_sgx_report_t::Clear();
-  clear_has_report();
-}
-inline const ::protobuf_sgx_report_t& protobuf_sgx_dh_msg2_t::report() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg2_t.report)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return report_ != NULL ? *report_ : *default_instance().report_;
-#else
-  return report_ != NULL ? *report_ : *default_instance_->report_;
-#endif
-}
-inline ::protobuf_sgx_report_t* protobuf_sgx_dh_msg2_t::mutable_report() {
-  set_has_report();
-  if (report_ == NULL) report_ = new ::protobuf_sgx_report_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg2_t.report)
-  return report_;
-}
-inline ::protobuf_sgx_report_t* protobuf_sgx_dh_msg2_t::release_report() {
-  clear_has_report();
-  ::protobuf_sgx_report_t* temp = report_;
-  report_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg2_t::set_allocated_report(::protobuf_sgx_report_t* report) {
-  delete report_;
-  report_ = report;
-  if (report) {
-    set_has_report();
-  } else {
-    clear_has_report();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg2_t.report)
-}
-
-// repeated uint32 cmac = 3 [packed = true];
-inline int protobuf_sgx_dh_msg2_t::cmac_size() const {
-  return cmac_.size();
-}
-inline void protobuf_sgx_dh_msg2_t::clear_cmac() {
-  cmac_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_dh_msg2_t::cmac(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg2_t.cmac)
-  return cmac_.Get(index);
-}
-inline void protobuf_sgx_dh_msg2_t::set_cmac(int index, ::google::protobuf::uint32 value) {
-  cmac_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_dh_msg2_t.cmac)
-}
-inline void protobuf_sgx_dh_msg2_t::add_cmac(::google::protobuf::uint32 value) {
-  cmac_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_dh_msg2_t.cmac)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_dh_msg2_t::cmac() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_dh_msg2_t.cmac)
-  return cmac_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_dh_msg2_t::mutable_cmac() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_dh_msg2_t.cmac)
-  return &cmac_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_dh_msg3_body_t
-
-// required .protobuf_sgx_report_t report = 1;
-inline bool protobuf_sgx_dh_msg3_body_t::has_report() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_dh_msg3_body_t::set_has_report() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_dh_msg3_body_t::clear_has_report() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_dh_msg3_body_t::clear_report() {
-  if (report_ != NULL) report_->::protobuf_sgx_report_t::Clear();
-  clear_has_report();
-}
-inline const ::protobuf_sgx_report_t& protobuf_sgx_dh_msg3_body_t::report() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg3_body_t.report)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return report_ != NULL ? *report_ : *default_instance().report_;
-#else
-  return report_ != NULL ? *report_ : *default_instance_->report_;
-#endif
-}
-inline ::protobuf_sgx_report_t* protobuf_sgx_dh_msg3_body_t::mutable_report() {
-  set_has_report();
-  if (report_ == NULL) report_ = new ::protobuf_sgx_report_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg3_body_t.report)
-  return report_;
-}
-inline ::protobuf_sgx_report_t* protobuf_sgx_dh_msg3_body_t::release_report() {
-  clear_has_report();
-  ::protobuf_sgx_report_t* temp = report_;
-  report_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg3_body_t::set_allocated_report(::protobuf_sgx_report_t* report) {
-  delete report_;
-  report_ = report;
-  if (report) {
-    set_has_report();
-  } else {
-    clear_has_report();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg3_body_t.report)
-}
-
-// repeated uint32 additional_prop = 2;
-inline int protobuf_sgx_dh_msg3_body_t::additional_prop_size() const {
-  return additional_prop_.size();
-}
-inline void protobuf_sgx_dh_msg3_body_t::clear_additional_prop() {
-  additional_prop_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_dh_msg3_body_t::additional_prop(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg3_body_t.additional_prop)
-  return additional_prop_.Get(index);
-}
-inline void protobuf_sgx_dh_msg3_body_t::set_additional_prop(int index, ::google::protobuf::uint32 value) {
-  additional_prop_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_dh_msg3_body_t.additional_prop)
-}
-inline void protobuf_sgx_dh_msg3_body_t::add_additional_prop(::google::protobuf::uint32 value) {
-  additional_prop_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_dh_msg3_body_t.additional_prop)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_dh_msg3_body_t::additional_prop() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_dh_msg3_body_t.additional_prop)
-  return additional_prop_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_dh_msg3_body_t::mutable_additional_prop() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_dh_msg3_body_t.additional_prop)
-  return &additional_prop_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_sgx_dh_msg3_t
-
-// required .protobuf_sgx_dh_msg3_body_t msg3_body = 1;
-inline bool protobuf_sgx_dh_msg3_t::has_msg3_body() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_sgx_dh_msg3_t::set_has_msg3_body() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_sgx_dh_msg3_t::clear_has_msg3_body() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_sgx_dh_msg3_t::clear_msg3_body() {
-  if (msg3_body_ != NULL) msg3_body_->::protobuf_sgx_dh_msg3_body_t::Clear();
-  clear_has_msg3_body();
-}
-inline const ::protobuf_sgx_dh_msg3_body_t& protobuf_sgx_dh_msg3_t::msg3_body() const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg3_t.msg3_body)
-#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  return msg3_body_ != NULL ? *msg3_body_ : *default_instance().msg3_body_;
-#else
-  return msg3_body_ != NULL ? *msg3_body_ : *default_instance_->msg3_body_;
-#endif
-}
-inline ::protobuf_sgx_dh_msg3_body_t* protobuf_sgx_dh_msg3_t::mutable_msg3_body() {
-  set_has_msg3_body();
-  if (msg3_body_ == NULL) msg3_body_ = new ::protobuf_sgx_dh_msg3_body_t;
-  // @@protoc_insertion_point(field_mutable:protobuf_sgx_dh_msg3_t.msg3_body)
-  return msg3_body_;
-}
-inline ::protobuf_sgx_dh_msg3_body_t* protobuf_sgx_dh_msg3_t::release_msg3_body() {
-  clear_has_msg3_body();
-  ::protobuf_sgx_dh_msg3_body_t* temp = msg3_body_;
-  msg3_body_ = NULL;
-  return temp;
-}
-inline void protobuf_sgx_dh_msg3_t::set_allocated_msg3_body(::protobuf_sgx_dh_msg3_body_t* msg3_body) {
-  delete msg3_body_;
-  msg3_body_ = msg3_body;
-  if (msg3_body) {
-    set_has_msg3_body();
-  } else {
-    clear_has_msg3_body();
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_sgx_dh_msg3_t.msg3_body)
-}
-
-// repeated uint32 cmac = 2 [packed = true];
-inline int protobuf_sgx_dh_msg3_t::cmac_size() const {
-  return cmac_.size();
-}
-inline void protobuf_sgx_dh_msg3_t::clear_cmac() {
-  cmac_.Clear();
-}
-inline ::google::protobuf::uint32 protobuf_sgx_dh_msg3_t::cmac(int index) const {
-  // @@protoc_insertion_point(field_get:protobuf_sgx_dh_msg3_t.cmac)
-  return cmac_.Get(index);
-}
-inline void protobuf_sgx_dh_msg3_t::set_cmac(int index, ::google::protobuf::uint32 value) {
-  cmac_.Set(index, value);
-  // @@protoc_insertion_point(field_set:protobuf_sgx_dh_msg3_t.cmac)
-}
-inline void protobuf_sgx_dh_msg3_t::add_cmac(::google::protobuf::uint32 value) {
-  cmac_.Add(value);
-  // @@protoc_insertion_point(field_add:protobuf_sgx_dh_msg3_t.cmac)
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
-protobuf_sgx_dh_msg3_t::cmac() const {
-  // @@protoc_insertion_point(field_list:protobuf_sgx_dh_msg3_t.cmac)
-  return cmac_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
-protobuf_sgx_dh_msg3_t::mutable_cmac() {
-  // @@protoc_insertion_point(field_mutable_list:protobuf_sgx_dh_msg3_t.cmac)
-  return &cmac_;
-}
-
-// -------------------------------------------------------------------
-
-// protobuf_post_LA_encrypted_msg_t
-
-// required bytes msg = 1;
-inline bool protobuf_post_LA_encrypted_msg_t::has_msg() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void protobuf_post_LA_encrypted_msg_t::set_has_msg() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void protobuf_post_LA_encrypted_msg_t::clear_has_msg() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void protobuf_post_LA_encrypted_msg_t::clear_msg() {
-  if (msg_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    msg_->clear();
-  }
-  clear_has_msg();
-}
-inline const ::std::string& protobuf_post_LA_encrypted_msg_t::msg() const {
-  // @@protoc_insertion_point(field_get:protobuf_post_LA_encrypted_msg_t.msg)
-  return *msg_;
-}
-inline void protobuf_post_LA_encrypted_msg_t::set_msg(const ::std::string& value) {
-  set_has_msg();
-  if (msg_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    msg_ = new ::std::string;
-  }
-  msg_->assign(value);
-  // @@protoc_insertion_point(field_set:protobuf_post_LA_encrypted_msg_t.msg)
-}
-inline void protobuf_post_LA_encrypted_msg_t::set_msg(const char* value) {
-  set_has_msg();
-  if (msg_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    msg_ = new ::std::string;
-  }
-  msg_->assign(value);
-  // @@protoc_insertion_point(field_set_char:protobuf_post_LA_encrypted_msg_t.msg)
-}
-inline void protobuf_post_LA_encrypted_msg_t::set_msg(const void* value, size_t size) {
-  set_has_msg();
-  if (msg_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    msg_ = new ::std::string;
-  }
-  msg_->assign(reinterpret_cast<const char*>(value), size);
-  // @@protoc_insertion_point(field_set_pointer:protobuf_post_LA_encrypted_msg_t.msg)
-}
-inline ::std::string* protobuf_post_LA_encrypted_msg_t::mutable_msg() {
-  set_has_msg();
-  if (msg_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    msg_ = new ::std::string;
-  }
-  // @@protoc_insertion_point(field_mutable:protobuf_post_LA_encrypted_msg_t.msg)
-  return msg_;
-}
-inline ::std::string* protobuf_post_LA_encrypted_msg_t::release_msg() {
-  clear_has_msg();
-  if (msg_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    return NULL;
-  } else {
-    ::std::string* temp = msg_;
-    msg_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-    return temp;
-  }
-}
-inline void protobuf_post_LA_encrypted_msg_t::set_allocated_msg(::std::string* msg) {
-  if (msg_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
-    delete msg_;
-  }
-  if (msg) {
-    set_has_msg();
-    msg_ = msg;
-  } else {
-    clear_has_msg();
-    msg_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  }
-  // @@protoc_insertion_point(field_set_allocated:protobuf_post_LA_encrypted_msg_t.msg)
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED

+ 1 - 0
Include/ProtobufLAMessages.pb.h

@@ -0,0 +1 @@
+../../dhmsgs_proto_defs/ProtobufLAMessages.pb.h

+ 11 - 16
Makefile

@@ -31,7 +31,6 @@
 
 
 ######## SGX SDK Settings ########
 ######## SGX SDK Settings ########
 
 
-SGX_SDK := /home/m2mazmud/sgx2.1/sgxsdk
 SGX_MODE := HW
 SGX_MODE := HW
 SGX_ARCH := x64
 SGX_ARCH := x64
 SGX_DEBUG := 1
 SGX_DEBUG := 1
@@ -51,20 +50,16 @@ SGX_EDGER8R := $(SGX_SDK)/bin/x64/sgx_edger8r
 SGX_COMMON_CFLAGS += -O2
 SGX_COMMON_CFLAGS += -O2
 
 
 ######## Library Settings ########
 ######## Library Settings ########
-
-OPENSSL_LIBRARY_PATH := /home/m2mazmud/old_stuff/intel-sgx-ssl/Linux/package/lib64/
-OPENSSL_BAREBONES_LIBRARY_PATH := /home/m2mazmud/old_stuff/intel-sgx-ssl/openssl_source/openssl-1.1.0h/
-OpenSSL_Crypto_Library_Name := sgx_tsgxssl_crypto
-SGXSSL_Library_Name := sgx_tsgxssl
-SgxSSL_Link_Libraries := -L$(OPENSSL_LIBRARY_PATH) -Wl,--whole-archive -l$(SGXSSL_Library_Name) -Wl,--no-whole-archive -l$(OpenSSL_Crypto_Library_Name)
-#Security_Link_Flags := -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -pie
-OPENSSL_INCLUDES := /home/m2mazmud/old_stuff/intel-sgx-ssl/Linux/package/include
-
-
+#Integrating linux-sgx-ssl (adapted from the makefile for the TestApp in that repo)
+SGXSSL_PATH := /home/m2mazmud/mitigator/testing/intel-sgx-ssl/Linux/package
+SGXSSL_LIBRARY_PATH := $(SGXSSL_PATH)/lib64
+SGXSSL_Crypto_Library := sgx_tsgxssl_crypto
+SGXSSL_SSL_Library := sgx_tsgxssl
+SgxSSL_Link_Libraries := -L$(SGXSSL_LIBRARY_PATH) -Wl,--whole-archive -l$(SGXSSL_SSL_Library) -Wl,--no-whole-archive -l$(SGXSSL_Crypto_Library)
+Security_Link_Flags := -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -pie
+SGXSSL_INCLUDE_PATH := $(SGXSSL_PATH)/include
 
 
 Trust_Lib_Name := libLocalAttestation_Trusted.a
 Trust_Lib_Name := libLocalAttestation_Trusted.a
-TrustLib_Cpp_Files := LocalAttestationCode/LocalAttestationTrustedWrapper.cpp LocalAttestationCode/LocalAttestationTrusted.cpp LocalAttestationCode/LocalAttestationCode_t.c
-TrustLib_Cpp_Objects := $(TrustLib_Cpp_Files:.cpp=.o)
 TrustLib_Include_Paths := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/libcxx -I$(SGX_SDK)/include/epid -I./Include -I./Decryptor
 TrustLib_Include_Paths := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/tlibc -I$(SGX_SDK)/include/libcxx -I$(SGX_SDK)/include/epid -I./Include -I./Decryptor
 TrustLib_Compile_Flags := $(SGX_COMMON_CFLAGS) -nostdinc -fvisibility=hidden -fpie -fstack-protector  $(TrustLib_Include_Paths) -Wall
 TrustLib_Compile_Flags := $(SGX_COMMON_CFLAGS) -nostdinc -fvisibility=hidden -fpie -fstack-protector  $(TrustLib_Include_Paths) -Wall
 TrustLib_Compile_Cxx_Flags :=  -std=c++11 -nostdinc++
 TrustLib_Compile_Cxx_Flags :=  -std=c++11 -nostdinc++
@@ -76,7 +71,7 @@ Urts_Library_Name := sgx_urts
 App_Cpp_Files := $(wildcard App/*.cpp)
 App_Cpp_Files := $(wildcard App/*.cpp)
 App_Include_Paths := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/ippcp -I./Include -I./LocalAttestationCode
 App_Include_Paths := -I$(SGX_SDK)/include -I$(SGX_SDK)/include/ippcp -I./Include -I./LocalAttestationCode
 App_Compile_Flags := $(SGX_COMMON_CFLAGS) -fPIC -Wno-attributes $(App_Include_Paths) -std=c++11 -Wall -DDEBUG -UNDEBUG -UEDEBUG
 App_Compile_Flags := $(SGX_COMMON_CFLAGS) -fPIC -Wno-attributes $(App_Include_Paths) -std=c++11 -Wall -DDEBUG -UNDEBUG -UEDEBUG
-App_Link_Flags := $(SGX_COMMON_CFLAGS) $(Security_Link_Flags) -L$(SGX_LIBRARY_PATH) -l$(Urts_Library_Name) -lsgx_uae_service -L$(OPENSSL_LIBRARY_PATH) -lsgx_usgxssl -lpthread  -lprotobuf -lsgx_uae_service
+App_Link_Flags := $(SGX_COMMON_CFLAGS) $(Security_Link_Flags) -L$(SGX_LIBRARY_PATH) -l$(Urts_Library_Name) -lsgx_uae_service -L$(SGXSSL_LIBRARY_PATH) -lsgx_usgxssl -lpthread  -lprotobuf -lsgx_uae_service
 
 
 App_Cpp_Objects := App/App.o App/LocalAttestationUntrusted.o App/protobufLAInitiator.o App/protobufSgxLATransformsInitiator.o App/ProtobufLAMessages.pb.o #$(App_Cpp_Files:.cpp=.o)
 App_Cpp_Objects := App/App.o App/LocalAttestationUntrusted.o App/protobufLAInitiator.o App/protobufSgxLATransformsInitiator.o App/ProtobufLAMessages.pb.o #$(App_Cpp_Files:.cpp=.o)
 App_Name := app
 App_Name := app
@@ -109,7 +104,7 @@ Enclave_Compile_Flags += $(Enclave_Include_Paths)
 # Do NOT move the libraries linked with `--start-group' and `--end-group' within `--whole-archive' and `--no-whole-archive' options.
 # Do NOT move the libraries linked with `--start-group' and `--end-group' within `--whole-archive' and `--no-whole-archive' options.
 # Otherwise, you may get some undesirable errors.
 # Otherwise, you may get some undesirable errors.
 Common_Enclave_Link_Flags := $(SGX_COMMON_CFLAGS) -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles \
 Common_Enclave_Link_Flags := $(SGX_COMMON_CFLAGS) -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles \
-        -Wl,--whole-archive -L$(OPENSSL_LIBRARY_PATH) -lsgx_tsgxssl -Wl,--no-whole-archive -lsgx_tsgxssl_crypto \
+    $(SgxSSL_Link_Libraries) $(Security_Link_Flags) \
 	-Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive \
 	-Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive \
 	-Wl,--start-group -L$(SGX_LIBRARY_PATH) -L. -L./Decryptor -L./LocalAttestationCode -lsgx_tstdc -lsgx_tcxx -l$(Crypto_Library_Name) -l$(Service_Library_Name) -Wl,--end-group \
 	-Wl,--start-group -L$(SGX_LIBRARY_PATH) -L. -L./Decryptor -L./LocalAttestationCode -lsgx_tstdc -lsgx_tcxx -l$(Crypto_Library_Name) -l$(Service_Library_Name) -Wl,--end-group \
 	-Wl,-Bstatic -Wl,-Bsymbolic  \
 	-Wl,-Bstatic -Wl,-Bsymbolic  \
@@ -148,7 +143,7 @@ $(Trust_Lib_Name): LocalAttestationCode/LocalAttestationCode_t.o LocalAttestatio
 	@echo "GEN  =>  $@"
 	@echo "GEN  =>  $@"
 
 
 CommonOpensslCode/Openssl_crypto.o: CommonOpensslCode/Openssl_crypto.cpp
 CommonOpensslCode/Openssl_crypto.o: CommonOpensslCode/Openssl_crypto.cpp
-	@$(CXX) -std=c++11 -nostdinc++ $(Enclave_Compile_Flags) -I$(OPENSSL_INCLUDES)  -c $< -o $@
+	@$(CXX) -std=c++11 -nostdinc++ $(Enclave_Compile_Flags) -v -I$(SGXSSL_INCLUDE_PATH)  -c $< -o $@
 	@echo "CXX  <=  $<"
 	@echo "CXX  <=  $<"
 
 
 ######## App Objects ########
 ######## App Objects ########