From 0c9f38fe388b108091979324ad0b50140c7e9c19 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Wed, 2 Sep 2015 10:15:50 +0200 Subject: [PATCH] wip --- testsuite/certificates.go | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 testsuite/certificates.go diff --git a/testsuite/certificates.go b/testsuite/certificates.go new file mode 100644 index 0000000..f7ab23e --- /dev/null +++ b/testsuite/certificates.go @@ -0,0 +1,50 @@ +package testsuite + +import ( + "fmt" + "github.com/nemunaire/eyespot" + "github.com/spacemonkeygo/openssl" +) + +type Certificates struct {} + +func (Certificates) GetTestDescription() string { + return "Test the certificate of the remote host." +} + +func (test Certificates) Run(protocol string, host string) (map[string]eyespot.Result, error) { + var results = map[string]eyespot.Result{} + + ctx, err := openssl.NewCtx() + if err != nil { + return results, err + } + + conn, err := openssl.Dial(protocol, host, ctx, openssl.InsecureSkipHostVerification) + if err != nil { + return results, err + } + defer conn.Close(); + +// if err := conn.Handshake(); err != nil { +// return err +// } + + cert, err := conn.PeerCertificate() + + if err != nil { + return results, err + } + + nm, err := cert.GetIssuerName() + + if err != nil { + return results, err + } + + if str, ok := nm.GetEntry(13); ok != false { + fmt.Printf(str) + } + + return results, nil +}