-
-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug]: TLS should provide the full cert chain for TSLA type 2 records to work #603
Comments
Do you mean the TLSA DNS records created by Stalwart? Rustls should provide the full chain, you can verify this with |
No, I created them myself. But they should be the same idea.
I verified and as you can see on the transcript: the CA cert is mising |
As you can see here, Stalwart returns the full certificate chain. Your server is correctly returning the CA's cert: % openssl s_client -starttls smtp -connect mx2.mails.wdes.eu:25 -showcerts
Connecting to 2.57.253.83
CONNECTED(00000005)
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=E6
verify return:1
depth=0 CN=mails.wdes.eu
verify return:1
---
Certificate chain
0 s:CN=mails.wdes.eu
i:C=US, O=Let's Encrypt, CN=E6
a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA384
v:NotBefore: Jun 12 18:32:44 2024 GMT; NotAfter: Sep 10 18:32:43 2024 GMT
-----BEGIN CERTIFICATE-----
MIIDjDCCAxKgAwIBAgISA5MKZ/xJazqxXoa+My6LhFwqMAoGCCqGSM49BAMDMDIx
[...]
HSERM2MNIdmeN25uJ2ekFfpDHn+KnwuVtkMyBcToSnjh+KR4kCkmkwG6zwpeAISQ
-----END CERTIFICATE-----
1 s:C=US, O=Let's Encrypt, CN=E6
i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
a:PKEY: id-ecPublicKey, 384 (bit); sigalg: RSA-SHA256
v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRALBXPpFzlydw27SHyzpFKzgwDQYJKoZIhvcNAQELBQAw
[...]
Ig46v9mFmBvyH04=
-----END CERTIFICATE-----
---
Server certificate
subject=CN=mails.wdes.eu
issuer=C=US, O=Let's Encrypt, CN=E6 |
Hmm yes, but |
If you are using ACME you can't, the chain provided is exactly what Let's Encrypt issued. If you are specifying a certificate manually it has to be present in the file. |
That's quite problematic. Can you check if you can request the CA cert to ACME ? For now I will have to add E5 and E6: https://letsencrypt.org/certificates/ |
I got it working, but having the CA is clearly was less complicated.
I had to put E5/E6 signed by X2 and E5/E6 signed by X1 |
I guess there is some smart code doing it: https://github.com/acmesh-official/acme.sh/blob/0d8a314bcf32c7705f0be11527d34d3b4ce0fa79/acme.sh#L5196 The bash code suggests that at download time there is 3 certs and it splits it into 3 files |
What happened?
Ref: #397
How can we reproduce the problem?
As I can see on https://www.huque.com/bin/danecheck
mx1.mails.wdes.eu works fine (classic postfix/dovecot)
but mx2.mails.wdes.eu does not.
You can see in the transcript that stalwart does not send the full chain.
DNS_RESOLVER="1.1.1.1, 1.0.0.1" smtpdane -4 -quiet -nocolor -helo status.wdes.eu mx2.mails.wdes.eu
Version
v0.8.x
What database are you using?
None
What blob storage are you using?
None
Where is your directory located?
None
What operating system are you using?
None
Relevant log output
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: