SSL_accept似乎阻止了15秒

时间:2016-01-25 13:42:17

标签: multithreading ssl openssl

我有一台SSL服务器,突然停止处理客户端请求。

我看到以下错误。

  
    

SSL_GET_NEW_SESSION:ssl会话ID回调失败。

  

到目前为止我的观察结果:

SSL_accept在15秒后完全返回(套接字是非阻塞的)。

以下代码表示会话ID"错误"回调失败?在生成session-id。

        CRYPTO_r_lock(CRYPTO_LOCK_SSL_CTX);
    if(s->generate_session_id)
        cb = s->generate_session_id;
    else if(s->session_ctx->generate_session_id)
        cb = s->session_ctx->generate_session_id;
    CRYPTO_r_unlock(CRYPTO_LOCK_SSL_CTX);
    /* Choose a session ID */
    tmp = ss->session_id_length;
    if(!cb(s, ss->session_id, &tmp))
        {
        /* The callback failed */
        SSLerr(SSL_F_SSL_GET_NEW_SESSION,
            SSL_R_SSL_SESSION_ID_CALLBACK_FAILED);
        SSL_SESSION_free(ss);
        return(0);
        }

有一个线程锁定和释放,之后抛出异常。是否可以获得加密锁定失败并超时(这里有猜测)?

什么可能导致SSL_accept延迟退货?

否则,session-id回调失败,我理解是由于生成"随机"对于session-id。这里可能出现什么问题?

0 个答案:

没有答案