Etoken unter Linux initialisieren

Die folgenden Schritte sind notwendig um einen Alladin-Etoken unter Linux zu initialisieren. Ein gültiger Private-Key und ein gültiges Zertifikat müssen in Form von .pem-Dateien vorliegen. Es ist zu beachten, daß der Etoken mit dieser Initialisierung nur unter Linux funktioniert, die durch diesen Prozess erstellte Struktur kann nicht von den Tools unter Windows verwendet werden.

Es ist ratsam, den Private Key nach dem Aufspielen des Etokens zu löschen oder zumindest sehr sicher aufzubewahren.
# löschen und initialisieren der Karte
pkcs15-init -EC –no-so-pin -T -l “mfrankl”

Hier ist nur die User-Pin einzugeben

# Passwoerter setzen
pkcs15-init -P -T -l “mfrankls pin” –auth-id 01

# Private Key importieren
pkcs15-init -S mfrankl-key.pem –auth-id 01

# Zertifikat importieren
pkcs15-init -X mfrankl-cert.pem –auth-id 01

  • Both comments and trackbacks are currently closed.
  • Trackback URI: http://www.frankl.info/wordpress/know-how/linux/etoken-unter-linux-initialisieren/trackback/
  • Comments RSS 2.0

3 Responses to “Etoken unter Linux initialisieren”

  1. Tobi Says:

    Nur ein paar Anmwerkungen dazu:

    - Bei “Private Key importieren” fehlt noch die Option “–split-key”

    - Wenn die Angaben kopiert werden, muss jeweils der langen Strich durch zwei “-” ersetzt werden. Wird warscheinlich von Wordpress so “übersetzt”.

    -Der pcscd Deamon muss gestoppt werden, damit es läuft

    -in der /etc/opensc/opensc.conf muss die Zeile
    reader_drivers = openct, pcsc, ctapi;
    ggf. durch
    reader_drivers = openct, ctapi;
    ersetzt werden

    -Vor den obigen Befehlen muss folgendes getan werden:
    sudo openct-control init
    sudo openct-control status (Hier sollte der Token aufgelistet werden)
    eval `ssh-agent`
    ssh-add -s0 (0 ggf durch den entsprechenden Slot ersetzen)

  2. Tobi Says:

    Was noch fehlt: für openct gibt es eine eigene Benutzergruppe. Wenn man als Benutzer “openct-control status” nicht ausführen darf, muss man sich noch in der entsprechenden Gruppe eintragen. Der Gruppenname ist am Verz. /var/run/openct/ zu sehen.

    Der “Fehler” mit dem pcscd-Treiber für Openct ist hier beschrieben:
    http://www.opensc-project.org/faq.html

    Eine weitere Beschreibung für die eToken-Einrichtung gibt es hier:
    http://www.acodedb.com/73/how-to-use-an-aladdin-etoken-pro-with-opensc-openct-and-openssh-portable/

  3. Tobi Says:

    Ach ja: auf der “Gegenseite” muss im Userverzeichniss unter ~/.ssh/authorized_keys der Schlüssel abgelegt werden, der mit

    ssh-keygen -D0

    ausgelesen werden kann.

    Die Schlüsselkonvertierung geht folgendermassen:

    openssl pkcs12 -export -in infile.pem -out outfile.p12

    Zertifikat konvertieren pem -> p12 (cert+private key):
    openssl pkcs12 -export -in imapd.pem -out testcert.p12

    Private Key aus pkcs12 Zertifikat extrahieren:
    openssl pkcs12 -in smedia.p12 -nocerts -out smedia-key.pem

    User Zertifikat und CA extrahieren:
    openssl pkcs12 -in smedia.p12 -nokeys -out smedia-user-cert.pem

    Zertifikat (DER oder CRT Format) anschauen:
    openssl x509 -noout -text -in fb06.crt -inform der

    Zertifikat (DER oder CRT) nach PEM umwandeln:
    openssl x509 -out fb06.pem -outform pem -in fb06.crt -inform der

    Das “starten” der Tokenunterstützung geht so:

    [sudo] openct-control init
    openct-control status (sollte den Token anzeigen)
    eval `ssh-agent`
    ssh-add -s0