refactor: clean code

This commit is contained in:
Fu Diwei
2025-10-29 21:10:03 +08:00
parent 20a527a377
commit c15d6783c6
5 changed files with 7 additions and 76 deletions
+1 -2
View File
@@ -9,7 +9,6 @@ import (
"strings"
"time"
"github.com/go-acme/lego/v4/certcrypto"
"github.com/pocketbase/dbx"
"github.com/certimate-go/certimate/internal/app"
@@ -181,7 +180,7 @@ func (s *CertificateService) ValidateCertificate(ctx context.Context, req *dtos.
}
func (s *CertificateService) ValidatePrivateKey(ctx context.Context, req *dtos.CertificateValidatePrivateKeyReq) (*dtos.CertificateValidatePrivateKeyResp, error) {
_, err := certcrypto.ParsePEMPrivateKey([]byte(req.PrivateKey))
_, err := xcert.ParsePrivateKeyFromPEM(req.PrivateKey)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -41,6 +41,6 @@ func (a *ACMEAccount) GetPrivateKey() crypto.PrivateKey {
return nil
}
rs, _ := xcert.ParseECPrivateKeyFromPEM(a.PrivateKey)
rs, _ := xcert.ParsePrivateKeyFromPEM(a.PrivateKey)
return rs
}
@@ -10,7 +10,6 @@ import (
"strings"
"time"
"github.com/go-acme/lego/v4/certcrypto"
legocertifier "github.com/go-acme/lego/v4/certificate"
"github.com/go-acme/lego/v4/lego"
legolog "github.com/go-acme/lego/v4/log"
@@ -300,7 +299,7 @@ func (ne *bizApplyNodeExecutor) executeObtain(execCtx *NodeExecutionContext, nod
return ""
}
oldCertX509, err := certcrypto.ParsePEMCertificate([]byte(lastCertificate.Certificate))
oldCertX509, err := xcert.ParseCertificateFromPEM(lastCertificate.Certificate)
if err != nil {
return ""
}
@@ -12,7 +12,6 @@ import (
"strings"
"time"
"github.com/go-acme/lego/v4/certcrypto"
"github.com/go-resty/resty/v2"
"github.com/certimate-go/certimate/internal/domain"
@@ -127,7 +126,7 @@ func (ne *bizUploadNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeEx
}
// 验证证书
certX509, err := certcrypto.ParsePEMCertificate([]byte(certPEM))
certX509, err := xcert.ParseCertificateFromPEM(certPEM)
if err != nil {
return execRes, err
} else if certX509.NotAfter.Before(time.Now()) {
@@ -135,7 +134,7 @@ func (ne *bizUploadNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeEx
}
// 验证私钥
privkey, err := certcrypto.ParsePEMPrivateKey([]byte(privkeyPEM))
privkey, err := xcert.ParsePrivateKeyFromPEM(privkeyPEM)
if err != nil {
return nil, err
} else {
+2 -68
View File
@@ -2,12 +2,7 @@ package cert
import (
"crypto"
"crypto/ecdsa"
"crypto/rsa"
"crypto/x509"
"encoding/pem"
"errors"
"fmt"
"github.com/go-acme/lego/v4/certcrypto"
)
@@ -22,19 +17,7 @@ import (
// - cert: x509.Certificate 对象。
// - err: 错误。
func ParseCertificateFromPEM(certPEM string) (_cert *x509.Certificate, _err error) {
pemData := []byte(certPEM)
block, _ := pem.Decode(pemData)
if block == nil {
return nil, errors.New("failed to decode PEM block")
}
cert, err := x509.ParseCertificate(block.Bytes)
if err != nil {
return nil, fmt.Errorf("failed to parse certificate: %w", err)
}
return cert, nil
return certcrypto.ParsePEMCertificate([]byte(certPEM))
}
// 从 PEM 编码的私钥字符串解析并返回一个 crypto.PrivateKey 对象。
@@ -46,54 +29,5 @@ func ParseCertificateFromPEM(certPEM string) (_cert *x509.Certificate, _err erro
// - privkey: crypto.PrivateKey 对象,可能是 rsa.PrivateKey、ecdsa.PrivateKey 或 ed25519.PrivateKey。
// - err: 错误。
func ParsePrivateKeyFromPEM(privkeyPEM string) (_privkey crypto.PrivateKey, _err error) {
pemData := []byte(privkeyPEM)
return certcrypto.ParsePEMPrivateKey(pemData)
}
// 从 PEM 编码的私钥字符串解析并返回一个 ecdsa.PrivateKey 对象。
//
// 入参:
// - privkeyPEM: 私钥 PEM 内容。
//
// 出参:
// - privkey: ecdsa.PrivateKey 对象。
// - err: 错误。
func ParseECPrivateKeyFromPEM(privkeyPEM string) (_privkey *ecdsa.PrivateKey, _err error) {
pemData := []byte(privkeyPEM)
block, _ := pem.Decode(pemData)
if block == nil {
return nil, errors.New("failed to decode PEM block")
}
privkey, err := x509.ParseECPrivateKey(block.Bytes)
if err != nil {
return nil, fmt.Errorf("failed to parse private key: %w", err)
}
return privkey, nil
}
// 从 PEM 编码的私钥字符串解析并返回一个 rsa.PrivateKey 对象。
//
// 入参:
// - privkeyPEM: 私钥 PEM 内容。
//
// 出参:
// - privkey: rsa.PrivateKey 对象。
// - err: 错误。
func ParsePKCS1PrivateKeyFromPEM(privkeyPEM string) (_privkey *rsa.PrivateKey, _err error) {
pemData := []byte(privkeyPEM)
block, _ := pem.Decode(pemData)
if block == nil {
return nil, errors.New("failed to decode PEM block")
}
privkey, err := x509.ParsePKCS1PrivateKey(block.Bytes)
if err != nil {
return nil, fmt.Errorf("failed to parse private key: %w", err)
}
return privkey, nil
return certcrypto.ParsePEMPrivateKey([]byte(privkeyPEM))
}