From 650415dbf290bc8f4dc0d475da05e30619574153 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 23 Dec 2015 17:05:03 +0100 Subject: Add webroot solver --- challange_http.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'challange_http.go') diff --git a/challange_http.go b/challange_http.go index ee1708a..bd53ebf 100644 --- a/challange_http.go +++ b/challange_http.go @@ -2,8 +2,11 @@ package acme import ( "io" + "io/ioutil" "net" "net/http" + "os" + "path" ) const wellKnown = `/.well-known/acme-challenge/` @@ -41,3 +44,16 @@ func (c httpChallenge) Solve() error { <-done return nil } + +type webRoot struct { + Challenge + Webroot string +} + +func (c webRoot) Solve() error { + file := path.Join(c.Webroot, wellKnown, c.Token) + if err := os.MkdirAll(path.Dir(file), 0755); err != nil { + return err + } + return ioutil.WriteFile(file, []byte(c.KeyAuthorization), 0644) +} -- cgit v1.2.3