From 195239f59a98b1e1f1e1737d47d57c5d0559c009 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 18 Mar 2016 15:32:50 +0100 Subject: Alternative aproach --- cmd/batch/files.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 cmd/batch/files.go (limited to 'cmd/batch/files.go') diff --git a/cmd/batch/files.go b/cmd/batch/files.go new file mode 100644 index 0000000..cc4cad5 --- /dev/null +++ b/cmd/batch/files.go @@ -0,0 +1,29 @@ +package main + +import ( + "crypto/tls" + "crypto/x509" + "path" + "path/filepath" +) + +func scanFiles(dir string) ([]tls.Certificate, error) { + var certs []tls.Certificate + keys, err := filepath.Glob(path.Join(dir, "private", "*.key")) + if err != nil { + return nil, err + } + for _, k := range keys { + c := filepath.Join(dir, "certs", filepath.Base(k[:len(k)-4])+".pem") + crt, err := tls.LoadX509KeyPair(c, k) + if err != nil { + continue + } + crt.Leaf, err = x509.ParseCertificate(crt.Certificate[0]) + if err != nil { + return nil, err + } + certs = append(certs, crt) + } + return certs, nil +} -- cgit v1.2.3