Tento komunitní článek je aktuální k 7. 2. 2025.
Při pokusu o upgrade starší instalace WordPressu (od verze 5.8 a starší) se někteří uživatelé setkali s chybami souvisejícími s ověřováním SSL certifikátů. Hlavním důvodem je, že WordPress totiž používá vlastní soubor s důvěryhodnými kořenovými certifikáty, tzv. CA bundle, který je umístěn ve složce /wp-includes/certificates.
Co je CA bundle a proč je důležitý?
CA bundle je soubor, který obsahuje seznam kořenových certifikačních autorit (CA). Tyto autority ověřují platnost SSL certifikátů, což je zásadní pro zabezpečenou komunikaci mezi webovými servery a návštěvníky webu. Když prohlížeč nebo server ověřuje SSL spojení, kontroluje, zda certifikát byl vydán důvěryhodnou autoritou – právě ten seznam je uložený v CA bundle.
Problém u starších verzí WordPressu
Do nedávné doby byl CA bundle dodávaný se staršími verzemi WordPressu bohužel zastaralý. To znamená, že některé moderní certifikáty nemusely být v seznamu uvedeny, což vedlo k problémům s ověřením SSL spojení. Výsledkem bylo, že při upgradu WordPressu nebo při komunikaci s externími službami mohlo dojít k chybám – například k selhání aktualizace, nebo k zobrazení varovných hlášení o neplatném certifikátu.
Tento problém byl diskutován i v rámci komunity WordPressu a nalezl své místo například v ticketu 45807, kde se komunita snažila najít řešení, jak situaci napravit.
Projevy chyby s certifikátem
Pokud máte starší verzi WordPressu s neaktuálním CA bundle, můžete při upgradu nebo při pokusech o bezpečnou komunikaci se setkat s následujícími problémy:
- Chyby při stahování aktualizací: WordPress nemusí být schopen ověřit SSL certifikáty serverů, ze kterých stahuje aktualizace. Chybové hlášení je obvykle:
Aktualizace se nezdařila: Stažení se nezdařilo. cURL error 60: Peer's Certificate issuer is not recognized.
- Komunikace s externími API: Při navazování spojení s externími službami může dojít k selhání ověření certifikátu, což může způsobit problémy s funkcionalitou webu.
- Bezpečnostní varování: Prohlížeče nebo servery mohou upozorňovat na neplatné nebo podezřelé certifikáty, což snižuje důvěryhodnost webu.
Doporučené řešení
Řešením tohoto problému není vypínat ověřování SSL certifikátů (nastavením sslverify na false), protože by se tím výrazně snížila bezpečnost komunikace. Místo toho je doporučeno aktualizovat CA bundle.
Aktualizovanou verzi CA bundle naleznete v oficiálním repozitáři WordPressu na GitHubu, konkrétně ve složce /wp-includes/certificates. Stačí stáhnout novou verzi a nahradit jí starší soubor ve vaší instalaci. Tím zajistíte, že všechny moderní certifikáty budou správně ověřeny, což přispěje k bezpečné a bezproblémové komunikaci.
Alternativně si můžete stáhnout tento PHP skript, který zajistí stažení aktuálního kořenového certifikátu a jeho aktualiuaci ve vaši instalaci WordPress.