2

我在使用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。

4

1 回答 1

2

它看起来像 TLS 握手错误,因为:

下一步将是:

  • 调查什么是 -313 错误
  • 您能否从同一网络上的计算机上获取 Wireshark 跟踪信息,以获取有关 hello 服务器所包含内容的更多详细信息?例如,这可能由于多种原因而发生,例如服务器对客户端可用的密码列表不满意
于 2016-05-13T23:50:26.870 回答