package main import ( "encoding/json" "flag" "io/ioutil" "log" "dim13.org/acme" ) func must(err error) { if err != nil { log.Fatal(err) } } const ( eMail = `another@example.com` keySize = 2048 ) var ( server = flag.String("server", acme.LEStaging, "directory server") port = flag.Int("port", 8443, "port to listen") ) func init() { flag.Parse() } func main() { acc, err := acme.NewAccount(eMail, keySize) must(err) acme.Print(acc) //acme.Dump(acc) err = acme.Save(".acme/account.json", acc) must(err) acme.SaveKey(".acme/priv.pem", acc.PrivKey) dir := acme.Directory{} err = acme.Get(acc, *server, &dir) must(err) acme.Print(dir) resp, err := acme.Post(acc, dir.NewReg, acme.NewRegistration(acc.Contact, acme.NewReg{})) must(err) log.Println(resp) defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) must(err) log.Println(string(body)) rr := acme.RegistrationResp{} err = json.Unmarshal(body, &rr) must(err) log.Printf("%+v\n", rr) }