aboutsummaryrefslogtreecommitdiff
path: root/cmd/acmed/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/acmed/main.go')
-rw-r--r--cmd/acmed/main.go107
1 files changed, 0 insertions, 107 deletions
diff --git a/cmd/acmed/main.go b/cmd/acmed/main.go
deleted file mode 100644
index 08a62f3..0000000
--- a/cmd/acmed/main.go
+++ /dev/null
@@ -1,107 +0,0 @@
-package main
-
-import (
- "crypto/rand"
- "crypto/rsa"
- "crypto/x509"
- "encoding/pem"
- "flag"
- "io"
- "io/ioutil"
- "log"
- "os"
- "path"
-
- "dim13.org/acme"
-)
-
-var confName = flag.String("conf", "acme.toml", "configuration file")
-
-func newKey(w io.Writer, size int) (*rsa.PrivateKey, error) {
- key, err := rsa.GenerateKey(rand.Reader, size)
- if err != nil {
- return nil, err
- }
- block := &pem.Block{
- Type: "RSA PRIVATE KEY",
- Bytes: x509.MarshalPKCS1PrivateKey(key),
- }
- return key, pem.Encode(w, block)
-}
-
-func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
- key := k.Path()
- flags := os.O_WRONLY | os.O_CREATE | os.O_TRUNC
- if _, err := os.Stat(key); os.IsNotExist(err) {
- log.Println("allocating", key, k.Size())
- if err := os.MkdirAll(path.Dir(key), 0700); err != nil {
- return nil, err
- }
- fd, err := os.OpenFile(key, flags, 0600)
- if err != nil {
- return nil, err
- }
- defer fd.Close()
- return newKey(fd, k.Size())
- } else {
- der, err := ioutil.ReadFile(key)
- if err != nil {
- return nil, err
- }
- block, _ := pem.Decode(der)
- return x509.ParsePKCS1PrivateKey(block.Bytes)
- }
-}
-
-func chkKeys(c *Config) error {
- var err error
- for k, acc := range c.Account {
- acc.key, err = chkKey(acc)
- if err != nil {
- return err
- }
- c.Account[k] = acc
- }
- for k, des := range c.Desire {
- des.key, err = chkKey(des)
- if err != nil {
- return err
- }
- c.Desire[k] = des
- }
- return nil
-}
-
-func main() {
- flag.Parse()
- conf, err := LoadConfig(*confName)
- if err != nil {
- log.Fatal(err)
- }
- err = chkKeys(conf)
- if err != nil {
- log.Fatal(err)
- }
-
- log.Println(conf)
- for k, des := range conf.Desire {
- log.Println(k, des.account)
- }
- return
-
- for k, des := range conf.Desire {
- a, _ := acme.NewAccount(des.account.Mail, des.account.Phone, des.account.key)
- log.Println(k, a)
- c, err := acme.NewClient(des.provider.Directory)
- if err != nil {
- log.Println(err)
- }
- log.Println(k, c)
- az, err := c.Authorize(a, des.Altnames[0])
- if err != nil {
- log.Println(err)
- }
- log.Println(k, az)
- }
-
-}