From 4efaaf765ffa65eac66b0bc72291f09f9557de5a Mon Sep 17 00:00:00 2001 From: Christopher Denny Date: Tue, 31 May 2016 17:08:31 -0700 Subject: [PATCH] Moved code to display certificates to separate file, (display.go). Still uses println instead of templates. --- display.go | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 51 ------------------------------------------------ 2 files changed, 57 insertions(+), 51 deletions(-) create mode 100644 display.go diff --git a/display.go b/display.go new file mode 100644 index 0000000..df94691 --- /dev/null +++ b/display.go @@ -0,0 +1,57 @@ +package main + +import ( + "crypto/x509" + "encoding/hex" + "fmt" +) + +func displayCert(cert *x509.Certificate) { + + //Expiry Date + fmt.Println("Expiry Date:", cert.NotAfter) + + //Algorithm + fmt.Println("Algorithm Type:", cert.SignatureAlgorithm) + + //Subject Info + fmt.Println("Subject Info:") + fmt.Println(" CommonName:", cert.Subject.CommonName) + fmt.Println(" Organization:", cert.Subject.Organization) + fmt.Println(" OrganizationalUnit:", cert.Subject.OrganizationalUnit) + fmt.Println(" Country:", cert.Subject.Country) + fmt.Println(" Locality:", cert.Subject.Locality) + + //Issuer Info + fmt.Println("Issuer Info:") + fmt.Println(" CommonName:", cert.Issuer.CommonName) + fmt.Println(" Organization:", cert.Issuer.Organization) + fmt.Println(" OrganizationalUnit:", cert.Issuer.OrganizationalUnit) + fmt.Println(" Country:", cert.Issuer.Country) + fmt.Println(" Locality:", cert.Issuer.Locality) + + //Subject Key ID + fmt.Print("Subject Key ID: ") + for i := 0; i < len(cert.SubjectKeyId); i++ { + fmt.Print(hex.EncodeToString(cert.SubjectKeyId[i : i+1])) + if i < len(cert.SubjectKeyId)-1 { + fmt.Print(":") + } + } + + //Authority Key ID + fmt.Print("\nAuthority Key ID: ") + for i := 0; i < len(cert.AuthorityKeyId); i++ { + fmt.Print(hex.EncodeToString(cert.AuthorityKeyId[i : i+1])) + if i < len(cert.AuthorityKeyId)-1 { + fmt.Print(":") + } + } + + //SANs, (alternate DNS Names) + fmt.Println("\nAlternate DNS Names:", cert.DNSNames) + + //Serial Number + fmt.Println("Serial Number:", cert.SerialNumber) + fmt.Println("\n") +} diff --git a/main.go b/main.go index 0e502d5..91144e7 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,6 @@ package main import ( "bufio" "crypto/x509" - "encoding/hex" "encoding/pem" "fmt" "io/ioutil" @@ -80,53 +79,3 @@ func getCerts(file, format string) ([]*x509.Certificate, error) { } return certs, nil } - -func displayCert(cert *x509.Certificate) { - - //Expiry Date - fmt.Println("Expiry Date:", cert.NotAfter) - - //Algorithm - fmt.Println("Algorithm Type:", cert.SignatureAlgorithm) - - //Subject Info - fmt.Println("Subject Info:") - fmt.Println(" CommonName:", cert.Subject.CommonName) - fmt.Println(" Organization:", cert.Subject.Organization) - fmt.Println(" OrganizationalUnit:", cert.Subject.OrganizationalUnit) - fmt.Println(" Country:", cert.Subject.Country) - fmt.Println(" Locality:", cert.Subject.Locality) - - //Issuer Info - fmt.Println("Issuer Info:") - fmt.Println(" CommonName:", cert.Issuer.CommonName) - fmt.Println(" Organization:", cert.Issuer.Organization) - fmt.Println(" OrganizationalUnit:", cert.Issuer.OrganizationalUnit) - fmt.Println(" Country:", cert.Issuer.Country) - fmt.Println(" Locality:", cert.Issuer.Locality) - - //Subject Key ID - fmt.Print("Subject Key ID: ") - for i := 0; i < len(cert.SubjectKeyId); i++ { - fmt.Print(hex.EncodeToString(cert.SubjectKeyId[i : i+1])) - if i < len(cert.SubjectKeyId)-1 { - fmt.Print(":") - } - } - - //Authority Key ID - fmt.Print("\nAuthority Key ID: ") - for i := 0; i < len(cert.AuthorityKeyId); i++ { - fmt.Print(hex.EncodeToString(cert.AuthorityKeyId[i : i+1])) - if i < len(cert.AuthorityKeyId)-1 { - fmt.Print(":") - } - } - - //SANs, (alternate DNS Names) - fmt.Println("\nAlternate DNS Names:", cert.DNSNames) - - //Serial Number - fmt.Println("Serial Number:", cert.SerialNumber) - fmt.Println("\n") -}