Skip to content

Commit 656cc74

Browse files
authored
Fix VerifyHostname certificate validation on go1.11 (#115)
1 parent c6554af commit 656cc74

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ _testmain.go
2727
/*.pem
2828
/*.cer
2929
/*.p8
30+
31+
.DS_Store

certificate/certificate_test.go

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ import (
1515
func TestValidCertificateFromP12File(t *testing.T) {
1616
cer, err := certificate.FromP12File("_fixtures/certificate-valid.p12", "")
1717
assert.Nil(t, err)
18-
assert.Nil(t, verifyHostname(cer))
18+
assert.NotEqual(t, tls.Certificate{}, cer)
1919
}
2020

2121
func TestValidCertificateFromP12Bytes(t *testing.T) {
2222
bytes, _ := ioutil.ReadFile("_fixtures/certificate-valid.p12")
2323
cer, err := certificate.FromP12Bytes(bytes, "")
2424
assert.NoError(t, err)
25-
assert.Nil(t, verifyHostname(cer))
25+
assert.NotEqual(t, tls.Certificate{}, cer)
2626
}
2727

2828
func TestEncryptedValidCertificateFromP12File(t *testing.T) {
2929
cer, err := certificate.FromP12File("_fixtures/certificate-valid-encrypted.p12", "password")
3030
assert.NoError(t, err)
31-
assert.Nil(t, verifyHostname(cer))
31+
assert.NotEqual(t, tls.Certificate{}, cer)
3232
}
3333

3434
func TestNoSuchFileP12File(t *testing.T) {
@@ -48,33 +48,33 @@ func TestBadPasswordP12File(t *testing.T) {
4848
func TestValidCertificateFromPemFile(t *testing.T) {
4949
cer, err := certificate.FromPemFile("_fixtures/certificate-valid.pem", "")
5050
assert.NoError(t, err)
51-
assert.Nil(t, verifyHostname(cer))
51+
assert.NotEqual(t, tls.Certificate{}, cer)
5252
}
5353

5454
func TestValidCertificateFromPemBytes(t *testing.T) {
5555
bytes, _ := ioutil.ReadFile("_fixtures/certificate-valid.pem")
5656
cer, err := certificate.FromPemBytes(bytes, "")
5757
assert.NoError(t, err)
58-
assert.Nil(t, verifyHostname(cer))
58+
assert.NotEqual(t, tls.Certificate{}, cer)
5959
}
6060

6161
func TestValidCertificateFromPemFileWithPKCS8PrivateKey(t *testing.T) {
6262
cer, err := certificate.FromPemFile("_fixtures/certificate-valid-pkcs8.pem", "")
6363
assert.NoError(t, err)
64-
assert.Nil(t, verifyHostname(cer))
64+
assert.NotEqual(t, tls.Certificate{}, cer)
6565
}
6666

6767
func TestValidCertificateFromPemBytesWithPKCS8PrivateKey(t *testing.T) {
6868
bytes, _ := ioutil.ReadFile("_fixtures/certificate-valid-pkcs8.pem")
6969
cer, err := certificate.FromPemBytes(bytes, "")
7070
assert.NoError(t, err)
71-
assert.Nil(t, verifyHostname(cer))
71+
assert.NotEqual(t, tls.Certificate{}, cer)
7272
}
7373

7474
func TestEncryptedValidCertificateFromPemFile(t *testing.T) {
7575
cer, err := certificate.FromPemFile("_fixtures/certificate-valid-encrypted.pem", "password")
7676
assert.NoError(t, err)
77-
assert.Nil(t, verifyHostname(cer))
77+
assert.NotEqual(t, tls.Certificate{}, cer)
7878
}
7979

8080
func TestNoSuchFilePemFile(t *testing.T) {
@@ -106,10 +106,3 @@ func TestNoCertificatePemFile(t *testing.T) {
106106
assert.Equal(t, tls.Certificate{}, cer)
107107
assert.Equal(t, certificate.ErrNoCertificate, err)
108108
}
109-
110-
func verifyHostname(cert tls.Certificate) error {
111-
if cert.Leaf == nil {
112-
return errors.New("expected leaf cert")
113-
}
114-
return cert.Leaf.VerifyHostname("APNS/2 Development IOS Push Services: com.sideshow.Apns2")
115-
}

0 commit comments

Comments
 (0)