支持密码套件中拒绝和失败的定义

ron*_*nin 5 ssl openssl ssl-certificate

当我使用 SSLSCAN 检查我的服务器的密码套件时,我发现有三种状态:Accepted、Rejected 和 Failed。之后,我尝试禁用 RC2(40bits) 的密码。我在 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128] 下创建了一个新密钥“Enabled”=dword:00000000。SSLSCAN 显示 EXP-RC2-CBC-MD5(40 位)“失败”,但其余的 RC2?40 位?密码被“拒绝”。

所以这让我很困惑:失败和拒绝之间有什么区别?我在谷歌上找到了所有信息,包括 SSLSCAN 主页,但还没有找到明确的答案。

小智 3

我想知道同样的事情,查看了源代码(\xe2\x80\x9cUse the source, Luke!\xe2\x80\x9d :),它只是OpenSSL 库的返回。该文档指出:SSL_connect()

\n\n
    \n
  • Accepted1) 方法:

    \n\n
    \n

    TLS/SSL 握手已成功完成,TLS/SSL 连接已建立

    \n
  • \n
  • Rejected0) 方法:

    \n\n
    \n

    TLS/SSL 握手成功,但已根据 TLS/SSL 协议规范进行控制和关闭。使用返回值ret调用SSL_get_error()查找原因。

    \n
  • \n
  • Failed<0) 方法:

    \n\n
    \n

    TLS/SSL 握手不成功因为协议级别发生致命错误或发生连接失败。关闭不干净[如果]需要采取行动来继续非阻塞 BIO 的操作,也可能发生。使用返回值ret调用SSL_get_error()查找原因。

    \n
  • \n
\n\n

N/A如果https不可用,后两者后面可以跟一个。

\n\n

所以我认为sslscan应该包含一个--verboseor-v选项来调用SSL_get_error()并输出它失败(或被拒绝)的实际原因。
\n这会很有用。因为现在它是\xe2\x80\x99t。

\n\n

目前,我所能建议的就是手动连接更真实的客户端,强制在所述客户端或服务器上使用特定密码,然后让它向您显示实际原因。
\n当然,除非你想改进sslscan\xe2\x80\x99s 代码。:)

\n