# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Generated by the protocol buffer compiler.  DO NOT EDIT!

from google.protobuf import descriptor
from google.protobuf import message
from google.protobuf import reflection
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)


DESCRIPTOR = descriptor.FileDescriptor(
  name='shims/protos/crypto_util.proto',
  package='shill_protos',
  serialized_pb='\n\x1eshims/protos/crypto_util.proto\x12\x0cshill_protos\"6\n\x12\x45ncryptDataMessage\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\"T\n\x13\x45ncryptDataResponse\x12%\n\x03ret\x18\x01 \x02(\x0e\x32\x18.shill_protos.ReturnCode\x12\x16\n\x0e\x65ncrypted_data\x18\x02 \x01(\x0c\"p\n\x18VerifyCredentialsMessage\x12\x13\n\x0b\x63\x65rtificate\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_data\x18\x02 \x01(\x0c\x12\x15\n\runsigned_data\x18\x03 \x01(\x0c\x12\x13\n\x0bmac_address\x18\x04 \x01(\x0c\"B\n\x19VerifyCredentialsResponse\x12%\n\x03ret\x18\x01 \x02(\x0e\x32\x18.shill_protos.ReturnCode*\x80\x01\n\nReturnCode\x12\x06\n\x02OK\x10\x00\x12\x11\n\rERROR_UNKNOWN\x10\x01\x12\x17\n\x13\x45RROR_OUT_OF_MEMORY\x10\x02\x12!\n\x1d\x45RROR_CRYPTO_OPERATION_FAILED\x10\x03\x12\x1b\n\x17\x45RROR_INVALID_ARGUMENTS\x10\x04\x42\x02H\x03')

_RETURNCODE = descriptor.EnumDescriptor(
  name='ReturnCode',
  full_name='shill_protos.ReturnCode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='OK', index=0, number=0,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ERROR_UNKNOWN', index=1, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ERROR_OUT_OF_MEMORY', index=2, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ERROR_CRYPTO_OPERATION_FAILED', index=3, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ERROR_INVALID_ARGUMENTS', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=373,
  serialized_end=501,
)


OK = 0
ERROR_UNKNOWN = 1
ERROR_OUT_OF_MEMORY = 2
ERROR_CRYPTO_OPERATION_FAILED = 3
ERROR_INVALID_ARGUMENTS = 4



_ENCRYPTDATAMESSAGE = descriptor.Descriptor(
  name='EncryptDataMessage',
  full_name='shill_protos.EncryptDataMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='public_key', full_name='shill_protos.EncryptDataMessage.public_key', 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='data', full_name='shill_protos.EncryptDataMessage.data', 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=48,
  serialized_end=102,
)


_ENCRYPTDATARESPONSE = descriptor.Descriptor(
  name='EncryptDataResponse',
  full_name='shill_protos.EncryptDataResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='ret', full_name='shill_protos.EncryptDataResponse.ret', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='encrypted_data', full_name='shill_protos.EncryptDataResponse.encrypted_data', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=104,
  serialized_end=188,
)


_VERIFYCREDENTIALSMESSAGE = descriptor.Descriptor(
  name='VerifyCredentialsMessage',
  full_name='shill_protos.VerifyCredentialsMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='certificate', full_name='shill_protos.VerifyCredentialsMessage.certificate', 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='signed_data', full_name='shill_protos.VerifyCredentialsMessage.signed_data', index=1,
      number=2, 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='unsigned_data', full_name='shill_protos.VerifyCredentialsMessage.unsigned_data', 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='mac_address', full_name='shill_protos.VerifyCredentialsMessage.mac_address', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=190,
  serialized_end=302,
)


_VERIFYCREDENTIALSRESPONSE = descriptor.Descriptor(
  name='VerifyCredentialsResponse',
  full_name='shill_protos.VerifyCredentialsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='ret', full_name='shill_protos.VerifyCredentialsResponse.ret', index=0,
      number=1, type=14, cpp_type=8, label=2,
      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=304,
  serialized_end=370,
)


_ENCRYPTDATARESPONSE.fields_by_name['ret'].enum_type = _RETURNCODE
_VERIFYCREDENTIALSRESPONSE.fields_by_name['ret'].enum_type = _RETURNCODE

class EncryptDataMessage(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _ENCRYPTDATAMESSAGE
  
  # @@protoc_insertion_point(class_scope:shill_protos.EncryptDataMessage)

class EncryptDataResponse(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _ENCRYPTDATARESPONSE
  
  # @@protoc_insertion_point(class_scope:shill_protos.EncryptDataResponse)

class VerifyCredentialsMessage(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _VERIFYCREDENTIALSMESSAGE
  
  # @@protoc_insertion_point(class_scope:shill_protos.VerifyCredentialsMessage)

class VerifyCredentialsResponse(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _VERIFYCREDENTIALSRESPONSE
  
  # @@protoc_insertion_point(class_scope:shill_protos.VerifyCredentialsResponse)

# @@protoc_insertion_point(module_scope)
