From af05fe47b225a9aaf922f965bf0e25672fdd907d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 8 Jan 2016 10:22:05 +0100 Subject: Add webroot solver --- cmd/acme/solve_http.go | 8 +++++++- cmd/acme/solve_webroot.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 cmd/acme/solve_webroot.go (limited to 'cmd') diff --git a/cmd/acme/solve_http.go b/cmd/acme/solve_http.go index 24e9555..39efb4e 100644 --- a/cmd/acme/solve_http.go +++ b/cmd/acme/solve_http.go @@ -1,5 +1,11 @@ package main -func Solve(token string) error { +import "net/http" + +type httpChallenge struct { + http.Server +} + +func (c *httpChallenge) Solve(token, keyAuth string) error { return nil } diff --git a/cmd/acme/solve_webroot.go b/cmd/acme/solve_webroot.go new file mode 100644 index 0000000..4d62f64 --- /dev/null +++ b/cmd/acme/solve_webroot.go @@ -0,0 +1,28 @@ +package main + +import ( + "os" + "path" + + "dim13.org/acme" +) + +type webrootChallenge struct { + Webroot string + file string +} + +func (c *webrootChallenge) Solve(token, keyAuth string) error { + c.file = path.Join(c.Webroot, acme.WellKnown, token) + fd, err := acme.CreatePubFile(c.file) + if err != nil { + return err + } + defer fd.Close() + _, err := fd.WriteString(keyAuth) + return err +} + +func (c *webrootChallenge) Finish() error { + return os.Remove(c.file) +} -- cgit v1.2.3