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 Sept 17, 2021 Riseup no longer publishes signed certificate fingerprints here.

Certificates are auto-renewed Let's Encrypt certificates. 

If you were pinning against the fingerprint, you will need to change to use a
different mechanism, such as DANE TLSA records, or specifying a list of
certificate authorities to trust for verification.

For offlineimap users, you simply will set this option:

sslcacertfile = /etc/ssl/certs/ca-certificates.crt
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEETgeRJo98Z q iPGwMEPitxOado4FAmFEop5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDRF
MDc5MTI2OEY3QzY3RUFCRTg4RjFCMDMwNDNFMkI3MTM5QTc2OEUACgkQMEPitxOa
do5vYg/ Ll37 /NMgJVIA4ucTIwat2YkaY2QwBgz2koMNLam5sWtv7OU79k4/l8X
keMrQUjNOAJSruHHbNFcJ7FhrsYIqNi6UcG9y5uKDmWsZEHz3Ab6CBfTGyu9zg2V
kntjshr5DAzM0z5hMTXJczmwKjjrAg39FHC2/lpA5fWO0PVEJilM8tOhJdPLcesv
pn8ol3goN3eRWUCLzhIMZnGQzgTnTpwu8VCDIWK7EI4kXIuYA98R61LOOTe9zu7o
tHQaBzn3zyLqKqVIPitHUB/3GvaKPTvPS bgAxyaVyPITTXxkucQ3HEOfgRO6Olb
d5O56GPAOlp9XaqkEkkUIH7KZP5BYjWCyqbsg7u0owas3ezF5UKVJ/ZM0SX0OdMH
Y3/ygoODwP1viEVwkCDHTaiPwH1ckJbg9FoZ32qpgCR5dLwwH5nGPlQHvQEsQQ U
viEbIuOX89Kkb4ynqW9THtXs5i7jgScOIEL3We0fzSmEqphtkvOxBKVaasKwIbBP
ODAxSvhm14/SS0iF8EY7/o6p2TfviZbOX8AZZEyjjlJ6lHAe VosbAze8pVBV5xU
KqvG71cnzWDu90ESPFBpm0tVr7NlXOx3hiS6Af6cR547VkVCAI75unscocNtT0Yl
ij2hu4BIdSx4rMH0Sns6OU3BdQb39PTn1PQgQZ7sd8zUyGiwFHI=
=BMQz
-----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 --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 looks similar to the following:

gpg: using RSA key 4E0791268F7C67EABE88F1B03043E2B7139A768E
gpg: Good signature from “Riseup Networks <collective@riseup.net>” [unknown]
gpg: aka “Riseup Treasurer <treasurer@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! It may say the Good signature is for “Riseup Treasurer <treasurer@riseup.net>” or “Riseup Networks <collective@riseup.net>”.

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.