Как я могу записать адрес сервера в конфигурации сервера Asylo GrPC? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь заставить этот пример сервера gRPC работать с Google Asylo (https://github.com/google/asylo/tree/master/asylo/examples/grpc_server).. Для инициализации сервера мне нужно указать адрес_сервера в этом файле конфигурации (https://github.com/google/asylo/blob/master/asylo/examples/grpc_server/grpc_server_config.proto)

).адрес сервера в примере написан так:

/ The address that the gRPC server inside the enclave will be hosted on.
 // Required.
optional string server_address = 205739939;

Я не уверен, каков формат этого адреса (т. е. IPv4 или Ipv6). Когда я пробую адрес в примере, он даетme следующая ошибка:

E0415 20: 26: 28.102505429 139772652978128 server_chttp2.cc:40] {"созданный": "@ 1555359988.102435497", "описание": "из общего числа 1 решенных ни одного адреса не добавлено", "файл ":" внешняя / com_github_grpc_grpc / SRC / ядро ​​/ внутр / транспорт / chttp2 / сервер / chttp2_server.cc», "file_line": 348, "referenced_errors": [{ "создал": "@ 1555359988,102435497", "описание":«Семейство адресов не поддерживается семейством протоколов», «errno»: 106, «file»: «external / com_github_grpc_grpc / src / core / lib / iomgr / socket_utils_common_posix.cc», «file_line»: 379, «os_error»: «Addressсемья не поддерживается протоколом family "," syscall ":" socket "," target_address ":" [:: 1]: 0 "}]} 2019-04-15 20:26:28 FATAL grpc_server_driver.cc: 62: Ошибка загрузки grpc_server / grpc_server_enclave.so: :: asylo :: error:: GoogleErrorSpace :: INTERNAL: Не удалось запустить сервер

Я хотел бы написать адрес Ipv4, например: 127.0.0.1:5000, но мне не удалось это сделать.Любые указатели ценятся?

1 Ответ

0 голосов
/ 18 апреля 2019

@ Тарек Эльгамал

Файлы .proto находятся не там, где вы бы указали IP-адрес. server_address - это поле в определении сообщения .proto для связи между доверенным приложением и ненадежным приложением.

optional string server_address = 205739939;

IP-адрес для примера устанавливается в следующей строке 34 из grpc_server_driver.cc

Это значение передается в приложение доверия через конфигурацию в строке 47 grpc_server_driver .

Доверенное приложение прервет сообщение .proto, отправленное менеджером анклавов во время инициализации анклава .

asylo::Status GrpcServerEnclave::Initialize(
    const asylo::EnclaveConfig &enclave_config) LOCKS_EXCLUDED(server_mutex_) {
  // Fail if there is no server_address available.
  if (!enclave_config.HasExtension(server_address)) {
    return asylo::Status(asylo::error::GoogleError::INVALID_ARGUMENT,
                         "Expected a server_address extension on config.");
  }
...