Skip to content

Commit 7a3308f

Browse files
committed
fix: 自签证书兼容
1 parent ffd9f12 commit 7a3308f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

pkg/cert/cert.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"crypto"
55
"crypto/ecdsa"
66
"crypto/ed25519"
7+
"crypto/elliptic"
78
"crypto/rand"
89
"crypto/rsa"
910
"crypto/x509"
@@ -91,10 +92,10 @@ func EncodeKey(key crypto.Signer) ([]byte, error) {
9192

9293
// GenerateSelfSigned 生成自签名证书
9394
func GenerateSelfSigned(names []string) (cert []byte, key []byte, err error) {
94-
// 1) 生成 Ed25519 密钥对
95-
pub, priv, err := ed25519.GenerateKey(rand.Reader)
95+
// 1) 生成 ECDSA P-256 密钥对
96+
priv, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
9697
if err != nil {
97-
return nil, nil, err
98+
return nil, nil, fmt.Errorf("generate ecdsa key: %w", err)
9899
}
99100

100101
// 2) 解析 SAN
@@ -130,12 +131,12 @@ func GenerateSelfSigned(names []string) (cert []byte, key []byte, err error) {
130131
DNSNames: dnsNames,
131132
IPAddresses: ipAddrs,
132133

133-
KeyUsage: x509.KeyUsageDigitalSignature,
134+
KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment,
134135
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
135136
BasicConstraintsValid: true,
136137
}
137138

138-
der, err := x509.CreateCertificate(rand.Reader, &tmpl, &tmpl, pub, priv)
139+
der, err := x509.CreateCertificate(rand.Reader, &tmpl, &tmpl, &priv.PublicKey, priv)
139140
if err != nil {
140141
return nil, nil, err
141142
}

0 commit comments

Comments
 (0)