Skip to content
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

TLS Certificate Trust #1114

Open
sindastra opened this issue May 4, 2019 · 8 comments
Open

TLS Certificate Trust #1114

sindastra opened this issue May 4, 2019 · 8 comments

Comments

@sindastra
Copy link

sindastra commented May 4, 2019

Some servers use "Let's Encrypt" for their certificate. This means the certificate changes about every 3 months. While the certificate is valid, I have to manually trust every new certificate anyway. This defeats the whole point of a certificate authority.

I propose that ChatSecure should simply check if the certificate is valid, instead of having to be manually verified, as is standard.

Edit:

This issue is about TLS Certificate Trust in general, it does not only affect Let's Encrypt. I merely used Let's Encrypt as an example, as it needs to be renewed every three months and thus makes it more noticeable with Let's Encrypt than others. But certificates from any CA are affected by this.

@kmq
Copy link

kmq commented May 7, 2019

If my understandig of this issue is correct, ChatSecure Pins to the key of the certificate, so you can re-new the LE certificate if you do not change they key you are using to request it.

This is what I do, and it works.

@sindastra
Copy link
Author

@kmq The server is out of my control. They probably use some script to auto-renew, as the key changes too. If I'm not mistaken, isn't it default by certbot to generate new keys? Either way, nothing I can do about someone else's server. This is why a change on the client's behavior is needed (or an option to choose what it should do).

@ghost
Copy link

ghost commented May 7, 2019

I've never encountered the issue you describe; and I've used many servers out of my control over the years. So I'm unable to offer you a direct solution. However, Let's Encrypt will become their own CA (yay!) at the end of this month after IdentTrust cross signing each cert they've issued since their very beginnings. That said, I'm hoping to see longer issues on the leaf certs they issue. It's not a requirement they do so, but it's a definite possibility once they've full control of the certs they issue.

@mimi89999
Copy link
Contributor

I will write a PR that makes certificate pinning optional after my final exams. I haven't decided whether ti should be per account or global yet: #1072 (comment) (and following comments).

Also, I stopped counting duplicates of this issue. There are so many...

mimi89999 added a commit to mimi89999/ChatSecure-iOS that referenced this issue May 10, 2019
@gdt
Copy link

gdt commented Jan 7, 2021

I am seeing this too. I run my own XMPP server, and run certbot in a pretty default setup. An iOS gets a popup -- which breaks message delivery -- every time the cert is updated.
It might be fair to require confirmation after a CA change, but a new cert (and new key) from the same CA should not cause trouble. Arguably the default should be to follow pkix validation rules, but I can see the point that more paranoia is warranted. However, objecting to a new LE cert replacing the old LE cert is not useful, and will lead people to look for a new client.

@gdt
Copy link

gdt commented Jan 7, 2021

@sindastra Please retitle the issue to be "Renewed LE certificates are objected to, breaking message delivery".

@sindastra
Copy link
Author

@gdt This issue is about TLS Certificate Trust in general, it does not only affect Let's Encrypt. I merely used Let's Encrypt as an example, as it needs to be renewed every three months and thus makes it more noticeable with Let's Encrypt than others. But certificates from any CA are affected by this.

@gdt
Copy link

gdt commented Jan 9, 2021

@sindastra Perfectly OK to leave out LE, but "TLS Certificate Trust" is not a concise description of the problem. So how about
"Renewed certificates (from the same CA, perhaps with a new key) are objected to, breaking message delivery"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants