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 22, 2016, the following are the fingerprints for Riseup's certificates:

 .  riseup.net, help.riseup.net, www.riseup.net
        SHA-256 fingerprint:
                ad2fa40ffaf3df632d35f4e5cb6566d15a0362ebc5a58fa793650307aa05eb4f
	SHA1 fingerprint:
		862ff2048b2e92d9eabe85cb409bf0c7efbbdab7

 .  *.riseup.net, riseup.net
        SHA-256 fingerprint:
                101c50eb4d4ac4cb9633c4de10c09c5fbee46801c023d48d2dfe0b02e27eedc0
	SHA1 fingerprint:
		86a010ddba262196d7f6f1f47ae03032f9031c32

-----BEGIN PGP SIGNATURE-----

iQJ8BAEBCgBmBQJYC6YzXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0RTA3OTEyNjhGN0M2N0VBQkU4OEYxQjAz
MDQzRTJCNzEzOUE3NjhFAAoJEDBD4rcTmnaOIfgP/2ATovZUH34GvSh+MexnYxpV
3ItNuTYoEuqZ16uGPsb5p852DJPBHBgBKah366SSSPIuUc7SqB6mxyFYQThX83wq
TPetI8RX4nUxo7jhv84wj0Ceh/td3tU2Pj2Wd7cijnZUNPvd3JSKroPMZpDCGHRM
6ywML3VqO8wRbp9tOEdUd4ybJVO1VTwTXH0DuvKFXlpgt1TldBz98audZBqgLbjj
SPvcf0d2b2JTsczOwPQp7HS9SrmOU0Mc0D1WADCPNjGF5smWt8YRRGiwt5Kp+uYq
WCRw3lxmZlKu6296uF+vQAcFY1oE+ZAdYba4tbQzUuPkJRAb9RBkhc6ILqU5y/tR
uc6DRg1cNiQk94SRrR95+mqVjwN5v52X+hSondnYFzCJkh+3QHgVxQnhkTYoOCQf
VOVvWZvxn7bjZHfDamxDn/IS06KilKt/ZKQodbE2+Yf0CVTqPl5eUSusRR3dxHr2
hezEaf38669w+zgzvb8MncliQpoYVp4PxUNEjRNUW227qsvSDMqRLa8S7w+TdCzg
BJyfiFWynEEFOieN8CNURP9Wga1JUpw+KS+ro3jmlbCp11FEOEnlAtpzT75wrOlB
+fyYFJyurPOyY6Q5IdLoK1KFNGzTL4He7MqaM38CL3D/SaUZOEzgUlbyO2MQorpB
21egBjw9ThDXdG/Eg6wa
=pbf9
-----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

Now that you have imported Riseup’s public key, you can verify that the fingerprints listed on this page are really from riseup.net.

  1. Download the signed certificate fingerprint statement:
    wget riseup.net/certificates/riseup-signed-certificate-fingerprints.txt
  2. Then run this command in a terminal:
    gpg --verify riseup-signed-certificate-fingerprints.txt
  3. You should get output that says:

gpg: Good signature from “Riseup Networks <collective@riseup.net>”

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.