Skip to content

Commit 956909f

Browse files
rolandshoemakergopherbot
authored andcommitted
crypto/x509: move BetterTLS suite from crypto/tls
Move the BetterTLS test suite from crypto/tls to crypto/x509. Despite the name, the test suites we care about are actually related to X.509 path building and name constraint checking. As such it makes more sense to include these in the crypto/x509 package, so we are more likely to catch breaking behaviors during local testing. Change-Id: I5237903dcc9d9f60d6c7070db3c996ceb643b04c Reviewed-on: https://go-review.googlesource.com/c/go/+/719120 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Daniel McCarney <[email protected]> Reviewed-by: Junyang Shao <[email protected]> Auto-Submit: Roland Shoemaker <[email protected]>
1 parent 6525f46 commit 956909f

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/crypto/tls/bettertls_test.go renamed to src/crypto/x509/bettertls_test.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@
1212
// https://github.com/netflix/bettertls
1313
// https://netflixtechblog.com/bettertls-c9915cd255c0
1414

15-
package tls_test
15+
package x509
1616

1717
import (
1818
"crypto/internal/cryptotest"
19-
"crypto/x509"
2019
"encoding/base64"
2120
"encoding/json"
2221
"internal/testenv"
@@ -40,7 +39,7 @@ import (
4039
func TestBetterTLS(t *testing.T) {
4140
testenv.SkipIfShortAndSlow(t)
4241

43-
data, roots := testData(t)
42+
data, roots := betterTLSTestData(t)
4443

4544
for _, suite := range []string{"pathbuilding", "nameconstraints"} {
4645
t.Run(suite, func(t *testing.T) {
@@ -49,7 +48,7 @@ func TestBetterTLS(t *testing.T) {
4948
}
5049
}
5150

52-
func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *x509.CertPool) {
51+
func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *CertPool) {
5352
suite, exists := data.Suites[suiteName]
5453
if !exists {
5554
t.Fatalf("missing %s suite", suiteName)
@@ -73,7 +72,7 @@ func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *x509.C
7372
t.Fatalf("test case %d has no certificates", tc.ID)
7473
}
7574

76-
eeCert, err := x509.ParseCertificate(certsDER[0])
75+
eeCert, err := ParseCertificate(certsDER[0])
7776
if err != nil {
7877
// Several constraint test cases contain invalid end-entity
7978
// certificate extensions that we reject ahead of verification
@@ -94,9 +93,9 @@ func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *x509.C
9493
tc.ID, err)
9594
}
9695

97-
intermediates := x509.NewCertPool()
96+
intermediates := NewCertPool()
9897
for i, certDER := range certsDER[1:] {
99-
cert, err := x509.ParseCertificate(certDER)
98+
cert, err := ParseCertificate(certDER)
10099
if err != nil {
101100
t.Fatalf(
102101
"failed to parse intermediate certificate %d for test case %d: %v",
@@ -105,11 +104,11 @@ func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *x509.C
105104
intermediates.AddCert(cert)
106105
}
107106

108-
_, err = eeCert.Verify(x509.VerifyOptions{
107+
_, err = eeCert.Verify(VerifyOptions{
109108
Roots: roots,
110109
Intermediates: intermediates,
111110
DNSName: tc.Hostname,
112-
KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
111+
KeyUsages: []ExtKeyUsage{ExtKeyUsageServerAuth},
113112
})
114113

115114
switch tc.Expected {
@@ -133,7 +132,7 @@ func runTestSuite(t *testing.T, suiteName string, data *betterTLS, roots *x509.C
133132
}
134133
}
135134

136-
func testData(t *testing.T) (betterTLS, *x509.CertPool) {
135+
func betterTLSTestData(t *testing.T) (betterTLS, *CertPool) {
137136
const (
138137
bettertlsModule = "github.com/Netflix/bettertls"
139138
bettertlsVersion = "v0.0.0-20250909192348-e1e99e353074"
@@ -178,12 +177,12 @@ func testData(t *testing.T) (betterTLS, *x509.CertPool) {
178177
t.Fatalf("failed to decode trust root: %v", err)
179178
}
180179

181-
rootCert, err := x509.ParseCertificate(rootDER)
180+
rootCert, err := ParseCertificate(rootDER)
182181
if err != nil {
183182
t.Fatalf("failed to parse trust root certificate: %v", err)
184183
}
185184

186-
roots := x509.NewCertPool()
185+
roots := NewCertPool()
187186
roots.AddCert(rootCert)
188187

189188
return data, roots

0 commit comments

Comments
 (0)