Certificates

What are certificates?

On the internet, a public key certificate is needed in order to verify the identity of people or computers. These certificates are also called “SSL Certificates” or “Identity Certificates.” We will just call them “certificates” here.

In particular, certificates are needed to establish secure connections. Without certificates, you would be able to ensure that no one else was listening, but you might be talking to the wrong computer altogether! All riseup.net servers and all riseup.net services allow or require secure connections.

To make sure you are actually creating a secure connection with Riseup, you can follow the below steps to verify our certificates. This verification process is not required in order to use Riseup’s services. However, without verification, you cannot be certain you actually are connecting to our servers, and you cannot be certain that your connections are secure.

Verify Riseup’s certificates

To verify these fingerprints, you need to look at what your browser believes the fingerprints are for the certificates and compare them to what is listed below. If they are different, there is a problem. Be warned: a complete verification is difficult and requires an understanding of OpenPGP.

The fingerprint for Riseup’s certificates are:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

As of October 15, 2018, the following are the fingerprints for Riseup's certificates:

 .  *.riseup.net, riseup.net
        SHA-256 fingerprint:
                3814e3eaf91e30451790697a98b1b5594cdbdfef4a73ef5a47ed33c556816645

!!! 
NOTE: Certificates for help.riseup.net, riseup.net and www.riseup.net are
auto-renewed Let's Encrypt certificates. They are renewed approximately 3
months and we do not list their fingerprints here 
!!!
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETgeRJo98Z+q+iPGwMEPitxOado4FAlvE0ssACgkQMEPitxOa
do7kSQ//XFzbmZx80r2AaqGhK+PFTYYsM7BeZf2KdpoqAbh4mWYP5X0MXFxi0ef9
QA6Pt51tOqrfKTSkKJf0x1y0oJZnOvhDGtZqI2CYAWZpdlXdcIrZKx8NoA1iovfg
mtJiYTvv1pEp5dZTPK4SSXYiyjoeuqZNUmKu4zICNnwEd0Ue3I1/hsMpktJPHN3F
tGF/K0X3VD3I6elueGAocw168Eu8e3NBe3reRxx2EzgKx0km1UpwJius+Z9OUjG/
Q8s9pGDAnbUGrmClWHlHQt5P/Bdam1LJa0eQKsv1pgxY+WLg40TaFgOpbD8Rp0Hs
EXI8qQIeK682z8Llku3yT+DgW6SCWdp8pz22/BfU+rIbHR+e5JUP0zEcLhgdNQvh
fja3GpYojNto3TdQJVPwlEU29SbOW5nkmampKyTWhei0Mwdo5UdNdwKClKIkWcMk
zz3nU5+f5LghhFeCv1hHNVJ7QtuNgJX7VvUyXXyTOoxGLsQ4UfhNA8MhoXz7ONAo
abS5hjt2Khs/w//JD6tiXJOIfoanrSQVsn9Gx4ToxjLrDnL1F1C3VeqRskNeIR7s
2MCCFrvQOGYOoObIXtwQYsprJ5IHWE5VDhVtcMuq9/m9Anw9YMyE7W2BJIvZE3/S
PFRxymQjmG/op5lRKcnZUm3siFAjKy7ZKOzd3WmZ25tQqp9cyvw=
=Nt6z
-----END PGP SIGNATURE-----

When should I verify these fingerprints?

You should verify these fingerprints whenever they change, or you are using a computer that you do not control (such as at an internet cafe, or a library).

Basic verification

  1. Find the fingerprint of the certificate in your browser sees. In most browsers, you can do this by clicking on the lock icon located in the location bar. This should bring up details about the certificate being used, including the fingerprint.
  2. Compare the fingerprint the browser reports with the fingerprints listed above.

If you are interested in doing a complete verification, then you will need to follow a more complicated technical process involving knowedge of OpenPGP.

Complete verification

Warning: this process is pretty technical, it requires familiarity with OpenPGP and the command-line. It assumes you have the program gpg installed.

Import Riseup’s OpenPGP key

Before you continue, please make sure you have selected a good keyserver.

On the terminal (press Alt+F2 and enter gnome-terminal), import Riseup’s public OpenPGP key from a keyserver:

gpg --keyserver keys.riseup.net --recv-key 0x4E0791268F7C67EABE88F1B03043E2B7139A768E
gpg --fingerprint 0x4E0791268F7C67EABE88F1B03043E2B7139A768E

The first line will import the key into your keyring, but there is no guarentee that you actually imported the right key. The --fingerprint command allows you to see the fingerprint of the key and actually confirm you imported the correct key. You should see output that contains this line:

Key fingerprint = 4E07 9126 8F7C 67EA BE88  F1B0 3043 E2B7 139A 768E

There is no particular reason that you should trust this key. You can see who has trusted it:

gpg --list-sigs 0x4E0791268F7C67EABE88F1B03043E2B7139A768E

Verify Riseup’s Certificate

You can verify that the fingerprints listed on this page are really from riseup.net by entering this command into a terminal:

wget -qO - riseup.net/certificates/riseup-signed-certificate-fingerprints.txt | gpg --auto-key-retrieve --verify --output -

It will show the signed message printed above followed by output that says:

gpg: using RSA key 4E0791268F7C67EABE88F1B03043E2B7139A768E
gpg: Good signature from “Riseup Treasurer <treasurer@riseup.net>” [unknown]
gpg: aka “Riseup Networks <collective@riseup.net>” [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 4E07 9126 8F7C 67EA BE88 F1B0 3043 E2B7 139A 768E

You should make sure that it says “Good signature” in the output! If this text has been altered, then this information should not be trusted.

Unless you have taken explicit steps to build a trust path to the Riseup Collective key, you will see a warning message similar to:

gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

However, you still should see the “Good signature”.

Compare the fingerprints

Now that you verified that the above message contains the fingerprints for our certificate, you can compare this value to the value provided by your browser. In most browsers, to find the fingerprint of the certificate your browser sees you can click on the lock icon located in the location bar. This should bring up details about the certificate being used, including the fingerprint.

If the values match, and you trust the Riseup public OpenPGP key, then you can be confident you are really communicating with riseup.net servers.

I want to learn more!

Great, this is an important topic and we encourage you to read this piece which clearly articulates in a non-technical way the problems involved in certificate authorities as well as outlining some interesting suggestions for ways that the existing architecture and protocols can be tweaked just a little bit to change the situation for the better.