66 "crypto/rand"
77 "crypto/rsa"
88 "encoding/pem"
9- "regexp"
109 "testing"
1110 "time"
1211
@@ -22,7 +21,7 @@ func TestGeneratePrivateKey(t *testing.T) {
2221}
2322
2423func TestGenerateCSR (t * testing.T ) {
25- privateKey , err := rsa .GenerateKey (rand .Reader , 512 )
24+ privateKey , err := rsa .GenerateKey (rand .Reader , 1024 )
2625 require .NoError (t , err , "Error generating private key" )
2726
2827 type expected struct {
@@ -43,7 +42,7 @@ func TestGenerateCSR(t *testing.T) {
4342 Domain : "lego.acme" ,
4443 MustStaple : true ,
4544 },
46- expected : expected {len : 245 },
45+ expected : expected {len : 379 },
4746 },
4847 {
4948 desc : "without SAN (empty)" ,
@@ -53,7 +52,7 @@ func TestGenerateCSR(t *testing.T) {
5352 SAN : []string {},
5453 MustStaple : true ,
5554 },
56- expected : expected {len : 245 },
55+ expected : expected {len : 379 },
5756 },
5857 {
5958 desc : "with SAN" ,
@@ -63,7 +62,7 @@ func TestGenerateCSR(t *testing.T) {
6362 SAN : []string {"a.lego.acme" , "b.lego.acme" , "c.lego.acme" },
6463 MustStaple : true ,
6564 },
66- expected : expected {len : 296 },
65+ expected : expected {len : 430 },
6766 },
6867 {
6968 desc : "no domain" ,
@@ -72,7 +71,7 @@ func TestGenerateCSR(t *testing.T) {
7271 Domain : "" ,
7372 MustStaple : true ,
7473 },
75- expected : expected {len : 225 },
74+ expected : expected {len : 359 },
7675 },
7776 {
7877 desc : "no domain with SAN" ,
@@ -82,7 +81,7 @@ func TestGenerateCSR(t *testing.T) {
8281 SAN : []string {"a.lego.acme" , "b.lego.acme" , "c.lego.acme" },
8382 MustStaple : true ,
8483 },
85- expected : expected {len : 276 },
84+ expected : expected {len : 409 },
8685 },
8786 {
8887 desc : "private key nil" ,
@@ -101,7 +100,7 @@ func TestGenerateCSR(t *testing.T) {
101100 SAN : []string {"example.org" },
102101103102 },
104- expected : expected {len : 287 },
103+ expected : expected {len : 421 },
105104 },
106105 }
107106
@@ -124,17 +123,17 @@ func TestGenerateCSR(t *testing.T) {
124123}
125124
126125func TestPEMEncode (t * testing.T ) {
127- buf := bytes .NewBufferString ("TestingRSAIsSoMuchFun" )
128-
129- reader := MockRandReader {b : buf }
130- key , err := rsa .GenerateKey (reader , 32 )
126+ key , err := rsa .GenerateKey (rand .Reader , 1024 )
131127 require .NoError (t , err , "Error generating private key" )
132128
133129 data := PEMEncode (key )
134130 require .NotNil (t , data )
135131
136- exp := regexp .MustCompile (`^-----BEGIN RSA PRIVATE KEY-----\s+\S{60,}\s+-----END RSA PRIVATE KEY-----\s+` )
137- assert .Regexp (t , exp , string (data ))
132+ p , rest := pem .Decode (data )
133+
134+ assert .Equal (t , "RSA PRIVATE KEY" , p .Type )
135+ assert .Empty (t , rest )
136+ assert .Empty (t , p .Headers )
138137}
139138
140139func TestParsePEMCertificate (t * testing.T ) {
@@ -186,11 +185,3 @@ func TestParsePEMPrivateKey(t *testing.T) {
186185 _ , err = ParsePEMPrivateKey ([]byte ("This is not PEM" ))
187186 require .Errorf (t , err , "Expected to return an error for non-PEM input" )
188187}
189-
190- type MockRandReader struct {
191- b * bytes.Buffer
192- }
193-
194- func (r MockRandReader ) Read (p []byte ) (int , error ) {
195- return r .b .Read (p )
196- }
0 commit comments