mirror of
https://github.com/go-acme/lego.git
synced 2025-07-17 12:17:44 +02:00
chore: use go1.23 (#2446)
This commit is contained in:
committed by
GitHub
parent
526ac35e5c
commit
0ab907c183
@ -20,7 +20,7 @@ func TestOrderService_NewWithOptions(t *testing.T) {
|
|||||||
mux, apiURL := tester.SetupFakeAPI(t)
|
mux, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
// small value keeps test fast
|
// small value keeps test fast
|
||||||
privateKey, errK := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, errK := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, errK, "Could not generate test key")
|
require.NoError(t, errK, "Could not generate test key")
|
||||||
|
|
||||||
mux.HandleFunc("/newOrder", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/newOrder", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
@ -6,7 +6,6 @@ import (
|
|||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"crypto/rsa"
|
"crypto/rsa"
|
||||||
"encoding/pem"
|
"encoding/pem"
|
||||||
"regexp"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -22,7 +21,7 @@ func TestGeneratePrivateKey(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGenerateCSR(t *testing.T) {
|
func TestGenerateCSR(t *testing.T) {
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Error generating private key")
|
require.NoError(t, err, "Error generating private key")
|
||||||
|
|
||||||
type expected struct {
|
type expected struct {
|
||||||
@ -43,7 +42,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
Domain: "lego.acme",
|
Domain: "lego.acme",
|
||||||
MustStaple: true,
|
MustStaple: true,
|
||||||
},
|
},
|
||||||
expected: expected{len: 245},
|
expected: expected{len: 379},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc: "without SAN (empty)",
|
desc: "without SAN (empty)",
|
||||||
@ -53,7 +52,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
SAN: []string{},
|
SAN: []string{},
|
||||||
MustStaple: true,
|
MustStaple: true,
|
||||||
},
|
},
|
||||||
expected: expected{len: 245},
|
expected: expected{len: 379},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc: "with SAN",
|
desc: "with SAN",
|
||||||
@ -63,7 +62,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
SAN: []string{"a.lego.acme", "b.lego.acme", "c.lego.acme"},
|
SAN: []string{"a.lego.acme", "b.lego.acme", "c.lego.acme"},
|
||||||
MustStaple: true,
|
MustStaple: true,
|
||||||
},
|
},
|
||||||
expected: expected{len: 296},
|
expected: expected{len: 430},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc: "no domain",
|
desc: "no domain",
|
||||||
@ -72,7 +71,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
Domain: "",
|
Domain: "",
|
||||||
MustStaple: true,
|
MustStaple: true,
|
||||||
},
|
},
|
||||||
expected: expected{len: 225},
|
expected: expected{len: 359},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc: "no domain with SAN",
|
desc: "no domain with SAN",
|
||||||
@ -82,7 +81,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
SAN: []string{"a.lego.acme", "b.lego.acme", "c.lego.acme"},
|
SAN: []string{"a.lego.acme", "b.lego.acme", "c.lego.acme"},
|
||||||
MustStaple: true,
|
MustStaple: true,
|
||||||
},
|
},
|
||||||
expected: expected{len: 276},
|
expected: expected{len: 409},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
desc: "private key nil",
|
desc: "private key nil",
|
||||||
@ -101,7 +100,7 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
SAN: []string{"example.org"},
|
SAN: []string{"example.org"},
|
||||||
EmailAddresses: []string{"foo@example.com", "bar@example.com"},
|
EmailAddresses: []string{"foo@example.com", "bar@example.com"},
|
||||||
},
|
},
|
||||||
expected: expected{len: 287},
|
expected: expected{len: 421},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,17 +123,17 @@ func TestGenerateCSR(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPEMEncode(t *testing.T) {
|
func TestPEMEncode(t *testing.T) {
|
||||||
buf := bytes.NewBufferString("TestingRSAIsSoMuchFun")
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
|
|
||||||
reader := MockRandReader{b: buf}
|
|
||||||
key, err := rsa.GenerateKey(reader, 32)
|
|
||||||
require.NoError(t, err, "Error generating private key")
|
require.NoError(t, err, "Error generating private key")
|
||||||
|
|
||||||
data := PEMEncode(key)
|
data := PEMEncode(key)
|
||||||
require.NotNil(t, data)
|
require.NotNil(t, data)
|
||||||
|
|
||||||
exp := regexp.MustCompile(`^-----BEGIN RSA PRIVATE KEY-----\s+\S{60,}\s+-----END RSA PRIVATE KEY-----\s+`)
|
p, rest := pem.Decode(data)
|
||||||
assert.Regexp(t, exp, string(data))
|
|
||||||
|
assert.Equal(t, "RSA PRIVATE KEY", p.Type)
|
||||||
|
assert.Empty(t, rest)
|
||||||
|
assert.Empty(t, p.Headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestParsePEMCertificate(t *testing.T) {
|
func TestParsePEMCertificate(t *testing.T) {
|
||||||
@ -186,11 +185,3 @@ func TestParsePEMPrivateKey(t *testing.T) {
|
|||||||
_, err = ParsePEMPrivateKey([]byte("This is not PEM"))
|
_, err = ParsePEMPrivateKey([]byte("This is not PEM"))
|
||||||
require.Errorf(t, err, "Expected to return an error for non-PEM input")
|
require.Errorf(t, err, "Expected to return an error for non-PEM input")
|
||||||
}
|
}
|
||||||
|
|
||||||
type MockRandReader struct {
|
|
||||||
b *bytes.Buffer
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r MockRandReader) Read(p []byte) (int, error) {
|
|
||||||
return r.b.Read(p)
|
|
||||||
}
|
|
||||||
|
@ -34,7 +34,7 @@ func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { ret
|
|||||||
func TestChallenge_PreSolve(t *testing.T) {
|
func TestChallenge_PreSolve(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -116,7 +116,7 @@ func TestChallenge_PreSolve(t *testing.T) {
|
|||||||
func TestChallenge_Solve(t *testing.T) {
|
func TestChallenge_Solve(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -203,7 +203,7 @@ func TestChallenge_Solve(t *testing.T) {
|
|||||||
func TestChallenge_CleanUp(t *testing.T) {
|
func TestChallenge_CleanUp(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
|
@ -97,7 +97,7 @@ func TestChallenge(t *testing.T) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -166,7 +166,7 @@ func TestChallengeUnix(t *testing.T) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -190,7 +190,7 @@ func TestChallengeUnix(t *testing.T) {
|
|||||||
func TestChallengeInvalidPort(t *testing.T) {
|
func TestChallengeInvalidPort(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 128)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -411,7 +411,7 @@ func testServeWithProxy(t *testing.T, header, extra *testProxyHeader, expectErro
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
|
@ -36,7 +36,7 @@ func TestValidate(t *testing.T) {
|
|||||||
|
|
||||||
var statuses []string
|
var statuses []string
|
||||||
|
|
||||||
privateKey, _ := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, _ := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
|
|
||||||
mux.HandleFunc("/chlg", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/chlg", func(w http.ResponseWriter, r *http.Request) {
|
||||||
if r.Method != http.MethodPost {
|
if r.Method != http.MethodPost {
|
||||||
|
@ -66,7 +66,7 @@ func TestChallenge(t *testing.T) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -95,7 +95,7 @@ func TestChallenge(t *testing.T) {
|
|||||||
func TestChallengeInvalidPort(t *testing.T) {
|
func TestChallengeInvalidPort(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 128)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
@ -167,7 +167,7 @@ func TestChallengeIPaddress(t *testing.T) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
|
privateKey, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
core, err := api.New(http.DefaultClient, "lego-test", apiURL+"/dir", "", privateKey)
|
||||||
|
2
go.mod
2
go.mod
@ -1,6 +1,6 @@
|
|||||||
module github.com/go-acme/lego/v4
|
module github.com/go-acme/lego/v4
|
||||||
|
|
||||||
go 1.22.0
|
go 1.23.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go/compute/metadata v0.6.0
|
cloud.google.com/go/compute/metadata v0.6.0
|
||||||
|
@ -15,8 +15,7 @@ import (
|
|||||||
func TestNewClient(t *testing.T) {
|
func TestNewClient(t *testing.T) {
|
||||||
_, apiURL := tester.SetupFakeAPI(t)
|
_, apiURL := tester.SetupFakeAPI(t)
|
||||||
|
|
||||||
keyBits := 32 // small value keeps test fast
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
key, err := rsa.GenerateKey(rand.Reader, keyBits)
|
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
user := mockUser{
|
user := mockUser{
|
||||||
|
@ -1,31 +1,18 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/rand"
|
||||||
|
"crypto/rsa"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/go-acme/lego/v4/certcrypto"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
const privateKey = `-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIICWgIBAAKBgGFfgMY+DuO8l0RYrMLhcl6U/NigNIiOVhoo/xnYyoQALpWxBaBR
|
|
||||||
+iVJiBUYunQjKA33yAiY0AasCfSn1JB6asayQvGGn73xztLjkeCVLT+9e4nJ0A/o
|
|
||||||
dK8SOKBg9FFe70KJrWjJd626el0aVDJjtCE+QxJExA0UZbQp+XIyveQXAgMBAAEC
|
|
||||||
gYBHcL1XNWLRPaWx9GlUVfoGYMMd4HSKl/ueF+QKP59dt5B2LTnWhS7FOqzH5auu
|
|
||||||
17hkfx3ZCNzfeEuZn6T6F4bMtsQ6A5iT/DeRlG8tOPiCVZ/L0j6IFM78iIUT8XyA
|
|
||||||
miwnSy1xGSBA67yUmsLxFg2DtGCjamAkY0C5pccadaB7oQJBAKsIPpMXMni+Oo1I
|
|
||||||
kVxRyoIZgDxsMJiihG2YLVqo8rPtdErl+Lyg3ziVyg9KR6lFMaTBkYBTLoCPof3E
|
|
||||||
AB/jyucCQQCRv1cVnYNx+bfnXsBlcsCFDV2HkEuLTpxj7hauD4P3GcyLidSsUkn1
|
|
||||||
PiPunZqKpsQaIoxc/BzTOCcP19ifgqdRAkBJ8Cp9FE4xfKt7YJ/WtVVCoRubA3qO
|
|
||||||
wdNWPa99vgQOXN0lc/3wLevSXo8XxRjtyIgJndT1EQDNe0qglhcnsiaJAkBziAcR
|
|
||||||
/VAq0tZys2szf6kYTyXqxfj8Lo5NsHeN9oKXJ346xkEtb/VsT5vQFGJishsU1HoL
|
|
||||||
Y1W+IO7l4iW3G6xhAkACNwtqxSRRbVsNCUMENpKmYhsyN8QXJ8V+o2A9s+pl21Kz
|
|
||||||
HIIm179mUYCgO6iAHmkqxlFHFwprUBKdPrmP8qF9
|
|
||||||
-----END RSA PRIVATE KEY-----`
|
|
||||||
|
|
||||||
type Header struct {
|
type Header struct {
|
||||||
Algorithm string `json:"alg"`
|
Algorithm string `json:"alg"`
|
||||||
Type string `json:"typ"`
|
Type string `json:"typ"`
|
||||||
@ -33,7 +20,10 @@ type Header struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPayload_buildToken(t *testing.T) {
|
func TestPayload_buildToken(t *testing.T) {
|
||||||
signer, err := getRSASigner(privateKey, "sampleKeyId")
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
signer, err := getRSASigner(string(certcrypto.PEMEncode(key)), "sampleKeyId")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
payload := Payload{IssuedAt: 1234, Expiry: 4321, Audience: "api.url", Issuer: "issuer", Subject: "subject"}
|
payload := Payload{IssuedAt: 1234, Expiry: 4321, Audience: "api.url", Issuer: "issuer", Subject: "subject"}
|
||||||
|
@ -320,7 +320,7 @@ func mustGeneratePrivateKeyFile(pwd string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func generatePrivateKey(pwd string) (*pem.Block, error) {
|
func generatePrivateKey(pwd string) (*pem.Block, error) {
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 512)
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ func TestRegistrar_ResolveAccountByKey(t *testing.T) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
key, err := rsa.GenerateKey(rand.Reader, 512)
|
key, err := rsa.GenerateKey(rand.Reader, 1024)
|
||||||
require.NoError(t, err, "Could not generate test key")
|
require.NoError(t, err, "Could not generate test key")
|
||||||
|
|
||||||
user := mockUser{
|
user := mockUser{
|
||||||
|
Reference in New Issue
Block a user