I've got several WordPress sites that I self-host on a Windows Server.

When attempting to perform the upgrade process, via /wp-admin/update-core.php?action=do-core-upgrade I see the following error:

error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm

It's entirely unclear to me where to begin resolving this issue.

Interestingly, the "WordPress News" applet shows a similar error:

RSS Error: WP HTTP Error: Failure when receiving data from the peer

RSS Error: WP HTTP Error: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm

  • I am not familiar with such but wanted just pointing out that google and/or stackoverflow could help you for this kind of questions. It is a server problem and has nothing to do with WordPress. By doing some research you would have found this?! (read response made by Otto, follow links and do some research please) – Charles Feb 5 '16 at 17:13
  • Thanks, @Charles - I have searched and looked at quite a lot of pages that say Curl is the problem; however since this is a Windows server, I don't believe I even have Curl. Also, I'm a high-rep user on the Database Administrators Stack site so I'm quite familiar with the SE Etiquette thing. Thanks for your help, though! – Max Vernon Feb 5 '16 at 17:17
  • 2
    What OpenSSL version are you running on? I have no idea how to query for installed packages on IIS servers, but there will be docs in the internets. FYI, I also reopened the question as this site is about development and administration. – kaiser Feb 6 '16 at 11:06
  • 2
    another reference to lok at wordpress.org/support/topic/… – Mark Kaplun Feb 6 '16 at 14:28
  • This error is caused by your server having an outdated version of curl and/or the OpenSSL library. Modern SSL certificates are signed using the SHA-256 algorithm, which your older code lacks support for. You need to update your server, or if you have a webhost, they need to update it for you. Note that all older versions of OpenSSL are considered to be dangerously insecure, and you should be updating these in any case. If the webhost cannot update the server, then it's really time to find a new hosting service. – Kika Mar 13 '16 at 19:01

@Kika is right that you have an older, insecure, version of OpenSSL.

This sounds like: https://wordpress.org/support/topic/getting-download-failed-error0d0890a1asn1-encoding-routinesfunc137reason

I wrote a small bit of code to skip the SSL test when trying to access the download server. It is not a good idea to use this code but will get you out of a pinch.

Plugin Name: Skip SSL Verify
Plugin URI: http://www.damiencarbery.com
Description: Skip SSL verify in curl downloads - fixes: Download failed. error:0D0890A1:asn1 encoding routines:func(137):reason(161).
Author: Damien Carbery
Version: 0.1

function ssv_skip_ssl_verify($ssl_verify) {
    return false;
add_filter('https_ssl_verify', 'ssv_skip_ssl_verify');
add_filter('https_local_ssl_verify', 'ssv_skip_ssl_verify');
| improve this answer | |
  • small note, there is a core function called return_false which always returns false, intended to be used exactly for this kind of things. – Mark Kaplun Apr 6 '16 at 14:23
  • @MarkKaplun: You're right. I prefer the longhand version so that I can add comments or even expand the function in the future (even though that's unlikely to happen in this code). – Damien Carbery Apr 14 '16 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.