Plugin to diagnose/fix ClassicPress SSL issues.

Overview

ClassicPress SSL Fix

This plugin provides a way to work around the issue "cURL error 60: SSL certificate problem: certificate has expired" in ClassicPress and WordPress in the most secure way possible, and also provides an admin page to determine whether the issue exists on your site and recommend how to fix it.

This issue is occurring because one of the SSL certificates used by a large portion of the Internet expired in September 2021. Its replacement is already available, but many web servers (and other devices) are running an older version of a key piece of software that doesn't know how to use the new certificate properly.

Installation

Download the latest version of this plugin's code from GitHub and install it in your site's admin dashboard like any other plugin ("Plugins > Add New" in the dashboard menu, then click the button to "Upload Plugin").

Activate the plugin, then go to "Tools > CP SSL Fix" in the dashboard menu.

Plugin functions

There are three different modes this plugin can operate in, depending on the web server configuration.

Do nothing

If your site is able to perform external requests, then this plugin doesn't need to do anything and it will simply report that condition:

Automatically use a corrected certificate bundle

Otherwise, this plugin will attempt to tell your ClassicPress/WordPress installation not to use the expired certificate that causes this problem. If the expired certificate is not present in your web server's system certificate bundle (part of the configuration set by your web host) then this is all that is needed to get things working again temporarily.

If this is an issue that a ClassicPress/WordPress upgrade will be able to fix on your site, then this plugin can take care of it until the new version comes out:

This plugin will also be able to help these sites to get the new version of ClassicPress/WordPress applied successfully when it comes out.

When possible (depending on the server configuration), this is a much more secure alternative than disabling all certificate verification.

Provide the option to switch to insecure requests for a few minutes

If the expired certificate is also present in your web server's system certificate bundle then the above method will not work. Your web server will need to be upgraded (to a more recent version of PHP and/or the cURL extension for PHP) or reconfigured (to remove the expired certificate from your system's certificate store). Until that is done, the only other option is to disable certificate verification entirely for external requests. This is dangerous, so the plugin provides a button to enable this mode for 3 minutes to allow you to complete critical maintenance tasks like upgrades.

Again, the real fix is to upgrade/reconfigure the webserver, but this can help get upgrades and other tasks unblocked in the meantime.

More technical details

This issue occurs when:

  • your site is using the PHP cURL extension to make requests to external servers (this by itself is normal and correct)
  • and the version of OpenSSL that is bundled with cURL is 1.0.2 or older
  • and an expired certificate known as "DST Root CA X3" is present in your web server's system certificate bundle and/or the certificate bundle used by ClassicPress/WordPress. (cURL will always use the certificates in the system certificate bundle even though ClassicPress/WordPress specify their own certificate bundle, so the expired certificate needs to be removed from both places.)

When all of these conditions are met, your site will be unable to connect to external servers that use SSL certificates issued by Let's Encrypt, which is a large portion of the Internet, including api-v1.classicpress.net.

The best way to fix this issue is to get your web hosting provider to update the software behind your PHP installation, and also remove the expired "DST Root CA X3" certificate from your web server.

ClassicPress and WordPress will also be removing this certificate on their end, but this is not always enough to fix the issue by itself.

In the meantime, this plugin can help get your site able to make requests to external servers again.

Links

You might also like...
Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.

PhpDeprecationDetector PhpDeprecationDetector - analyzer of PHP code to search usages of deprecated functionality in newer interpreter versions - depr

List of Magento extensions with known security issues.
List of Magento extensions with known security issues.

Magento Vulnerability Database List of Magento 1 and 2 integrations with known security issues. Objective: easily identify insecure 3rd party software

Fixes WordPress 5.9 global CSS styles specificity issues

Fixes WordPress 5.9 global CSS styles specificity issues

Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.

PhpDeprecationDetector PhpDeprecationDetector - analyzer of PHP code to search usages of deprecated functionality in newer interpreter versions - depr

A plugin manager for PocketMine-MP downloads plugin from PocketMine-MP official plugin repository

oh-my-pmmp A plugin manager for PocketMine-MP Getting Started Prerequisites Your server MUST RUN the latest version of PocketMine. Installation From P

This Pocketmine-MP plugin is a plugin including a complete faction system.

SimpleFaction Simple faction plugin replacing FactionsPro which is no longer updated. Commands Command Name Command Description Available for /f help

SpawnInLobby Pocketmine-MP plugin. With this plugin the player will always join the game at the default world spawn point

SpawnInLobby Pocketmine-MP plugin. With this plugin the player will always join the game at the default world spawn point

Ratio plugin is a luck plugin. The more lucky you are, the more you win!
Ratio plugin is a luck plugin. The more lucky you are, the more you win!

Ratio Ratio plugin is a luck plugin. The more lucky you are, the more you win Features When you break a block (Cobblestone), it gives/puts you somethi

actionMaster is a new faction plugin that aims at flexibility and customization of the plugin by the user and the developers.

FactionMaster is a new faction plugin that aims at flexibility and customization of the plugin by the user and the developers. It includes all the basic functionality of a faction plugin and data storage in MySQL or SQLITE. This is done by adding an extension system and a translation system. FactionMaster has a will of accessibility to the players and especially not to have to remember a lot of commands to play, all is done via interface.

Owner
ClassicPress Research
Plugins and projects that MAY be considered for official recommendation or included into @ClassicPress core when they are finished. EXPERIMENTAL, NO GUARANTEES!
ClassicPress Research
A tool to automatically fix Twig Coding Standards issues

Twig CS Fixer Installation This standard can be installed with the Composer dependency manager. Add the coding standard as a dependency of your projec

Vincent Langlet 50 Jan 6, 2023
A tool to automatically fix PHP Coding Standards issues

PHP Coding Standards Fixer The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to follow PHP codi

null 11.6k Jan 1, 2023
Container Open Inventory ID send bug fix PocketMine-MP plugin

ContainerOpenFixed Container Open Inventory ID send bug fix PocketMine-MP plugin Example use skh6075\containeropenfixed\IWindowType; use pocketmine\ne

avas 2 May 20, 2022
Debug with Ray to fix problems faster

Debug with Ray to fix problems faster This package can be installed in any PHP application to send messages to the Ray app. The desktop app: can be us

Spatie 458 Dec 27, 2022
A Kimai 2 plugin, which send duration of cards to GitLab spend issues of timesheet.

GitLabBundle A Kimai 2 plugin, which send duration of cards to GitLab spend issues of timesheet. Installation First clone it to your Kimai installatio

LibreCode coop 9 Nov 14, 2022
Sslurp is a simple library which aims to make properly dealing with SSL in PHP suck less.

Sslurp v1.0 by Evan Coury Introduction Dealing with SSL properly in PHP is a pain in the ass and completely insecure by default. Sslurp aims to make i

Evan Coury 65 Oct 14, 2022
PHP project for tracking Azure AD App Reg secrets about to expire, and (manually) tracking SSL certificates

CertExpiry Katy Nicholson https://katystech.blog/ Setup instructions etc available at: https://katystech.blog/2021/11/certexpiry/ PHP project for trac

Katy Nicholson 5 Oct 2, 2022
Magento2 + Varnish + PHP7 + Redis + SSL (cluster ready)

Docker Magento2: Varnish + PHP7 + Redis + SSL cluster ready docker-compose infrastructure Infrastructure overview Container 1: MariaDB Container 2: Re

Fabrizio Balliano 332 Dec 30, 2022
MOFHY Lite is a priceless MyOwnFreeHost Client Area for account management, ticket support system and a free ssl service

MOFHY Lite is a priceless MyOwnFreeHost Client Area for account management, ticket support system and a free ssl service. It has easy to use features much like the WHMCS Digit UI interface.

MOFHY Developers 1 Oct 21, 2022
Issue tracking application extending GitHub's issues and pull requests for the Joomla! project.

Requirements The issue tracker application requires a server running: PHP 7.2 or 7.3 PHP's ext/curl and ext/intl should also be installed MySQL 5.5.3

Joomla! 68 Oct 27, 2022