我正在尝试写一个openssl服务器并且SSL_Accept失败并出现错误:FFFFFFFF:lib(255):func(4095):reason(4095)。这个错误代码意味着什么?如何获得openssl错误代码的描述?
答案 0 :(得分:0)
和SSL_Accept失败,错误:FFFFFFFF
0xFFFFFFFF是-1。您应该接下来致电SSL_get_error
。来自SSL_accept(3)
:
如果底层BIO阻塞,SSL_accept()将只返回一次 握手已完成或发生错误,但SGC除外 (服务器门控密码学)。对于SGC,SSL_accept()可以返回-1, 但SSL_get_error()将产生SSL_ERROR_WANT_READ / WRITE和 应该再次调用SSL_accept()。
如果底层BIO是非阻塞的,SSL_accept()也将返回 当底层BIO无法满足SSL_accept()的需求时 继续握手,通过返回值-1指示问题。 在这种情况下,调用SSL_get_error(),返回值为 SSL_accept()将产生SSL_ERROR_WANT_READ或SSL_ERROR_WANT_WRITE。 然后,呼叫过程必须在采取适当的措施后重复呼叫 满足SSL_accept()的需求的行动。