Certifikáty Let's Encrypt nefungují na Androidu

Certifikáty Let's Encrypt nefungují na Androidu
« kdy: 05. 07. 2018, 08:22:04 »
Mam nejake weby s certifikatmi od letsencrypt. Vacsinou nemam problem nikde, ale ked chcem web prehliadat na android 6.0.1, tak stale hlasi
Kód: [Vybrat]
Vyskytli sa problemy s bezpecnostnym certifikatomKed kliknem na zobrazit certifikat, tak dostanem
Kód: [Vybrat]
Certifikat nepochadza z doverihodnej autorityMinimalne je to tak na android 6.0.1 miui stable 8.5.3.0, prehliadac 8.7.7
« Poslední změna: 08. 07. 2018, 18:50:42 od Petr Krčmář »


ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:problem s letsencrypt na androide
« Odpověď #1 kdy: 05. 07. 2018, 08:52:25 »
Bez toho, abychom věděli jaké konkrétní weby to může být pouze pokus o trefu na slepo:

https://community.letsencrypt.org/t/incompatibility-with-android-6-0/37349

Re:problem s letsencrypt na androide
« Odpověď #2 kdy: 05. 07. 2018, 09:11:07 »
Posílá server kompletní certifikační cestu, tj. všechny certifikáty s výjimkou kořenového? Certifikáty Let's Encrypt jsou podepsané ještě další certifikační autoritou, a některé starší systémy neznají přímo certifikáty Let's Encrypt, ale znají tu nadřazenou certifikační autoritu (DST Root CA X3).

kkt1

  • *****
  • 796
    • Zobrazit profil
Re:problem s letsencrypt na androide
« Odpověď #3 kdy: 05. 07. 2018, 09:40:57 »
Napis web, rekneme ti jestli je problem na webu nebo u tebe.

Re:problem s letsencrypt na androide
« Odpověď #4 kdy: 05. 07. 2018, 12:18:59 »
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.


Re:problem s letsencrypt na androide
« Odpověď #5 kdy: 05. 07. 2018, 12:28:17 »
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu

Re:problem s letsencrypt na androide
« Odpověď #6 kdy: 05. 07. 2018, 12:41:25 »
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu
Záleží na konkrétním serveru. Např. nginx umožňuje uvést zvlášť cestu k serverovému certifikátu a zvlášť k mezilehlému certifikátu autority, nebo dáte všechny certifikáty do jednoho souboru a uvedete cestu jenom k němu. Certifikáty se do daného souboru prostě nakopírují za sebou, takže v souboru je pak:
Kód: [Vybrat]
-----BEGIN CERTIFICATE-----
… 1. certifikát …
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
… 2. certifikát …
-----END CERTIFICATE-----

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:problem s letsencrypt na androide
« Odpověď #7 kdy: 05. 07. 2018, 17:36:41 »
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu

Dostal jste odpověď už v prvním příspěvku, četl jste ten odkaz?

Citace
The website send incomplete chain of certificates. It should be configured to send fullchain.pem instead of cert.pem.

Re:problem s letsencrypt na androide
« Odpověď #8 kdy: 05. 07. 2018, 23:18:28 »
do confu pre vhost
Kód: [Vybrat]
/etc/apache2/sites-available/web.confsom pribalil aj existujuci fullchain.pem
Kód: [Vybrat]
SSLCertificateKeyFile /etc/letsencrypt/live/web/fullchain.pemrestart apache
Kód: [Vybrat]
systemctl reload apache2a problem pretrvava aj nadalej

Re:problem s letsencrypt na androide
« Odpověď #9 kdy: 05. 07. 2018, 23:31:06 »
Jestli to chápu správně, tak jste upravoval PEM soubor, ve kterém není certifikát, ale privátní klíč. Webserver ale klientovi (prohlížeči) posílá certifikát(y), ne privátní klíče, takže mezilehlé certifikáty musíte přibalit k certifikátu (často soubor s příponou .crt).

Jenda

Re:problem s letsencrypt na androide
« Odpověď #10 kdy: 06. 07. 2018, 00:02:29 »
Když je tak tajné, jaký web to je, asi si budeš muset vystačit sám. Mohlo by pomoct https://www.ssllabs.com/ssltest/.

Re:problem s letsencrypt na androide
« Odpověď #11 kdy: 06. 07. 2018, 07:29:54 »
Jestli to chápu správně, tak jste upravoval PEM soubor, ve kterém není certifikát, ale privátní klíč. Webserver ale klientovi (prohlížeči) posílá certifikát(y), ne privátní klíče, takže mezilehlé certifikáty musíte přibalit k certifikátu (často soubor s příponou .crt).
V adresary
Kód: [Vybrat]
/etc/letsencrypt/live/web/mam symlinky na 4 subory
Kód: [Vybrat]
cert.pem
chain.pem
fullchain.pem
privkey.pem
ktore som vygeneroval prikazom
Kód: [Vybrat]
./letsencrypt-auto certonly --webroot -w /var/www/web -d moj-web.com -d www.moj-web.comVystup z generovania
Kód: [Vybrat]
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/web/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/web/privkey.pem
   Your cert will expire on 2018-08-31. To obtain a new or tweaked
   version of this certificate in the future, simply run
   letsencrypt-auto again. To non-interactively renew *all* of your
   certificates, run "letsencrypt-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
Ako som uviedol vyssie v prispevku, pridal som do
Kód: [Vybrat]
/etc/apache2/sites-available/web.confdirektivu
Kód: [Vybrat]
SSLCertificateKeyFile /etc/letsencrypt/live/web/fullchain.pemAle vysledok sa nedostavil. myslel som si, ze mam tam chybu (key), cize som to upravil na
Kód: [Vybrat]
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pemale restart apache zlyhal (pre spatny config).
Když je tak tajné, jaký web to je, asi si budeš muset vystačit sám. Mohlo by pomoct https://www.ssllabs.com/ssltest/.
Web tu nechcem uvadzat, pretoze je to urceny len pre urcity okruh ludi a nechcem ho zverejnovat. Ten test som vcera spravil ... dostal som hodnotenie  B.
Priznam sa, ze neviem velmi dobre po anglicky, ale test mal vystupy vacsinou v zelenych, resp. oranzovych cislach. Jedine cervenym bolo v sekcii Configuration - Handshake Simulation
Kód: [Vybrat]
IE 8 / XP   No FS 1   No SNI 2 Server sent fatal alert: handshake_failure Ak je potrebne dodat nejake vysledky neni problem (web tu ale nechcem zverejnovat)

Re:problem s letsencrypt na androide
« Odpověď #12 kdy: 06. 07. 2018, 08:19:02 »
Apache potřebuje znát jak privátní klíč (který používá při šifrování spojení), tak certifikát a případně certifikační cestu (kterými se prokazuje klientovi). Takže SSLCertificateKeyFile musí ukazovat na privátní klíč, a dále SSLCertificateFile  na serverový certifikát (a mohou za něj být přidané mezilehlé certifikáty, v pořadí nejprve serverový certifikát a pak vždy certifikát, který byl použit k vystavení předchozího certifikátu v souboru), případně mezilehlé certifikáty mohou být v SSLCertificateChainFile.

Takže ve vašem případě:
Kód: [Vybrat]
SSLCertificateKeyFile    /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile       /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile  /etc/letsencrypt/live/web/chain.pem

Nezapomeňte na to, že certifikáty Let's Encrypt mají platnost jen tři měsíce, takže je potřeba je často obnovovat, ideálně automaticky skriptem třeba z cronu.

Re:problem s letsencrypt na androide
« Odpověď #13 kdy: 06. 07. 2018, 08:59:31 »
Pridal som tam vsetky certifikaty
Kód: [Vybrat]
SSLCertificateKeyFile    /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile       /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile  /etc/letsencrypt/live/web/chain.pem
SSLCertificateChainFile  /etc/letsencrypt/live/web/fullchain.pem
a stejne to pise, ze certifikat pochadza z nedoverihodnej autority

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:problem s letsencrypt na androide
« Odpověď #14 kdy: 06. 07. 2018, 09:27:36 »
Zkus to takhle:

Kód: [Vybrat]
SSLCertificateKeyFile    /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile       /etc/letsencrypt/live/web/fullchain.pem

Nic jiného, jen takto. A pozor na to co máš v SSLCertificateFile!