I have had success with using the standard library client without TLS. I have also had success with using the client with TLS for certain websites.
However, I have had issues with certain domains which, according to my understanding, should function.
In particular, from a RHEL 8 workstation, I know the CA bundle I use is supported by rescan (although I also attempted just add by absolute path just in case)
I also am under the understanding that the stdlib supports TLS 1.2 and TLS 1.3. I know the domain does not support TLS 1.3, but did confirm via openssl s_client -connect <domain>:443 -tls1_2 that the domain supports TLS 1.2, the handshake succeeding.
Thus the dilemma, when I attempt to connect, all I get is TlsAlert
I was hoping to gather more information as, I notice .level and .description are set if (options.alert). However, two points, since the call to init fails, there isnāt a TLS client from which to access the options and check the alert that way. However, If Iām correct, I can pass options to init (which I do), and the code should mutate that parameter and fill it in with the alert information.
Despite this, I donāt actually manage to get the level nor description as options.alert is just null. The only way I managed to jimmy it into telling me is by passing in a dummy alert in my options (e.g. I just created an alert, level=warning, description=bad_mac). Only then did that if-condition succeed, thus populating the option with level=fatal, description = handshake_failure.
In conclusion, is there a way to get that TlsAlert information without passing a dummy alert to the function via options? And, is there any remaining underlying snare for the stdlib TLS client that I should be aware of before falling back to trying tcpdump? (e.g. it doesnāt support X or Cipher AES256-GCM-SHA384 is not supported, or something).