package acme import jose "github.com/square/go-jose" const ( // LEV1 Let's Encrytpt V1 LEV1 = `https://acme-v01.api.letsencrypt.org/directory` // LEStaging Let's Encrypt Staging LEStaging = `https://acme-staging.api.letsencrypt.org/directory` ) // Directory ... type Directory struct { NewReg string `json:"new-reg"` RecoverReg string `json:"recover-reg"` NewAuthz string `json:"new-authz"` NewCert string `json:"new-cert"` RevokeCert string `json:"revoke-cert"` } // Registration Objects type Registration struct { Resource string `json:"resource"` Key jose.JsonWebKey `json:"key"` Contact []string `json:"contact,omitempty"` Agreement string `json:"agreement,omitempty"` Authorizations string `json:"authorizations,omitempty"` Certificates string `json:"certificates,omitempty"` } // Authorization Objects type Authorization struct { Resource string `json:"resource"` Identifier Identifier `json:"identifier"` Status string `json:"status,omitemtpy"` // valid Expires string `json:"expires,omitempty"` // 2006-01-02 Challenges []Challenge `json:"challenges"` Combinations [][]int `json:"combinations,omitemtpy"` } // Identifier ... type Identifier struct { Type string `json:"type"` // dns Value string `json:"value"` // example.com } // Challege ... type Challege struct { Type string `json:"type"` // http-01 Status string `json:"status"` // valid Validated string `json:"validated"` // 2006-01-02T15:04Z KeyAuthorization string `json:"keyAuthorization"` }