aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-14 21:50:41 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-14 21:50:41 +0100
commitf51cf2b22e3818c432ad11744ef7ffe6066b8e2d (patch)
tree328f744b7b70b2da476db4946716d762a093cf85 /cmd
parent36f3a6f8a8f17437daba42aab176fab255773502 (diff)
WIP
Diffstat (limited to 'cmd')
-rw-r--r--cmd/acme/config.go47
-rw-r--r--cmd/acme/config_test.go11
-rw-r--r--cmd/acme/main.go43
3 files changed, 18 insertions, 83 deletions
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)
+ }
}