acme-mana/test/task.go
2024-10-25 13:39:23 +08:00

74 lines
1.7 KiB
Go

package test
import (
"acme-mana/src"
"crypto/x509"
"encoding/json"
"encoding/pem"
"github.com/go-acme/lego/v4/certificate"
"log"
"os"
"path"
"path/filepath"
"time"
)
func TestValidExist() {
domain := src.GetAppConfig().Domains[0]
name := domain.Name
dir := src.GetAppConfig().CertDir
certDir := path.Join(dir, name)
log.Println(src.ValidExist(certDir, domain))
}
func TestParseCertInfo() {
domain := src.GetAppConfig().Domains[0]
name := domain.Name
dir := src.GetAppConfig().CertDir
certDir := path.Join(dir, name)
infoFile := path.Join(certDir, src.CertInfoFileName)
certInfo := src.ParseCertInfo(infoFile, domain)
log.Println(certInfo)
log.Println(certInfo.Info.NotAfter)
log.Println(certInfo.Info.NotAfter.Sub(time.Now()))
log.Println(certInfo.Info.NotAfter.Sub(time.Now()) < 7*24*time.Hour)
}
func TestParseCert() {
// 读取
dir := src.GetAppConfig().CertDir
dir = filepath.Join(dir, "acme.zzzykj.cn")
certFile := path.Join(dir, src.CertFileName)
certBytes, err := os.ReadFile(certFile)
if err != nil {
panic(err)
}
block, _ := pem.Decode(certBytes)
if block == nil {
log.Fatalf("Failed to decode PEM block")
return
}
certParse, err := x509.ParseCertificate(block.Bytes)
if err != nil {
log.Fatalf("Failed to parse certificate: %v", err)
}
//info, err := json.Marshal(certParse)
//if err != nil {
// log.Fatalf("Failed to marshal certificate: %v", err)
//}
certInfo := src.CertInfo{
Cert: certificate.Resource{},
Info: *certParse,
}
info, err := json.Marshal(certInfo)
if err != nil {
log.Fatalf("Failed to marshal certificate: %v", err)
}
log.Println(string(info))
//log.Println(string(info))
//log.Println(certParse)
}