0

我正在尝试让这个 gRPC 服务器示例与 Google Asylo ( https://github.com/google/asylo/tree/master/asylo/examples/grpc_server ) 一起使用。要初始化服务器,我需要指定一个 server_address在这个配置文件中(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)。当我尝试示例中的地址时,它给了我以下错误:

E0415 20:26:28.102505429 139772652978128 server_chttp2.cc:40] {"created":"@1555359988.102435497","description":"在总共 1 个解析中没有添加地址","file":"external/com_github_grpc_grpc/src/core /ext/transport/chttp2/server/chttp2_server.cc","file_line":348,"referenced_errors":[{"created":"@1555359988.102435497","description":"协议族不支持地址族"," errno":106,"file":"external/com_github_grpc_grpc/src/core/lib/iomgr/socket_utils_common_posix.cc","file_line":379,"os_error":"协议族不支持地址族","syscall" :"socket","target_address":"[::1]:0"}]} 2019-04-15 20:26:28 致命 grpc_server_driver.cc : 62 : 加载 grpc_server/grpc_server_enclave.so 失败: ::asylo::error::GoogleErrorSpace::INTERNAL: 无法启动服务器

我想写 Ipv4 地址,例如:127.0.0.1:5000 但我没有这样做。任何指针表示赞赏?

4

1 回答 1

0

@Tarek Elgamal

.proto 文件不是您放置 IP 地址的位置。server_address 是 .proto 消息定义中的一个字段,用于可信应用程序和非可信应用程序之间的通信。

optional string server_address = 205739939;

示例的 IP 地址设置在grpc_server_driver.cc 的以下第 34 行

该值通过grpc_server_driver 第 47 行的配置传递给信任应用程序。

可信应用程序将在enclave 初始化方法期间分解 enclave 管理器发送的 .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.");
  }
于 2019-04-18T17:57:42.657 回答