Проблемы с рукопожатием с WolfSSL

У меня возникли некоторые проблемы с использованием 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

Есть идеи? Попытка подключиться к smtp.gmail.com через порт 465.

2

Решение

Это похоже на ошибку квитирования TLS, потому что:

  • клиент отправил клиенту привет
  • он получил предупреждение
  • предупреждение 40 означает ошибку рукопожатия, см.
    http://tools.ietf.org/html/rfc5246#section-7.2

Следующие шаги будут:

  • выяснить, в чем ошибка -313
  • Можете ли вы получить трассировку проволочной сетки от компьютера в той же сети, чтобы получить более подробную информацию о том, что содержит сервер привет? например это может произойти по нескольким причинам, например сервер недоволен списком доступных шифров от клиента
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]