6
6
"crypto/rand"
7
7
"crypto/rsa"
8
8
"encoding/pem"
9
- "regexp"
10
9
"testing"
11
10
"time"
12
11
@@ -22,7 +21,7 @@ func TestGeneratePrivateKey(t *testing.T) {
22
21
}
23
22
24
23
func TestGenerateCSR (t * testing.T ) {
25
- privateKey , err := rsa .GenerateKey (rand .Reader , 512 )
24
+ privateKey , err := rsa .GenerateKey (rand .Reader , 1024 )
26
25
require .NoError (t , err , "Error generating private key" )
27
26
28
27
type expected struct {
@@ -43,7 +42,7 @@ func TestGenerateCSR(t *testing.T) {
43
42
Domain : "lego.acme" ,
44
43
MustStaple : true ,
45
44
},
46
- expected : expected {len : 245 },
45
+ expected : expected {len : 379 },
47
46
},
48
47
{
49
48
desc : "without SAN (empty)" ,
@@ -53,7 +52,7 @@ func TestGenerateCSR(t *testing.T) {
53
52
SAN : []string {},
54
53
MustStaple : true ,
55
54
},
56
- expected : expected {len : 245 },
55
+ expected : expected {len : 379 },
57
56
},
58
57
{
59
58
desc : "with SAN" ,
@@ -63,7 +62,7 @@ func TestGenerateCSR(t *testing.T) {
63
62
SAN : []string {"a.lego.acme" , "b.lego.acme" , "c.lego.acme" },
64
63
MustStaple : true ,
65
64
},
66
- expected : expected {len : 296 },
65
+ expected : expected {len : 430 },
67
66
},
68
67
{
69
68
desc : "no domain" ,
@@ -72,7 +71,7 @@ func TestGenerateCSR(t *testing.T) {
72
71
Domain : "" ,
73
72
MustStaple : true ,
74
73
},
75
- expected : expected {len : 225 },
74
+ expected : expected {len : 359 },
76
75
},
77
76
{
78
77
desc : "no domain with SAN" ,
@@ -82,7 +81,7 @@ func TestGenerateCSR(t *testing.T) {
82
81
SAN : []string {"a.lego.acme" , "b.lego.acme" , "c.lego.acme" },
83
82
MustStaple : true ,
84
83
},
85
- expected : expected {len : 276 },
84
+ expected : expected {len : 409 },
86
85
},
87
86
{
88
87
desc : "private key nil" ,
@@ -101,7 +100,7 @@ func TestGenerateCSR(t *testing.T) {
101
100
SAN : []string {"example.org" },
102
101
EmailAddresses : []string {"foo@example.com" , "bar@example.com" },
103
102
},
104
- expected : expected {len : 287 },
103
+ expected : expected {len : 421 },
105
104
},
106
105
}
107
106
@@ -124,17 +123,17 @@ func TestGenerateCSR(t *testing.T) {
124
123
}
125
124
126
125
func 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 )
131
127
require .NoError (t , err , "Error generating private key" )
132
128
133
129
data := PEMEncode (key )
134
130
require .NotNil (t , data )
135
131
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 )
138
137
}
139
138
140
139
func TestParsePEMCertificate (t * testing.T ) {
@@ -186,11 +185,3 @@ func TestParsePEMPrivateKey(t *testing.T) {
186
185
_ , err = ParsePEMPrivateKey ([]byte ("This is not PEM" ))
187
186
require .Errorf (t , err , "Expected to return an error for non-PEM input" )
188
187
}
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