I am trying to loop through an array of addresses, and check their tls cert status. I pieced together a program from various examples that do other things.
My first step in processing is
conn, err := tls.Dial("tcp", url, nil)
where 'url' is passed in from the array (I do import crypto/tls
). Before I go on to pulling the cert, I check for errors:
if err != nil {
log.Printf("Unable to get %q - %s\n", url, err)
return
}
Here is a snippet of the array (with only test addresses for now):
var urls = []string{
"https://google.com:443",
"https://expired.badssl.com:443",
"[https://wrong.host.badssl.com]:443",
"[https://self-signed.badssl.com]:443"
}
The first 2 return too many colons in address
I found a suggestion to fix that using the brackets. The next 2 addresses, with the brackets, return no such host
Where is my error?
It should be domain name, IPv4 or IPv6 address with port only, not URL.
conn, err := tls.Dial("tcp", "mail.google.com:443", &tls.Config{
RootCAs: roots,
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With