如何使用嵌入式mongoose实现SSL

时间:2015-09-05 17:25:56

标签: c ssl mongoose-web-server

我尝试将SSL添加到使用mongoose实现的网络服务器,但我没有设法让它工作。我安装了openssl,并尝试按照https://github.com/cesanta/mongoose/blob/master/docs/SSL.md

中的文档进行操作

我启用了SSL:

#define NS_ENABLE_SSL

这是我的主要功能:

int main(int argc, char *argv[]) {
  struct mg_server *server;
  char port[10] = "8000";
  const char * _port;

  if (argc > 1) {
    strcpy(port, argv[1]);
  }

  // Create and configure the server
  server = mg_create_server(NULL, ev_handler);

  mg_set_option(server, "listening_port", port);
  _port = mg_get_option(server, "listening_port");
  if (strlen(_port)) {
    printf("Starting on port %s\n", _port);
    for (;;) {
      mg_poll_server(server, 1000);
    }
  }
  else {
    printf("Cannot start on port %s\n", port);
  }

  // Cleanup, and free server instance
  mg_destroy_server(&server);

  return 0;
}

我有案例 MG_AUTH:在ev_handler函数中返回MG_TRUE;

我用:

运行我的服务器
sudo ./hihttpd 80,ssl://443:ssl.pem

ssl.pem与hihttpd位于同一文件夹中。

https://127.0.0.1/返回SSL连接错误: - /

您可以在githut https://github.com/apiel/hihttpd/blob/master/hihttpd.c

上查看所有内容

1 个答案:

答案 0 :(得分:0)

您是否添加了设置证书路径的选项?

mg_set_option(server,"ssl_certificate", "../ssl.pem");