Friday, 20200410 10:48-0600, Bob Beck wrote:
>
> What makes you believe your certificate failure is due to the wildcard DNSname
> and not due to some other reason (like the certificate not being trusted, or
> failing a critical extension, etc.)
>
> A quick scan of the wildcard matching code in smtpd looks correct to me, but
> it won't get in there if the certificate doesn't validate in the first place.
>
> I can't connect to that host from where I am, obviously it does some
> sort of port 25 filtering or I would look at the certificate myself.
> instead of grepping strings it might be helpful to show the entire
> certificate.
That's an excellent question and may explain why I didn't see any obvious
difference between smtpd's ssl_verify.c and libtls's tls_verify.c - I
apologise for jumping to the wrong conclusion. The certificate appears to
validate when I use openssl(1) directly, but I may have misinterpreted the
output, attached below.
===
$ echo Q | openssl s_client -starttls smtp -connect mx.hostedemail.com:25
CONNECTED(00000003)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global
Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = GeoTrust RSA CA
2018
verify return:1
depth=0 C = CA, ST = Ontario, L = Toronto, O = Tucows Inc, OU = Operations, CN
= *.hostedemail.com
verify return:1
write W BLOCK
---
Certificate chain
0 s:/C=CA/ST=Ontario/L=Toronto/O=Tucows Inc/OU=Operations/CN=*.hostedemail.com
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018
1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGGzCCBQOgAwIBAgIQDNt7838YR0QboWFZ9/AxrjANBgkqhkiG9w0BAQsFADBe
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMR0wGwYDVQQDExRHZW9UcnVzdCBSU0EgQ0EgMjAxODAe
Fw0yMDAzMjUwMDAwMDBaFw0yMTA1MjQxMjAwMDBaMHcxCzAJBgNVBAYTAkNBMRAw
DgYDVQQIEwdPbnRhcmlvMRAwDgYDVQQHEwdUb3JvbnRvMRMwEQYDVQQKEwpUdWNv
d3MgSW5jMRMwEQYDVQQLEwpPcGVyYXRpb25zMRowGAYDVQQDDBEqLmhvc3RlZGVt
YWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOGME3lAVmwL
93AFhpT3Isvf+t2i83jK66KQ5qyiM53JxeRyPkADIMbgjtBs/OzBvSBjrCF20Yps
ntxY51NR3PWPFo2qAfDmb1AsPdfxd2e3H3/c++H79baibTCDhIo4U9ZSDY3Ina3I
igAb+NZp3qdEXu+KMnoq43gc8FwovYm393bhAGNaZTdUPT+gYiirn6acq3kFyaG/
2c1eXPF9WnEcjzlwYqTC+JDYrd8aFTvJSRC2XmohuHA+mOFtcwomRgvEilqLfp0i
C/DPrCpmDF2s/XbonZWQf4FdE+oZV8/uUseOq/hRBlxhbiYmw0bJZvNAOikm2g2i
7zyWIu/SSx0CAwEAAaOCArowggK2MB8GA1UdIwQYMBaAFJBY/7CcdahRVHex7fKj
QxY4nmzFMB0GA1UdDgQWBBS862dlbkSagt2fONXW4de1L0eiQjAtBgNVHREEJjAk
ghEqLmhvc3RlZGVtYWlsLmNvbYIPaG9zdGVkZW1haWwuY29tMA4GA1UdDwEB/wQE
AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwPgYDVR0fBDcwNTAz
oDGgL4YtaHR0cDovL2NkcC5nZW90cnVzdC5jb20vR2VvVHJ1c3RSU0FDQTIwMTgu
Y3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEBMCowKAYIKwYBBQUHAgEWHGh0dHBz
Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQICMHUGCCsGAQUFBwEBBGkw
ZzAmBggrBgEFBQcwAYYaaHR0cDovL3N0YXR1cy5nZW90cnVzdC5jb20wPQYIKwYB
BQUHMAKGMWh0dHA6Ly9jYWNlcnRzLmdlb3RydXN0LmNvbS9HZW9UcnVzdFJTQUNB
MjAxOC5jcnQwCQYDVR0TBAIwADCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB3AKS5
CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQAAABcRLV/uIAAAQDAEgwRgIh
AIZUVvvToQQ6CSZPAjtyMWKc87UoaSbbjM/f7m5piZ9qAiEAxBaCDKhvFdL4LxpX
pSp9B3GazYmuEqsZHVXTciqCuhEAdQBc3EOS/uarRUSxXprUVuYQN/vV+kfcoXOU
sl7m9scOygAAAXES1f8gAAAEAwBGMEQCICmAo/yhWsebRU+JF6VgNxpeMVjOT312
OFY/QrwuMkIuAiAhzzWiAXbX9xe6vNcIrr2uSWd/fRNugce1JB5ao2sQGjANBgkq
hkiG9w0BAQsFAAOCAQEAfSeMIjGQuLPU4rFKWt4UTi5wau/ZVEKHZbAH6G72CvqL
fXlcBnknQKFgY0AmJYDfsDh2UrVHWNP6R98wFCCY7CgTFZebZeOxr3iKrhYzv1s6
b4UFCamXcrLS8tmLwHDm/0uKG7x8ouIoF53XUI5vVrwojHEzmunI6lWHurirhNd/
jbR0yojnQhxEdr4kZp/6xF6ekF3PLvT1pP5bfE6XtIVFsZHIm/TmB/vL4ej5UZ4w
68D8jT2z0yfIAla6/Lv7p99Tlz0m8bDzp9sVhf0iFRb4lHJvMenkZm1Y/hp4u9uB
T2WqpSaUdjXnEVn2aWyi0sxFL0KCfOTzSUssO7nJiA==
-----END CERTIFICATE-----
subject=/C=CA/ST=Ontario/L=Toronto/O=Tucows
Inc/OU=Operations/CN=*.hostedemail.com
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=GeoTrust RSA CA 2018
---
No client certificate CA names sent
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 3443 bytes and written 446 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: FB1EE4005E33E8340286904FE71AB15C3EE8EBA2CE297B6F37E52DA6F7EA41AC
Session-ID-ctx:
Master-Key:
F44E9751FC08A61590BCFD5400C14237B48D8E461C1D80BD945540B2CA52821264E244A53CC0F2D381FF4E2570F2FCE6
Start Time: 1586537747
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
250 CHUNKING
DONE
$
$ echo Q | openssl s_client -starttls smtp -connect mx.hostedemail.com:25 2>&1
| openssl x509 -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
0c:db:7b:f3:7f:18:47:44:1b:a1:61:59:f7:f0:31:ae
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=GeoTrust RSA CA
2018
Validity
Not Before: Mar 25 00:00:00 2020 GMT
Not After : May 24 12:00:00 2021 GMT
Subject: C=CA, ST=Ontario, L=Toronto, O=Tucows Inc, OU=Operations,
CN=*.hostedemail.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:e1:8c:13:79:40:56:6c:0b:f7:70:05:86:94:f7:
22:cb:df:fa:dd:a2:f3:78:ca:eb:a2:90:e6:ac:a2:
33:9d:c9:c5:e4:72:3e:40:03:20:c6:e0:8e:d0:6c:
fc:ec:c1:bd:20:63:ac:21:76:d1:8a:6c:9e:dc:58:
e7:53:51:dc:f5:8f:16:8d:aa:01:f0:e6:6f:50:2c:
3d:d7:f1:77:67:b7:1f:7f:dc:fb:e1:fb:f5:b6:a2:
6d:30:83:84:8a:38:53:d6:52:0d:8d:c8:9d:ad:c8:
8a:00:1b:f8:d6:69:de:a7:44:5e:ef:8a:32:7a:2a:
e3:78:1c:f0:5c:28:bd:89:b7:f7:76:e1:00:63:5a:
65:37:54:3d:3f:a0:62:28:ab:9f:a6:9c:ab:79:05:
c9:a1:bf:d9:cd:5e:5c:f1:7d:5a:71:1c:8f:39:70:
62:a4:c2:f8:90:d8:ad:df:1a:15:3b:c9:49:10:b6:
5e:6a:21:b8:70:3e:98:e1:6d:73:0a:26:46:0b:c4:
8a:5a:8b:7e:9d:22:0b:f0:cf:ac:2a:66:0c:5d:ac:
fd:76:e8:9d:95:90:7f:81:5d:13:ea:19:57:cf:ee:
52:c7:8e:ab:f8:51:06:5c:61:6e:26:26:c3:46:c9:
66:f3:40:3a:29:26:da:0d:a2:ef:3c:96:22:ef:d2:
4b:1d
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:90:58:FF:B0:9C:75:A8:51:54:77:B1:ED:F2:A3:43:16:38:9E:6C:C5
X509v3 Subject Key Identifier:
BC:EB:67:65:6E:44:9A:82:DD:9F:38:D5:D6:E1:D7:B5:2F:47:A2:42
X509v3 Subject Alternative Name:
DNS:*.hostedemail.com, DNS:hostedemail.com
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 CRL Distribution Points:
Full Name:
URI:http://cdp.geotrust.com/GeoTrustRSACA2018.crl
X509v3 Certificate Policies:
Policy: 2.16.840.1.114412.1.1
CPS: https://www.digicert.com/CPS
Policy: 2.23.140.1.2.2
Authority Information Access:
OCSP - URI:http://status.geotrust.com
CA Issuers -
URI:http://cacerts.geotrust.com/GeoTrustRSACA2018.crt
X509v3 Basic Constraints:
CA:FALSE
1.3.6.1.4.1.11129.2.4.2:
......w.......X......gp
.....q.........H0F.!..TV....:.&O.;r1b...(i&.....ni..j.!......o.../.W.*}.q........U.r*....u.\.C....ED.^..V..7...G..s..^........q...
.....F0D. )....Z..EO...`7.^1X.O}v8V?B..2B.. !.5..v..........Ig.}.n...$.Z.k..
Signature Algorithm: sha256WithRSAEncryption
7d:27:8c:22:31:90:b8:b3:d4:e2:b1:4a:5a:de:14:4e:2e:70:
6a:ef:d9:54:42:87:65:b0:07:e8:6e:f6:0a:fa:8b:7d:79:5c:
06:79:27:40:a1:60:63:40:26:25:80:df:b0:38:76:52:b5:47:
58:d3:fa:47:df:30:14:20:98:ec:28:13:15:97:9b:65:e3:b1:
af:78:8a:ae:16:33:bf:5b:3a:6f:85:05:09:a9:97:72:b2:d2:
f2:d9:8b:c0:70:e6:ff:4b:8a:1b:bc:7c:a2:e2:28:17:9d:d7:
50:8e:6f:56:bc:28:8c:71:33:9a:e9:c8:ea:55:87:ba:b8:ab:
84:d7:7f:8d:b4:74:ca:88:e7:42:1c:44:76:be:24:66:9f:fa:
c4:5e:9e:90:5d:cf:2e:f4:f5:a4:fe:5b:7c:4e:97:b4:85:45:
b1:91:c8:9b:f4:e6:07:fb:cb:e1:e8:f9:51:9e:30:eb:c0:fc:
8d:3d:b3:d3:27:c8:02:56:ba:fc:bb:fb:a7:df:53:97:3d:26:
f1:b0:f3:a7:db:15:85:fd:22:15:16:f8:94:72:6f:31:e9:e4:
66:6d:58:fe:1a:78:bb:db:81:4f:65:aa:a5:26:94:76:35:e7:
11:59:f6:69:6c:a2:d2:cc:45:2f:42:82:7c:e4:f3:49:4b:2c:
3b:b9:c9:88
-----BEGIN CERTIFICATE-----
MIIGGzCCBQOgAwIBAgIQDNt7838YR0QboWFZ9/AxrjANBgkqhkiG9w0BAQsFADBe
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMR0wGwYDVQQDExRHZW9UcnVzdCBSU0EgQ0EgMjAxODAe
Fw0yMDAzMjUwMDAwMDBaFw0yMTA1MjQxMjAwMDBaMHcxCzAJBgNVBAYTAkNBMRAw
DgYDVQQIEwdPbnRhcmlvMRAwDgYDVQQHEwdUb3JvbnRvMRMwEQYDVQQKEwpUdWNv
d3MgSW5jMRMwEQYDVQQLEwpPcGVyYXRpb25zMRowGAYDVQQDDBEqLmhvc3RlZGVt
YWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOGME3lAVmwL
93AFhpT3Isvf+t2i83jK66KQ5qyiM53JxeRyPkADIMbgjtBs/OzBvSBjrCF20Yps
ntxY51NR3PWPFo2qAfDmb1AsPdfxd2e3H3/c++H79baibTCDhIo4U9ZSDY3Ina3I
igAb+NZp3qdEXu+KMnoq43gc8FwovYm393bhAGNaZTdUPT+gYiirn6acq3kFyaG/
2c1eXPF9WnEcjzlwYqTC+JDYrd8aFTvJSRC2XmohuHA+mOFtcwomRgvEilqLfp0i
C/DPrCpmDF2s/XbonZWQf4FdE+oZV8/uUseOq/hRBlxhbiYmw0bJZvNAOikm2g2i
7zyWIu/SSx0CAwEAAaOCArowggK2MB8GA1UdIwQYMBaAFJBY/7CcdahRVHex7fKj
QxY4nmzFMB0GA1UdDgQWBBS862dlbkSagt2fONXW4de1L0eiQjAtBgNVHREEJjAk
ghEqLmhvc3RlZGVtYWlsLmNvbYIPaG9zdGVkZW1haWwuY29tMA4GA1UdDwEB/wQE
AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwPgYDVR0fBDcwNTAz
oDGgL4YtaHR0cDovL2NkcC5nZW90cnVzdC5jb20vR2VvVHJ1c3RSU0FDQTIwMTgu
Y3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEBMCowKAYIKwYBBQUHAgEWHGh0dHBz
Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQICMHUGCCsGAQUFBwEBBGkw
ZzAmBggrBgEFBQcwAYYaaHR0cDovL3N0YXR1cy5nZW90cnVzdC5jb20wPQYIKwYB
BQUHMAKGMWh0dHA6Ly9jYWNlcnRzLmdlb3RydXN0LmNvbS9HZW9UcnVzdFJTQUNB
MjAxOC5jcnQwCQYDVR0TBAIwADCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB3AKS5
CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQAAABcRLV/uIAAAQDAEgwRgIh
AIZUVvvToQQ6CSZPAjtyMWKc87UoaSbbjM/f7m5piZ9qAiEAxBaCDKhvFdL4LxpX
pSp9B3GazYmuEqsZHVXTciqCuhEAdQBc3EOS/uarRUSxXprUVuYQN/vV+kfcoXOU
sl7m9scOygAAAXES1f8gAAAEAwBGMEQCICmAo/yhWsebRU+JF6VgNxpeMVjOT312
OFY/QrwuMkIuAiAhzzWiAXbX9xe6vNcIrr2uSWd/fRNugce1JB5ao2sQGjANBgkq
hkiG9w0BAQsFAAOCAQEAfSeMIjGQuLPU4rFKWt4UTi5wau/ZVEKHZbAH6G72CvqL
fXlcBnknQKFgY0AmJYDfsDh2UrVHWNP6R98wFCCY7CgTFZebZeOxr3iKrhYzv1s6
b4UFCamXcrLS8tmLwHDm/0uKG7x8ouIoF53XUI5vVrwojHEzmunI6lWHurirhNd/
jbR0yojnQhxEdr4kZp/6xF6ekF3PLvT1pP5bfE6XtIVFsZHIm/TmB/vL4ej5UZ4w
68D8jT2z0yfIAla6/Lv7p99Tlz0m8bDzp9sVhf0iFRb4lHJvMenkZm1Y/hp4u9uB
T2WqpSaUdjXnEVn2aWyi0sxFL0KCfOTzSUssO7nJiA==
-----END CERTIFICATE-----