From 4f137fa11c16f7b40a471aa6435faa5dc23bb956 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Sun, 12 Jul 2015 16:27:50 +0200 Subject: [PATCH 1/2] Start working on webservice --- .gitignore | 1 + webservice/main.go | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 webservice/main.go diff --git a/.gitignore b/.gitignore index 9e2c193..76c8c63 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ cli/cli +webservice/webservice diff --git a/webservice/main.go b/webservice/main.go new file mode 100644 index 0000000..c413ec7 --- /dev/null +++ b/webservice/main.go @@ -0,0 +1,20 @@ +package main + +import ( + "flag" + "fmt" + "log" + "net/http" +) + +func main() { + var port = flag.Int("port", 8080, "Listening port") + flag.Parse() + + log.Println("Registering handlers...") + mux := http.NewServeMux() + http.HandleFunc("/", mux.ServeHTTP) + + log.Println(fmt.Sprintf("Ready, listening on port %d", *port)) + http.ListenAndServe(fmt.Sprintf(":%d", *port), nil) +} From 0c9f38fe388b108091979324ad0b50140c7e9c19 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Wed, 2 Sep 2015 10:15:50 +0200 Subject: [PATCH 2/2] 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 +}