@@ -1512,3 +1512,36 @@ func TestSystemCertPool(t *testing.T) {
1512
1512
t .Fatal (err )
1513
1513
}
1514
1514
}
1515
+
1516
+ const emptyNameConstraintsPEM = `
1517
+ -----BEGIN CERTIFICATE-----
1518
+ MIIC1jCCAb6gAwIBAgICEjQwDQYJKoZIhvcNAQELBQAwKDEmMCQGA1UEAxMdRW1w
1519
+ dHkgbmFtZSBjb25zdHJhaW50cyBpc3N1ZXIwHhcNMTMwMjAxMDAwMDAwWhcNMjAw
1520
+ NTMwMTA0ODM4WjAhMR8wHQYDVQQDExZFbXB0eSBuYW1lIGNvbnN0cmFpbnRzMIIB
1521
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwriElUIt3LCqmJObs+yDoWPD
1522
+ F5IqgWk6moIobYjPfextZiYU6I3EfvAwoNxPDkN2WowcocUZMJbEeEq5ebBksFnx
1523
+ f12gBxlIViIYwZAzu7aFvhDMyPKQI3C8CG0ZSC9ABZ1E3umdA3CEueNOmP/TChNq
1524
+ Cl23+BG1Qb/PJkpAO+GfpWSVhTcV53Mf/cKvFHcjGNrxzdSoq9fyW7a6gfcGEQY0
1525
+ LVkmwFWUfJ0wT8kaeLr0E0tozkIfo01KNWNzv6NcYP80QOBRDlApWu9ODmEVJHPD
1526
+ blx4jzTQ3JLa+4DvBNOjVUOp+mgRmjiW0rLdrxwOxIqIOwNjweMCp/hgxX/hTQID
1527
+ AQABoxEwDzANBgNVHR4EBjAEoAChADANBgkqhkiG9w0BAQsFAAOCAQEAWG+/zUMH
1528
+ QhP8uNCtgSHyim/vh7wminwAvWgMKxlkLBFns6nZeQqsOV1lABY7U0Zuoqa1Z5nb
1529
+ 6L+iJa4ElREJOi/erLc9uLwBdDCAR0hUTKD7a6i4ooS39DTle87cUnj0MW1CUa6H
1530
+ v5SsvpYW+1XleYJk/axQOOTcy4Es53dvnZsjXH0EA/QHnn7UV+JmlE3rtVxcYp6M
1531
+ LYPmRhTioROA/drghicRkiu9hxdPyxkYS16M5g3Zj30jdm+k/6C6PeNtN9YmOOga
1532
+ nCOSyFYfGhqOANYzpmuV+oIedAsPpIbfIzN8njYUs1zio+1IoI4o8ddM9sCbtPU8
1533
+ o+WoY6IsCKXV/g==
1534
+ -----END CERTIFICATE-----`
1535
+
1536
+ func TestEmptyNameConstraints (t * testing.T ) {
1537
+ block , _ := pem .Decode ([]byte (emptyNameConstraintsPEM ))
1538
+ _ , err := ParseCertificate (block .Bytes )
1539
+ if err == nil {
1540
+ t .Fatal ("unexpected success" )
1541
+ }
1542
+
1543
+ const expected = "empty name constraints"
1544
+ if str := err .Error (); ! strings .Contains (str , expected ) {
1545
+ t .Errorf ("expected %q in error but got %q" , expected , str )
1546
+ }
1547
+ }
0 commit comments