我在使用WolfSSL时遇到了一些问题。我试图在WolfSSL论坛上提出一个问题,但是注册目前无法正常进行。

我正在使用WolfSSL为Nintendo Wii开发一个简单的电子邮件客户端。 WolfSSL是唯一声称具有Wii兼容性的库。我已经使用devKitPro成功构建了该库,并且一切似乎都可以正常运行,但是握手失败。

这是一些示例代码:

bool Internet::sslSetup(){

  if(wolfSSL_Init() != SSL_SUCCESS){
    sslReportError();
    return false;
  }
  setState("SSL Init");

  method = wolfSSLv23_client_method();
  if (method == NULL) {
    sslReportError();
    return false;
  }
  setState("SSL Method Set");

  ctx = wolfSSL_CTX_new(method);
  wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);

  if(ctx == NULL){
    sslReportError();
    return false;
  }
  setState("SSL Ctx Init");

  sslSocket = wolfSSL_new(ctx);
  if(sslSocket == NULL){
    sslReportError();
    return false;
  }
  setState("SSL Socket Init");

  wolfSSL_set_fd(sslSocket, socket);
  if(sslSocket == NULL){
    sslReportError();
    return false;
  }
  setState("SSL Socket connected to net socket");

  return true;
}

我无法在Wii上进行任何调试,因此我只能进行文本调试。这是WolfSSL调试输出的日志:
13 05 2016 00:55 wolfSSL Entering wolfSSL_Init
13 05 2016 00:55 wolfSSL Entering WOLFSSL_CTX_new
13 05 2016 00:55 wolfSSL Entering wolfSSL_CertManagerNew
13 05 2016 00:55 wolfSSL Leaving WOLFSSL_CTX_new, return 0
13 05 2016 00:55 wolfSSL Entering wolfSSL_CTX_set_verify
13 05 2016 00:55 wolfSSL Entering SSL_new
13 05 2016 00:55 wolfSSL Leaving SSL_new, return 0
13 05 2016 00:55 wolfSSL Entering SSL_set_fd
13 05 2016 00:55 wolfSSL Leaving SSL_set_fd, return 1
13 05 2016 00:55 wolfSSL Entering SSL_connect()
13 05 2016 00:55 growing output buffer
13 05 2016 00:55 Shrinking output buffer
13 05 2016 00:55 connect state: CLIENT_HELLO_SENT
13 05 2016 00:55 received record layer msg
13 05 2016 00:55 got ALERT!
13 05 2016 00:55 Got alert
13 05 2016 00:55 wolfSSL error occurred, error = 40
13 05 2016 00:55 wolfSSL error occurred, error = -313

有任何想法吗?尝试在端口465上连接到smtp.gmail.com。

最佳答案

看起来是TLS握手错误,原因是:

  • 客户端向客户端发送了问候
  • 它收到了警报
  • Alert 40表示握手错误,请参阅
    http://tools.ietf.org/html/rfc5246#section-7.2

  • 下一步将是:
  • 调查什么是-313错误
  • 是否可以从同一网络上的计算机获取Wireshark跟踪,以获取有关服务器问候的详细信息?例如发生这种情况可能有多种原因,例如服务器对客户端
  • 可用的密码列表不满意

    关于c++ - 与WolfSSL握手时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37217462/

    10-12 16:09