Easyroam auf Linux einrichten

Die Nutzung von easyroam ist selbstverständlich auch auf Linux Derivaten möglich. Leider gibt es keine allgemein gültige Anleitung. Im folgenden wird beschrieben wie die einzelnen Komponenten, die bei einer manuellen Konfiguration von easyroam auf Linux Geräten benötigt werden, aus dem easyroam Portal gewonnen werden können:

1. Sicherstellen, dass eine Internetverbindung besteht, LAN oder WLAN.

2. Anmeldung am easyroam Portal wählen Sie als IdP Ostbayerische Technische Hochschule Amberg-Weiden und melden sie sich mit Ihrem OTH-AW Account an : https:www.easyroam.de.

3. Direkt nach der erfolgreichen Anmeldung am Portal auf „Manuelle Optionen“ klicken und PKCS12 mit Klick auf die Auswahlbox auswählen.

4. Den Profil Namen angeben und auf Zugang generieren klicken.

Bitte beachten! Der Name des Profils ist nicht der Name der PKCS12 Datei. Der Name des Profils wird für die interne Verwaltung der easyroam Profile verwendet. Der Name der heruntergeladenen PKCS12 Datei wird gebildet aus dem Datum und der Uhrzeit der Erzeugung der PKCS12 Datei mit dem Suffix .p12.

5. Um die einzelnen Komponenten wie das Client Zertifikat, der Private Key und das RootCA Zertifikat zu extrahieren wird der CLI von openssl verwendet:

Bitte beachten, dass Import Password der .p12 - Datei ist leer. Bei der Verwendung von openssl auf die Formulierung achten: Enter Import Password mit <Return> quittieren.
Client Zertifikat:
openssl pkcs12 -in my_easyroam_cert.p12 -legacy -nokeys > easyroam_client_cert.pem
Bitte beachten, die Option -legacy muss hier und im folgenden eventuel weggelassen werden. Leider ist die Verwendung der Option OpenSSL versionsabhängig.
Private Key:
Bitte beachten, da die diversen Network Manager und der wpa_supplicant in der Regel nur passwortgeschützte Private Keys akzeptieren, muss bei der Extrahierung ein Passwort gesetzt werden. Bei folgendem Komando erscheint zunächst Enter Import Password, also mit <Return> quittieren, dann erscheint Enter PEM pass phrase: Hier gibt man ein neues Password ein und merkt es sich!
openssl pkcs12 -legacy -in my_easyroam_cert.p12 -nodes -nocerts | openssl rsa -aes256 -out easyroam_client_key.pem
RootCA Zertifikat:
openssl pkcs12 -in my_easyroam_cert.p12 -cacerts > easyroam_root_ca.pem
Die .p12 auf einem Blick:
openssl pkcs12 -info -in my_easyroam_cert.p12 -legacy -nodes
Mit Copy/Paste können die Zertifikats-Dateien auch zusammengebaut werden. Zu beachten ist, dass noch der Private Key mit einem Passwort versehen werden muss.
6. Es finden sich in der Tat Anleitungen im Netz, um EAP-TLS auf diversen Network Managern aus den angegebenen Komponenten zu konfigurieren. Exemplarisch wird anhand des CLI netctl auf Archlinux gezeigt wie EAP-TLS und damit easyroam/eduroam auf einem Linux Gerät konfiguriert werden kann. Folgendes wird vorausgesetzt:
  • netctl
  • wpa_spplicant
  • easyroam .p12 Pseudozertifikat

Die in Schritt 5. generierten Dateien (easyroam_client_cert.pem, easyroam_client_key.pem, easyroam_root_ca.pem) unter /etc/netctl/cert ablegen und anschließend ein File mit dem Namen easyroam erzeugen, dort wird folgendes hineingeschrieben und gespeichert:

description='easyroam connection'
Interface=wlan0
Connection=wireless
Security='wpa-configsection'
IP='dhcp'
WPAConfigSection=(
    'ssid="eduroam"'
    'key_mgmt=WPA-EAP'
    'eap=TLS'
    'proto=WPA RSN'
    'identity="76673789883214453797@easyroam.realm_der_einrichtung.tld"'   # Hier muss der CN (Common Name) aus dem easyroam Pseudozertifikat stehen!
    'client_cert="/etc/netctl/cert/easyroam_client_cert.pem"'
    'private_key="/etc/netctl/cert/easyroam_client_key.pem"'
    'private_key_passwd="FORYOUREYSEONLY"'
    'ca_cert="/etc/netctl/cert/easyroam_root_ca.pem"'
    'ca_cert2="/etc/netctl/cert/easyroam_root_ca.pem"'
) 

Mit Root Rechten wird folgendes Kommando aufgerufen:

netctl start easyroam 

Soll permanent easyroam instaliert werden, so wird folgendes Komando aufgerufen:

netctl enable easyroam