# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: securemessage.proto

from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)




DESCRIPTOR = _descriptor.FileDescriptor(
  name='securemessage.proto',
  package='securemessage',
  serialized_pb='\n\x13securemessage.proto\x12\rsecuremessage\";\n\rSecureMessage\x12\x17\n\x0fheader_and_body\x18\x01 \x02(\x0c\x12\x11\n\tsignature\x18\x02 \x02(\x0c\"\xf1\x01\n\x06Header\x12\x32\n\x10signature_scheme\x18\x01 \x02(\x0e\x32\x18.securemessage.SigScheme\x12\x33\n\x11\x65ncryption_scheme\x18\x02 \x02(\x0e\x32\x18.securemessage.EncScheme\x12\x1b\n\x13verification_key_id\x18\x03 \x01(\x0c\x12\x19\n\x11\x64\x65\x63ryption_key_id\x18\x04 \x01(\x0c\x12\n\n\x02iv\x18\x05 \x01(\x0c\x12\x17\n\x0fpublic_metadata\x18\x06 \x01(\x0c\x12!\n\x16\x61ssociated_data_length\x18\x07 \x01(\r:\x01\x30\"D\n\rHeaderAndBody\x12%\n\x06header\x18\x01 \x02(\x0b\x32\x15.securemessage.Header\x12\x0c\n\x04\x62ody\x18\x02 \x02(\x0c\"\'\n\x0f\x45\x63P256PublicKey\x12\t\n\x01x\x18\x01 \x02(\x0c\x12\t\n\x01y\x18\x02 \x02(\x0c\"1\n\x12SimpleRsaPublicKey\x12\t\n\x01n\x18\x01 \x02(\x0c\x12\x10\n\x01\x65\x18\x02 \x01(\x05:\x05\x36\x35\x35\x33\x37\"\x18\n\x0b\x44hPublicKey\x12\t\n\x01y\x18\x01 \x02(\x0c\"\xf0\x01\n\x10GenericPublicKey\x12*\n\x04type\x18\x01 \x02(\x0e\x32\x1c.securemessage.PublicKeyType\x12:\n\x12\x65\x63_p256_public_key\x18\x02 \x01(\x0b\x32\x1e.securemessage.EcP256PublicKey\x12=\n\x12rsa2048_public_key\x18\x03 \x01(\x0b\x32!.securemessage.SimpleRsaPublicKey\x12\x35\n\x11\x64h2048_public_key\x18\x04 \x01(\x0b\x32\x1a.securemessage.DhPublicKey\"A\n\x15\x44\x65viceToDeviceMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x17\n\x0fsequence_number\x18\x02 \x01(\x05\"H\n\x0eInitiatorHello\x12\x36\n\rpublic_dh_key\x18\x01 \x01(\x0b\x32\x1f.securemessage.GenericPublicKey\"H\n\x0eResponderHello\x12\x36\n\rpublic_dh_key\x18\x01 \x01(\x0b\x32\x1f.securemessage.GenericPublicKey*G\n\tSigScheme\x12\x0f\n\x0bHMAC_SHA256\x10\x01\x12\x15\n\x11\x45\x43\x44SA_P256_SHA256\x10\x02\x12\x12\n\x0eRSA2048_SHA256\x10\x03*&\n\tEncScheme\x12\x08\n\x04NONE\x10\x01\x12\x0f\n\x0b\x41\x45S_256_CBC\x10\x02*:\n\rPublicKeyType\x12\x0b\n\x07\x45\x43_P256\x10\x01\x12\x0b\n\x07RSA2048\x10\x02\x12\x0f\n\x0b\x44H2048_MODP\x10\x03\x42\x02H\x03')

_SIGSCHEME = _descriptor.EnumDescriptor(
  name='SigScheme',
  full_name='securemessage.SigScheme',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='HMAC_SHA256', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ECDSA_P256_SHA256', index=1, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RSA2048_SHA256', index=2, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=989,
  serialized_end=1060,
)

SigScheme = enum_type_wrapper.EnumTypeWrapper(_SIGSCHEME)
_ENCSCHEME = _descriptor.EnumDescriptor(
  name='EncScheme',
  full_name='securemessage.EncScheme',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AES_256_CBC', index=1, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1062,
  serialized_end=1100,
)

EncScheme = enum_type_wrapper.EnumTypeWrapper(_ENCSCHEME)
_PUBLICKEYTYPE = _descriptor.EnumDescriptor(
  name='PublicKeyType',
  full_name='securemessage.PublicKeyType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EC_P256', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RSA2048', index=1, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DH2048_MODP', index=2, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1102,
  serialized_end=1160,
)

PublicKeyType = enum_type_wrapper.EnumTypeWrapper(_PUBLICKEYTYPE)
HMAC_SHA256 = 1
ECDSA_P256_SHA256 = 2
RSA2048_SHA256 = 3
NONE = 1
AES_256_CBC = 2
EC_P256 = 1
RSA2048 = 2
DH2048_MODP = 3



_SECUREMESSAGE = _descriptor.Descriptor(
  name='SecureMessage',
  full_name='securemessage.SecureMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header_and_body', full_name='securemessage.SecureMessage.header_and_body', index=0,
      number=1, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='signature', full_name='securemessage.SecureMessage.signature', index=1,
      number=2, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=38,
  serialized_end=97,
)


_HEADER = _descriptor.Descriptor(
  name='Header',
  full_name='securemessage.Header',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signature_scheme', full_name='securemessage.Header.signature_scheme', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='encryption_scheme', full_name='securemessage.Header.encryption_scheme', index=1,
      number=2, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='verification_key_id', full_name='securemessage.Header.verification_key_id', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='decryption_key_id', full_name='securemessage.Header.decryption_key_id', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='iv', full_name='securemessage.Header.iv', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='public_metadata', full_name='securemessage.Header.public_metadata', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='associated_data_length', full_name='securemessage.Header.associated_data_length', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=100,
  serialized_end=341,
)


_HEADERANDBODY = _descriptor.Descriptor(
  name='HeaderAndBody',
  full_name='securemessage.HeaderAndBody',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='securemessage.HeaderAndBody.header', index=0,
      number=1, type=11, cpp_type=10, label=2,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='body', full_name='securemessage.HeaderAndBody.body', index=1,
      number=2, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=343,
  serialized_end=411,
)


_ECP256PUBLICKEY = _descriptor.Descriptor(
  name='EcP256PublicKey',
  full_name='securemessage.EcP256PublicKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='x', full_name='securemessage.EcP256PublicKey.x', index=0,
      number=1, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='y', full_name='securemessage.EcP256PublicKey.y', index=1,
      number=2, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=413,
  serialized_end=452,
)


_SIMPLERSAPUBLICKEY = _descriptor.Descriptor(
  name='SimpleRsaPublicKey',
  full_name='securemessage.SimpleRsaPublicKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='n', full_name='securemessage.SimpleRsaPublicKey.n', index=0,
      number=1, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='e', full_name='securemessage.SimpleRsaPublicKey.e', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=65537,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=454,
  serialized_end=503,
)


_DHPUBLICKEY = _descriptor.Descriptor(
  name='DhPublicKey',
  full_name='securemessage.DhPublicKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='y', full_name='securemessage.DhPublicKey.y', index=0,
      number=1, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=505,
  serialized_end=529,
)


_GENERICPUBLICKEY = _descriptor.Descriptor(
  name='GenericPublicKey',
  full_name='securemessage.GenericPublicKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='securemessage.GenericPublicKey.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ec_p256_public_key', full_name='securemessage.GenericPublicKey.ec_p256_public_key', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='rsa2048_public_key', full_name='securemessage.GenericPublicKey.rsa2048_public_key', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='dh2048_public_key', full_name='securemessage.GenericPublicKey.dh2048_public_key', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=532,
  serialized_end=772,
)


_DEVICETODEVICEMESSAGE = _descriptor.Descriptor(
  name='DeviceToDeviceMessage',
  full_name='securemessage.DeviceToDeviceMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='securemessage.DeviceToDeviceMessage.message', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value="",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='sequence_number', full_name='securemessage.DeviceToDeviceMessage.sequence_number', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=774,
  serialized_end=839,
)


_INITIATORHELLO = _descriptor.Descriptor(
  name='InitiatorHello',
  full_name='securemessage.InitiatorHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='public_dh_key', full_name='securemessage.InitiatorHello.public_dh_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=841,
  serialized_end=913,
)


_RESPONDERHELLO = _descriptor.Descriptor(
  name='ResponderHello',
  full_name='securemessage.ResponderHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='public_dh_key', full_name='securemessage.ResponderHello.public_dh_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=915,
  serialized_end=987,
)

_HEADER.fields_by_name['signature_scheme'].enum_type = _SIGSCHEME
_HEADER.fields_by_name['encryption_scheme'].enum_type = _ENCSCHEME
_HEADERANDBODY.fields_by_name['header'].message_type = _HEADER
_GENERICPUBLICKEY.fields_by_name['type'].enum_type = _PUBLICKEYTYPE
_GENERICPUBLICKEY.fields_by_name['ec_p256_public_key'].message_type = _ECP256PUBLICKEY
_GENERICPUBLICKEY.fields_by_name['rsa2048_public_key'].message_type = _SIMPLERSAPUBLICKEY
_GENERICPUBLICKEY.fields_by_name['dh2048_public_key'].message_type = _DHPUBLICKEY
_INITIATORHELLO.fields_by_name['public_dh_key'].message_type = _GENERICPUBLICKEY
_RESPONDERHELLO.fields_by_name['public_dh_key'].message_type = _GENERICPUBLICKEY
DESCRIPTOR.message_types_by_name['SecureMessage'] = _SECUREMESSAGE
DESCRIPTOR.message_types_by_name['Header'] = _HEADER
DESCRIPTOR.message_types_by_name['HeaderAndBody'] = _HEADERANDBODY
DESCRIPTOR.message_types_by_name['EcP256PublicKey'] = _ECP256PUBLICKEY
DESCRIPTOR.message_types_by_name['SimpleRsaPublicKey'] = _SIMPLERSAPUBLICKEY
DESCRIPTOR.message_types_by_name['DhPublicKey'] = _DHPUBLICKEY
DESCRIPTOR.message_types_by_name['GenericPublicKey'] = _GENERICPUBLICKEY
DESCRIPTOR.message_types_by_name['DeviceToDeviceMessage'] = _DEVICETODEVICEMESSAGE
DESCRIPTOR.message_types_by_name['InitiatorHello'] = _INITIATORHELLO
DESCRIPTOR.message_types_by_name['ResponderHello'] = _RESPONDERHELLO

class SecureMessage(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _SECUREMESSAGE

  # @@protoc_insertion_point(class_scope:securemessage.SecureMessage)

class Header(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _HEADER

  # @@protoc_insertion_point(class_scope:securemessage.Header)

class HeaderAndBody(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _HEADERANDBODY

  # @@protoc_insertion_point(class_scope:securemessage.HeaderAndBody)

class EcP256PublicKey(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _ECP256PUBLICKEY

  # @@protoc_insertion_point(class_scope:securemessage.EcP256PublicKey)

class SimpleRsaPublicKey(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _SIMPLERSAPUBLICKEY

  # @@protoc_insertion_point(class_scope:securemessage.SimpleRsaPublicKey)

class DhPublicKey(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DHPUBLICKEY

  # @@protoc_insertion_point(class_scope:securemessage.DhPublicKey)

class GenericPublicKey(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _GENERICPUBLICKEY

  # @@protoc_insertion_point(class_scope:securemessage.GenericPublicKey)

class DeviceToDeviceMessage(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DEVICETODEVICEMESSAGE

  # @@protoc_insertion_point(class_scope:securemessage.DeviceToDeviceMessage)

class InitiatorHello(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _INITIATORHELLO

  # @@protoc_insertion_point(class_scope:securemessage.InitiatorHello)

class ResponderHello(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _RESPONDERHELLO

  # @@protoc_insertion_point(class_scope:securemessage.ResponderHello)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), 'H\003')
# @@protoc_insertion_point(module_scope)
