From 19e99b76481702ef9eecca7d0c9bc837bf6207ac Mon Sep 17 00:00:00 2001
From: wsczx <wsc@wsczx.com>
Date: Fri, 7 Apr 2023 23:59:44 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A3=80=E6=9F=A5=E8=AF=81?=
 =?UTF-8?q?=E4=B9=A6=E6=96=87=E4=BB=B6=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8?=
 =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 server/admin/api_cert.go | 3 +--
 server/dbdata/cert.go    | 8 ++++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/server/admin/api_cert.go b/server/admin/api_cert.go
index 15018e5..5731c3a 100755
--- a/server/admin/api_cert.go
+++ b/server/admin/api_cert.go
@@ -69,8 +69,7 @@ func CreatCert(w http.ResponseWriter, r *http.Request) {
 	}
 	defer r.Body.Close()
 	config := &dbdata.SettingLetsEncrypt{}
-	err = json.Unmarshal(body, config)
-	if err != nil {
+	if err := json.Unmarshal(body, config); err != nil {
 		RespError(w, RespInternalErr, err)
 		return
 	}
diff --git a/server/dbdata/cert.go b/server/dbdata/cert.go
index 3c284bc..e1a9412 100755
--- a/server/dbdata/cert.go
+++ b/server/dbdata/cert.go
@@ -261,8 +261,12 @@ func (c *LeGoClient) SaveCert() error {
 }
 
 func ParseCert() (*tls.Certificate, *time.Time, error) {
-	os.Stat(base.Cfg.CertFile)
-	os.Stat(base.Cfg.CertKey)
+	_, errCert := os.Stat(base.Cfg.CertFile)
+	_, errKey := os.Stat(base.Cfg.CertKey)
+	if os.IsNotExist(errCert) || os.IsNotExist(errKey) {
+		PrivateCert()
+
+	}
 	cert, err := tls.LoadX509KeyPair(base.Cfg.CertFile, base.Cfg.CertKey)
 	if err != nil || errors.Is(err, os.ErrNotExist) {
 		PrivateCert()