If ssl_scan_sock.py is used to scan sites, SSLAlertExceptions will cause a traceback (see error below). Instead we should catch and print the exception and continue.
Note we'll need to implement catching in all places that call attempt_observation_for_service(). Currently this is three: threaded_scanner.py running scans, notary_http.py running on-demand scans, and ssl_scan_sock.py itself running as the main python module.
In addition, we should decipher the TLS Alert record that caused the error and print it for the user so they can see what went wrong.
Example traceback:
Traceback (most recent call last):
File "notary_http.py", line 359, in run
fp = attempt_observation_for_service(self.sid, self.timeout_sec, self.use_sni)
File "/home/notary/Perspectives-Server/util/ssl_scan_sock.py", line 226, in attempt_observation_for_service
return _run_scan(dns,port,timeout_sec,False)
File "/home/notary/Perspectives-Server/util/ssl_scan_sock.py", line 159, in _run_scan
raise SSLAlertException(rec_data)
SSLAlertException
If ssl_scan_sock.py is used to scan sites, SSLAlertExceptions will cause a traceback (see error below). Instead we should catch and print the exception and continue.
Note we'll need to implement catching in all places that call attempt_observation_for_service(). Currently this is three: threaded_scanner.py running scans, notary_http.py running on-demand scans, and ssl_scan_sock.py itself running as the main python module.
In addition, we should decipher the TLS Alert record that caused the error and print it for the user so they can see what went wrong.
Example traceback: