Closed leleobhz closed 7 years ago
A comment: From Chrome in the same phone, It works well.
@oparoz is this a cipher used, not being supported by default?
Curiously from a StartSSL cert it works, so I suspect something related to eliptic curve I choose for letsencrypt, but its weird to me. Remembering StartSSL certificates got revoked by Mozilla, Apple and Google since mid 2016, so I want to change it to lets encrypt, but want a tighter security.
I'm also using LE P-384 certificates and these ssl parameters and I've no problem. But I had the same issue as yours on a previous CyanogenMod build, perhaps you can to try to upgrade your ROM?
@Wonderfall I'm using Android 7.0 from ZenFone3. I'm their beta tester and my phone is original and with warranty. I'll report this issue to Asus but I still wondering why Google Canary works and nextcloud app does not :/
I'll test you nginx config too.
Like I said, I had the same problem. It worked with Firefox, Chrome, but not with any app. I'm not an expert but maybe (likely) Chrome has its own embedded toolkit implementing SSL/TLS.
The best you can do is to report to Asus since I'm sure it's ROM-related.
The best you can do is to report to Asus since I'm sure it's ROM-related.
But if its ROM issue, Why Chrome Canary works well here, accepting the certificate? Also, in Dev options, Webview implementation, both Chrome Canary and WebView did not worked within the app.
That said, Im also suspecting a ROM issue, but I ask in this bug report to something like "What Nextcloud App can do to allow the access?"
But if its ROM issue, Why Chrome Canary works well here, accepting the certificate?
I don't know, there must be something with the SSL/TLS implementation. It's working for me since a very specific build of CyanogenMod 14 (I'm now using LineageOS). During some time, it didn't work but it was indeed working while I was on CyanogenMod 13. If @AndyScherzinger remembers, we discussed briefly that matter on Twitter.
I don't say I'm 100% sure, but it's more than likely that this issue comes from your ROM. I think Asus itself has something to do allow the access, but like I said I can't be totally sure.
Hello Devs!
I read http://stackoverflow.com/questions/39133437/sslhandshakeexception-handshake-failed-on-android-n-7-0 today and tested here to see what happens.
Ive changed my systemd unit from
ExecStart=/srv/dehydrated/dehydrated -a secp384r1 -o /etc/ssl/nginx -f /srv/leonardoamaral.com.br.conf -d %i -t dns-01 -k '/srv/dehydrated/hooks/cloudflare/hook.py' -c
to
ExecStart=/srv/dehydrated/dehydrated -a prime256v1 -o /etc/ssl/nginx -f /srv/leonardoamaral.com.br.conf -d %i -t dns-01 -k '/srv/dehydrated/hooks/cloudflare/hook.py' -c
And forced the rekeying with -x, regenerating the pubkey and fullchain again. Also in ssl_ecdh_curve I've leaved the default instead forcing the option "ssl_ecdh_curve secp521r1 secp384r1" and it worked.
So I think its related to eliptic curves and not by the system itself. What bothers me is why Chrome Canary works even with a secp384r1 key and the app does not.
Anyways, Asus got a post on their beta forum and I'm waiting for a answer.
Thanks for all posts and help!
EDIT: Just the way Letsencrypt key got generated manifests the issue. With
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_ecdh_curve 'brainpoolP512r1:secp521r1:brainpoolP384r1:secp384r1:prime256v1';
Worked if I use prime256v1 as public key algorithm in Let's Encrypt key generator, but secp384r1 did not worked. Any combination with pubkey of type secp384r1 also does not work, so I think this is the precise issue.
It's related to the elliptic curve used by the certs, but I think the fact it works on Chrome Canary and not in the app shows exactly that the system is in fault. Let us know what Asus will answer.
As a "temporary fix" you can use multiple certificates at the same time with nginx.
So, unfortunately we cannot do anything here, if I hopefully understood it correctly, therefore closing it. (please feel free to re-open if I am wrong)
From what I've seen, this issue is specific to Android 7.0. Is has been resolved in Android 7.1.
Actual behaviour
Expected behaviour
Steps to reproduce
Environment data
Android version: 7.0
Device model: Asus ZenFone3 - Beta Tester
Stock or customized system: Official Asus Beta Tester
Nextcloud app version: Latest Nightly and Latest Play Store
Nextcloud server version: 11.0.2 Stable
Logs
adb logcat | grep GetRemoteStatusOperation
testssl.sh on server