Eu me perguntava sobre a mesma coisa, olhei para o código-fonte ( "Use a fonte, Luke!" :), e é simplesmente o valor de retorno de < href="http://www.openssl.org/docs/ssl/SSL_connect.html"> SSL_connect()
da biblioteca OpenSSL . A documentação afirma que:
-
Accepted
(1
) significa:The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been established.
-
Rejected
(0
) significa:The TLS/SSL handshake was not successful but was shut down controlled and by the specifications of the TLS/SSL protocol. Call
SSL_get_error()
with the return value ret to find out the reason. -
Failed
(<0
) significa:The TLS/SSL handshake was not successful, because a fatal error occurred either at the protocol level or a connection failure occurred. The shutdown was not clean. It can also occur [if] action is need to continue the operation for non-blocking BIOs. Call
SSL_get_error()
with the return value ret to find out the reason.
Os dois últimos podem ser seguidos por um N/A
, se link não estiver disponível.
Então, acho que sslscan
deve conter uma opção --verbose
ou -v
que chama SSL_get_error()
e gera o motivo real em que ele falhou (ou foi rejeitado).
Isso seria bastante útil. Porque agora, não é.
Por enquanto, tudo o que posso recomendar é conectar-se manualmente a um cliente mais real, forçar o uso de uma certa cifra no dito cliente ou no servidor, e depois mostrar o motivo real.
A menos que você queira melhorar o código de sslscan
, é claro. :)