From 42acb9529ae6b35086e4fd63558493c89c29d4c5 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Wed, 8 Jun 2016 17:51:16 -0400 Subject: [PATCH] Use range for iteration values and use switch instead of if chain Use range for iteration values and use switch instead of if chain --- sslcheck.go | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/sslcheck.go b/sslcheck.go index 2f905aa..03ce457 100644 --- a/sslcheck.go +++ b/sslcheck.go @@ -66,27 +66,25 @@ func main() { fmt.Printf("Cert Checks OK\n") } state := conn.ConnectionState() - i := 0 - for _, v := range state.PeerCertificates { - if i == 0 { - fmt.Println("Server key information:") - fmt.Printf("\tCN:\t %v\n\tOU:\t %v\n\tOrg:\t %v\n", v.Subject.CommonName, v.Subject.OrganizationalUnit, v.Subject.Organization) - fmt.Printf("\tCity:\t %v\n\tState:\t %v\n\tCountry: %v\n", v.Subject.Locality, v.Subject.Province, v.Subject.Country) - fmt.Printf("SSL Certificate Valid:\n\tFrom:\t %v\n\tTo:\t %v\n", v.NotBefore, v.NotAfter) - fmt.Printf("Valid Certificate DNS:\n") - if len(v.DNSNames) >= 1 { + for i, v := range state.PeerCertificates { + switch i { + case 0: + fmt.Println("Server key information:") + fmt.Printf("\tCN:\t %v\n\tOU:\t %v\n\tOrg:\t %v\n", v.Subject.CommonName, v.Subject.OrganizationalUnit, v.Subject.Organization) + fmt.Printf("\tCity:\t %v\n\tState:\t %v\n\tCountry: %v\n", v.Subject.Locality, v.Subject.Province, v.Subject.Country) + fmt.Printf("SSL Certificate Valid:\n\tFrom:\t %v\n\tTo:\t %v\n", v.NotBefore, v.NotAfter) + fmt.Printf("Valid Certificate DNS:\n") + if len(v.DNSNames) >= 1 { for dns := range v.DNSNames { fmt.Printf("\t%v\n", v.DNSNames[dns]) } - } else { - fmt.Printf("\t%v\n", v.Subject.CommonName) - } - i++ - } else if i == 1 { - fmt.Printf("Issued by:\n\t%v\n\t%v\n\t%v\n", v.Subject.CommonName, v.Subject.OrganizationalUnit, v.Subject.Organization) - i++ - } else { - break + } else { + fmt.Printf("\t%v\n", v.Subject.CommonName) + } + case 1: + fmt.Printf("Issued by:\n\t%v\n\t%v\n\t%v\n", v.Subject.CommonName, v.Subject.OrganizationalUnit, v.Subject.Organization) + default: + break } }