1234567891011121314151617181920212223242526272829303132333435363738 |
- package cert
- import (
- "github.com/0xJacky/Nginx-UI/internal/translation"
- "github.com/0xJacky/Nginx-UI/model"
- "github.com/go-acme/lego/v4/certificate"
- "github.com/go-acme/lego/v4/lego"
- "github.com/uozi-tech/cosy"
- )
- func obtain(payload *ConfigPayload, client *lego.Client, l *Logger) error {
- request := certificate.ObtainRequest{
- Domains: payload.ServerName,
- Bundle: true,
- MustStaple: payload.MustStaple,
- }
- l.Info(translation.C("[Nginx UI] Obtaining certificate"))
- certificates, err := client.Certificate.Obtain(request)
- if err != nil {
- return cosy.WrapErrorWithParams(ErrObtainCert, err.Error())
- }
- payload.Resource = &model.CertificateResource{
- Resource: certificates,
- PrivateKey: certificates.PrivateKey,
- Certificate: certificates.Certificate,
- IssuerCertificate: certificates.IssuerCertificate,
- CSR: certificates.CSR,
- }
- err = payload.WriteFile(l)
- if err != nil {
- return err
- }
- return nil
- }
|