obtain.go 860 B

1234567891011121314151617181920212223242526272829303132
  1. package cert
  2. import (
  3. "github.com/0xJacky/Nginx-UI/model"
  4. "github.com/go-acme/lego/v4/certificate"
  5. "github.com/go-acme/lego/v4/lego"
  6. "github.com/pkg/errors"
  7. "log"
  8. )
  9. func obtain(payload *ConfigPayload, client *lego.Client, l *log.Logger, errChan chan error) {
  10. request := certificate.ObtainRequest{
  11. Domains: payload.ServerName,
  12. Bundle: true,
  13. }
  14. l.Println("[INFO] [Nginx UI] Obtaining certificate")
  15. certificates, err := client.Certificate.Obtain(request)
  16. if err != nil {
  17. errChan <- errors.Wrap(err, "obtain certificate error")
  18. return
  19. }
  20. payload.Resource = &model.CertificateResource{
  21. Resource: certificates,
  22. PrivateKey: certificates.PrivateKey,
  23. Certificate: certificates.Certificate,
  24. IssuerCertificate: certificates.IssuerCertificate,
  25. CSR: certificates.CSR,
  26. }
  27. payload.WriteFile(l, errChan)
  28. }