These instructions serve only as a supplement to the official DFN documentation and may contain minor additions to it.
You can find the latest instructions at https://doku.tid.dfn.de/en:eduroam:easyroam.
For the official installation of the app, the cross-distribution package manager Snap must already be installed and configured! This is already the case on Ubuntu. Instructions for other distributions can be found at https://snapcraft.io/docs/installing-snapd.
Alternatively, there is an unofficial community repack of the app as Flatpak. Flatpak is more widely used among non-Ubuntu distributions and is easier and faster to install. https://flathub.org/setup
We have tested Flatpak and, as of January 2025, can recommend it for non-Ubuntu distributions, but only Snap is officially supported by the DFN!


The TH Aschaffenburg does provide a script that extracts all data from the certificate and feeds it to the Network Manager:
https://helpdesk.th-ab.de/help/en-us/6-configure-eduroam-easyroam/9-easyroam-linux-ubuntu-english
This script automates the steps explained below as manual setup. If something does not work, please switch to the completely manual method.

openssl pkcs12 -legacy -in easyroam.p12 -nokeys -passin pass: -out easyroam_client_cert.pem
openssl pkcs12 -legacy -in easyroam.p12 -cacerts -nokeys -passin pass: -out easyroam_root_ca.pem
openssl pkcs12 -legacy -in easyroam.p12 -nocerts -passin pass: -out easyroam_client_key.pem
openssl x509 -noout -subject -in easyroam_client_cert.pem | sed -e 's/.*=//' -e 's/\s*//'

For advanced users - Only use these methods if nothing else has worked, or if you know exactly what you are doing!
Here you will find a collection of configuration templates for non-standard network managers. However, we recommend using a desktop environment with NetworkManager and wpa_supplicant.
These examples assume that the extracted files have been moved to /etc/easyroam/. Adjust the configuration files to your setup.
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="eduroam"
scan_ssid=1
key_mgmt=WPA-EAP
proto=WPA2
eap=TLS
pairwise=CCMP
group=CCMP
identity="Common-Name"
ca_cert="/etc/easyroam/easyroam_root_ca.pem"
client_cert="/etc/easyroam/easyroam_client_cert.pem"
private_key="/etc/easyroam/easyroam_client_key.pem"
private_key_passwd="Key-Passwort"
}
/var/lib/connman/eduroam.config [service_eduroam] Type = wifi Name = eduroam EAP = tls Identity = Common-Name ClientCertFile = /etc/easyroam/easyroam_client_cert.pem PrivateKeyFile = /etc/easyroam/easyroam_client_key.pem PrivateKeyPassphrase = Key-Passwort
/var/lib/iwd/eduroam.8021x [Security] EAP-Method=TLS EAP-Identity=Common-Name EAP-TLS-ClientCert=/etc/easyroam/easyroam_client_cert.pem EAP-TLS-ClientKey=/etc/easyroam/easyroam_client_key.pem EAP-TLS-ClientKeyPassphrase=Key-Passwort