当我使用SSLSCAN检查我的服务器的密码套件时,我发现有三种状态:接受、拒绝和失败。之后,我试图禁用RC2(40位)的密码。我在_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128号HKEY_本地下创建了一个新的键"Enabled"=dword:00000000。SSLSCAN显示EXP-RC2-CBC-MD5 (40位)“失败”,而其余的RC2 (40位)密码被“拒绝”。
因此,这让我感到困惑:失败和被拒绝有什么区别?我在google上看到了所有的信息,包括SSLSCAN主页,但是没有找到明确的答案。
发布于 2013-11-12 16:44:52
我想知道同样的事情,查看源代码(“使用源代码,卢克!”),它只是SSL_connect()来自OpenSSL库的返回值。文件指出:
Accepted (1)指的是:成功完成了TLS/SSL握手,建立了TLS/SSL连接。Rejected (0)的意思是: TLS/SSL握手不成功,但被关闭控制,并受到TLS/SSL协议规范的控制。使用ret返回值调用SSL_get_error()以找出原因。Failed (<0)的意思是: TLS/SSL握手不成功,因为在协议级别发生致命错误或发生连接失败。停工是不干净的。它也可能发生如果动作,需要继续对非阻塞的BIOs进行操作.使用ret返回值调用SSL_get_error()以找出原因。后两者之后可以是一个N/A,如果https不可用。
因此,我认为sslscan应该包含一个--verbose或-v选项,该选项调用SSL_get_error()并输出失败的实际原因(或被拒绝)。
这将是相当有用的。因为现在它不是。
现在,我所能建议的就是手动连接到一个更真实的客户端,强制在所述客户端或服务器上使用某个密码,然后让它显示实际原因。
当然,除非你想改进sslscan的S代码。:)
https://serverfault.com/questions/364693
复制相似问题