From f51cf2b22e3818c432ad11744ef7ffe6066b8e2d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 14 Dec 2015 21:50:41 +0100 Subject: WIP --- cmd/acme/config.go | 47 ----------------------------------------------- cmd/acme/config_test.go | 11 ----------- cmd/acme/main.go | 43 ++++++++++++++++++------------------------- 3 files changed, 18 insertions(+), 83 deletions(-) delete mode 100644 cmd/acme/config.go delete mode 100644 cmd/acme/config_test.go (limited to 'cmd') diff --git a/cmd/acme/config.go b/cmd/acme/config.go deleted file mode 100644 index c27b367..0000000 --- a/cmd/acme/config.go +++ /dev/null @@ -1,47 +0,0 @@ -package main - -import ( - "log" - - "github.com/BurntSushi/toml" -) - -type Config struct { - Provider map[string]Provider - Account map[string]Account - Hook map[string]Hook - Desire []Desire -} - -type Provider struct { - Directory string -} - -type Account struct { - Mail string - Key string - Provider string -} - -type Desire struct { - Altnames []string - Key string - Cert string - Webroot string - Account string - Gracetime string - Hook []string -} - -type Hook struct { - CMD string -} - -func ReadConfig(fname string) Config { - var c Config - _, err := toml.DecodeFile(fname, &c) - if err != nil { - log.Fatal(err) - } - return c -} diff --git a/cmd/acme/config_test.go b/cmd/acme/config_test.go deleted file mode 100644 index 0aa473a..0000000 --- a/cmd/acme/config_test.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -import ( - "fmt" - "testing" -) - -func TestReadConfig(t *testing.T) { - a := ReadConfig("../../acme.toml") - t.Log(fmt.Sprintf("%+v\n", a)) -} diff --git a/cmd/acme/main.go b/cmd/acme/main.go index 859dc5a..ce16699 100644 --- a/cmd/acme/main.go +++ b/cmd/acme/main.go @@ -1,9 +1,7 @@ package main import ( - "encoding/json" "flag" - "io/ioutil" "log" "dim13.org/acme" @@ -11,13 +9,13 @@ import ( func must(err error) { if err != nil { - log.Fatal(err) + log.Fatal("must:", err) } } var ( config = flag.String("config", "acme.toml", "configuration file") - server = flag.String("server", acme.LEStaging, "directory server") + server = flag.String("server", acme.LES, "directory server") port = flag.Int("port", 8443, "port to listen") ) @@ -26,30 +24,25 @@ func init() { } func main() { - acc, err := acme.NewAccount("another@example.com", acme.KeySize) + conf, err := acme.LoadConfig("acme.toml") must(err) - acme.Print(acc) - //acme.Dump(acc) - err = acme.Save(".acme/account.json", acc) - must(err) - acme.SaveKey(".acme/priv.pem", acc.PrivKey) + log.Printf("%+v\n", conf) - dir := acme.Directory{} - err = acme.Get(acc, *server, &dir) - must(err) - acme.Print(dir) + for _, v := range conf.Desire { + acc := conf.Account[v.Account] + prov := conf.Provider[v.Provider] + a, err := acme.NewAccount(acc.Mail, acme.KeySize) + must(err) - resp, err := acme.Post(acc, dir.NewReg, acme.NewRegistration(acc.Contact, acme.NewReg{})) - must(err) - log.Println(resp) + c, err := acme.NewClient(prov.Directory) + must(err) - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - must(err) - log.Println(string(body)) + re, err := c.Register(a) + must(err) + log.Printf("%+v\n", re) - rr := acme.RegistrationResp{} - err = json.Unmarshal(body, &rr) - must(err) - log.Printf("%+v\n", rr) + re, err = c.Agree(a) + must(err) + log.Printf("%+v\n", re) + } } -- cgit v1.2.3