I'm trying to run sudo rpi-update to make sure I'm on the latest firmware. It ran correctly on 4 other identical systems. I'm running wheezy for compatibility reasons, raspi 1A, raspbian. The network for this system is a little weird, there might be a network firewall causing issues, but I'm not sure. When I run sudo rpi-update I get:

 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
 !!! Failed to download update for rpi-update!
 !!! Make sure you have ca-certificates installed and that the time is set correctly

I have already reinstalled ca-certificates and I can elinks https://github.com but I'm not sure if elinks checks certificates. ( ~~but this would suggest that the firewall isn't causing issues~~ or maybe elinks doesn't care about self-signed) wget https://github.com/Hexxeh/rpi-update/raw/master/rpi-update and wget https://github.com/Hexxeh/rpi-update/raw/master/rpi-update give the same error, as does curl.

Upon further review, it looks like something is re-signing SSL with a self-signed certificate for every HTTPS site. This might be a question for Super User then, but does any one have a safe way to still run rpi-update?

  • Firewall replacing certificates is not impossible at all. Check the certificate for e.g. google.com with your RPi, or better yet with a laptop connected to the same network. – Dmitry Grigoryev Nov 18 '16 at 14:55

There is a similar github issue. Is it possible that you are running an old version of wget. There are some ideas that you can try:

  • If you read that issue, rpi-update moved from using wget to using curl to fix that issue. I have also tried UPDATE_SELF=0 with similar failures. The only difference between my identical Pi's is the network they are connected to, so that leads me to believe there is a device on this network that is re-signing everything with it's own self-signed cert, which is common in corporate networks for packet scanning. – Ian M Sep 13 '16 at 10:29
  • So if the certs are invalid you need to use --no-check-certificate. – lw1.at Sep 13 '16 at 10:45

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.