AusweisApp2 als Snap #2 (Update 06.04.19)

Nach Wochen der Bastelei habe ich es endlich geschafft ein Snap-Paket für die AusweisApp2 zu bauen, welches auch mit dem Confinement funktioniert. Die einzige Einschränkung, die aktuell noch existiert, ist das man nach der Installation einmalig die benötigten Interfaces des Snap-Pakets „connecten“ muss. Danach funktioniert die Anwendung ohne weitere Einschränkungen:

sudo snap install ausweisapp2-ce
sudo snap connect ausweisapp2-ce:raw-usb :raw-usb
sudo snap connect ausweisapp2-ce:hardware-observe :hardware-observe
sudo snap connect ausweisapp2-ce:network-manager :network-manager
sudo snap connect ausweisapp2-ce:network-observe :network-observe
sudo systemctl restart snap.ausweisapp2-ce.pcscd.service

Letzterer Befehl ist notwendig, damit der Card-Daemon noch vor dem ersten Start der Anwendung die passenden Rechte besitzt.

Ich habe im Snap-Store einen Request zum Auto-Connecten gestellt. Falls dieser genehmigt wird, kann man die Anwendung auch ohne explizites „connecten“ installieren.

Update

Ich habe gestern (05.04.19) die Freigabe des Stores für das automatische „connecten“ der benötigten Interfaces erhalten. Es reicht jetzt also aus das Snap zu installieren. Es sind keine weiteren Schritte notwendig.

24 Antworten auf „AusweisApp2 als Snap #2 (Update 06.04.19)“

  1. Hallo,
    wollte das mal ausprobieren. Leider startet die App bei mir nicht:
    # ausweisapp2-ce
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    qt.qpa.xcb: could not connect to display :0
    qt.qpa.plugin: Could not load the Qt platform plugin „xcb“ in „“ even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

    Aborted (core dumped)

        1. Hi,
          ich hatte die ausweisapp2-ce als einziges snap Paket installiert und dann immer diesen Fehler erhalten.
          Nun hab ich einfach mal noch „firefox“ als snap installiert und dann funktioniert die ausweisapp2-ce auch ohne Fehler.
          Ich vermute da fehlt irgendeine Abhängigkeit in dem Paket… Kenne mich aber mit snap nicht aus.

          1. Ich denke mal das die „core18“-Runtime gefehlt hat. Normalerweise sollte die automatisch installiert werden. Ich muss mal nachschauen ob ich diese noch irgendwo beim Bauen des Snaps definieren muss.

  2. Leider tritt bei mir auch das gleiche Problem wie bei Sebastian auf ;-(

    Hier die Ein- und Ausgaben der Konsole;

    ubuntu@ubuntu:~$ uname -a
    Linux ubuntu 4.18.0-15-generic #16~18.04.1-Ubuntu SMP Thu Feb 7 14:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

    ubuntu@ubuntu:~$ sudo snap list
    Name Version Rev Aufzeichnung Herausgeber Hinweise
    ausweisapp2-ce 1.16.1 9 stable glasen –
    core 16-2.37.1 6350 stable canonical✓ core
    core18 18 782 stable canonical✓ base
    gnome-3-26-1604 3.26.0 74 stable/… canonical✓ –
    gnome-calculator 3.30.1 260 stable/… canonical✓ –
    gnome-characters 3.30.0 139 stable/… canonical✓ –
    gnome-logs 3.30.0 45 stable/… canonical✓ –
    gnome-system-monitor 3.30.0 57 stable/… canonical✓ –
    gtk-common-themes 0.1-4-g88bc1b2 818 stable/… canonical✓ –
    ubuntu@ubuntu:~$ ausweisapp2-ce
    snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks
    ubuntu@ubuntu:~$ sudo snap connect ausweisapp2-ce:raw-usb :raw-usb
    ubuntu@ubuntu:~$ sudo snap connect ausweisapp2-ce:hardware-observe :hardware-observe
    ubuntu@ubuntu:~$ sudo snap connect ausweisapp2-ce:network-manager :network-manager
    ubuntu@ubuntu:~$ sudo snap connect ausweisapp2-ce:network-observe :network-observe
    ubuntu@ubuntu:~$ sudo systemctl restart snap.ausweisapp2-ce.pcscd.service
    ubuntu@ubuntu:~$ ausweisapp2-ce
    snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks
    ubuntu@ubuntu:~$ sudo ausweisapp2-ce
    mkdir: cannot create directory ‚/run/user/0‘: Permission denied
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    realpath: “: No such file or directory
    No protocol specified
    qt.qpa.xcb: could not connect to display :0
    qt.qpa.plugin: Could not load the Qt platform plugin „xcb“ in „“ even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

    Abgebrochen

      1. Hallo glassen77,

        vielen Dank für die schnelle Antwort und vor allem für die Bemühungen mit der AusweisApp2 für Linux. Ich möchte sehr gern auf das Ausborgen des ReinerSCTs verzichten und mein Tablet mit RFID via Linux fernsteuern. Denn mit Android oder Windows möchte ich nicht online gehen.

        Das mit dem Firefox wie Sebastian habe ich natürlich gelesen schon probiert, aber bei mir leider ohne Erfolg.

        Grüße!

        1. Probiere mal folgendes:

          sudo apt purge snap-confine snapd && sudo apt install snapd
          sudo systemctl status apparmor

          Falls „AppArmor“ deaktiviert sein sollte:

          sudo systemctl enable apparmor

          1. Hallo glasen77,

            ich habe mich inzwischen etwas in das Thema apparmor eingelesen, da bei mir selbst in einer „jungfräulichen“ Testumgebung/Livesystem 18.04 „apparmor“ nicht sauber läuft. (systemctl status apparmor liefert Fehler) Das scheint die Ursache für die Probleme mit den snap-Paket zu sein.
            Sobald ich das hinbekomme, teste ich weiter das ausweisapp2-snap Paket.

  3. Grummel…

    seit dem Update auf die letzte Version 1.16.1 geht nix mehr mit ausweisap2-ce 🙁
    egal wie ich konfiguriere, „Treiber wird nicht erkannt“.
    Habe das ganze Snap-Gedöns restlos deinstalliert und dann frisch installiert, core, core18, ausweisapp2-ce >exakt< nach Anleitung – nix…
    Alle Möglichkeiten lt. Anleitungen habe ich durch – nothing…

    Die open-ecard-app 1.3.0 rennt dagegen klaglos.

    Mir gefällt die ausweisapp2-ce zwar besser, aber wenn ich das Geraffel nicht zum laufen bekomme…
    Ich stelle mich gerne für's Debugging zur Verfügung, einen Ablaufplan arbeite ich gerne ab.

    64bit, Ubuntu 18.04.1 LTS, Kernel 5.0.4

  4. Hallo,
    ich habe den selben Kartenleser wie Norbert (erster Post). Der Leser wird in der AusweisApp2 auch angezeigt, aber mit dem vermerk, dass der Treiber nicht installiert ist.
    Mit pcsc_scann wird der Leser allerdings gefunden und erkennt auch wenn ein Ausweis darauf gelegt bzw. wieder entfernt wird. Der Treiber sollte dann doch richtig installiert sein, oder?
    Muss ich beim Start der AusweisApp noch einen weiteren Parameter angeben, damit der Treiber gefunden wird?
    Viele Grüße,
    Frank

    1. Leider kannst du da nichts tun. Der Treiber müsste im CCID-Treiber-Paket vorkommen, damit AusweisApp2 damit funktioniert. Ich setze mich jetzt einfach mal daran und versuche den Treiber ins Snap zu integrieren. Ich hoffe mal, ich bekomme keinen Ärger mit dem Hersteller.

      Edit:

      Ich habe mal nachgeschaut und den Grund gefunden. Siehe:

      https://ccid.apdu.fr/ccid/disabled.html

      „Not a CCID device. Support removed on request from Reiner SCT.“

  5. Ich habe das selbe Problem wie LinuxOpa, mit open eCard wird mein Kartenleser erkannt und mit der Ausweisapp2 nicht.
    Ich nutze Ubuntu 18.04 und als Kartenleser einen Reiner CyberJack RFID Standard

  6. Hi, wirklich super Arbeit! Danke dafür.

    Verstehe ich das richtig, dass die Integration weiterer Kartenleser-Treiber ins Snap daran scheitert, dass das lizenzrechtlich nicht erlaubt wäre? Das ist natürlich ärgerlich.

    Gibt es eine andere Möglichkeit, die Treiber im Snap nutzbar zu machen?

    1. Ja, leider ist es mir nicht ohne weiteres möglich die Treiber zu integrieren. Dadurch, dass ich den Card-Daemon in das Snap-Paket integrieren musste, muss ich auch jeden zusätzlichen Treiber in das Paket packen. Bei Reiner kann ich nachfragen, bei dem Hersteller von anderen Treibern wird es schwierig, da diese sehr oft irgendwo in Asien sitzen.

  7. Hallo Danke für die Portierung des Tools ins SNAP !
    ich muss leider (apt-get remove pcscd libccid pcsc-tools) ausführen, um den im SNAP vorhandenen Treiber für den ganz einfachen Kobil IDtoken nutzen zu können.
    wenn die Pakete installiert sind, wird der Kobil-Treiber aus dem SNAP nicht gefunden. Gibt es einen Workaround? Da ich ab und an mal pcscd für einen ACS acr38 Chipkarten benötige….

  8. Hallo,

    inzwischen kann ich mit einem Ubuntu 18.04.3 LTS als Vollinstallaltion (im März mit Livesystem ging es nicht) fehlerfrei arbeiten. Vielen Dank an glassen77 dafür.
    Nun habe ich regelmäßig in den letzten 5 Monaten bei der BfA meine Daten eingesehen. Leider habe ich seit heute ein neues Problem. Möglicherweise geht es ja jemanden auch so.
    Ich nutze ein Android-Tablet (Sony Z4) als Lesegerät. Habe auch schon die „remote“-ausweisapp2 aktualisiert. Inzwischen auf 1.16.2.
    Es funktioniert die PIN-Eingabe nicht mehr. Ich komme in eine Endlosschleife und das Gerät tut so, als wenn der Ausweis nicht richtig auf dem NFC-Chip liegt. Ein anderer ePA funktioniert. Mit anderen Tablet funktioniert mein ePA auch nicht. Auch ohne snap bzw. Fernsteuerung nur lokal geht auch nicht mehr. PIN ist bekannt, PUK auch, aber ich komme ja gar nicht mehr soweit, diesen zu ändern.
    Hat jemand auch diese Erfahrung machen müssen und verlangt die Meldestelle in einem solchen Fall Gebühren für einen neuen ePA?

    Hier noch die Meldungen aus dem Terminal:

    support 2019.12.02 15:53:33.689 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:180) : Starting PACE for PACE_PIN
    card 2019.12.02 15:53:36.039 3891 C makeTransmitResult(card/base/pace/KeyAgreement.cpp:51) : Error on GA (Encrypted Nonce): Karte nicht vorhanden | EMPTY
    support 2019.12.02 15:53:36.040 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:207) : Finished PACE for PACE_PIN with result RETRY_ALLOWED
    support 2019.12.02 15:53:39.490 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: -1 , PIN deactivated: false
    support 2019.12.02 15:53:39.748 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: 3 , PIN deactivated: false
    support 2019.12.02 15:53:39.749 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:180) : Starting PACE for PACE_PIN
    card 2019.12.02 15:53:42.131 3891 C makeTransmitResult(card/base/pace/KeyAgreement.cpp:51) : Error on GA (Encrypted Nonce): Karte nicht vorhanden | EMPTY
    support 2019.12.02 15:53:42.132 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:207) : Finished PACE for PACE_PIN with result RETRY_ALLOWED
    support 2019.12.02 15:53:45.626 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: -1 , PIN deactivated: false
    support 2019.12.02 15:53:45.912 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: 3 , PIN deactivated: false
    support 2019.12.02 15:53:45.913 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:180) : Starting PACE for PACE_PIN
    card 2019.12.02 15:53:48.271 3891 C makeTransmitResult(card/base/pace/KeyAgreement.cpp:51) : Error on GA (Encrypted Nonce): Karte nicht vorhanden | EMPTY
    support 2019.12.02 15:53:48.272 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:207) : Finished PACE for PACE_PIN with result RETRY_ALLOWED
    support 2019.12.02 15:53:51.763 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: -1 , PIN deactivated: false
    support 2019.12.02 15:53:52.049 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: 3 , PIN deactivated: false
    support 2019.12.02 15:53:52.050 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:180) : Starting PACE for PACE_PIN
    card 2019.12.02 15:53:54.413 3891 C makeTransmitResult(card/base/pace/KeyAgreement.cpp:51) : Error on GA (Encrypted Nonce): Karte nicht vorhanden | EMPTY
    support 2019.12.02 15:53:54.414 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:207) : Finished PACE for PACE_PIN with result RETRY_ALLOWED
    support 2019.12.02 15:53:57.814 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: -1 , PIN deactivated: false
    support 2019.12.02 15:53:58.084 3891 I Reader::updateRetryCounter(card/base/Reader.cpp:85) : retrieved retry counter: 3 , was: 3 , PIN deactivated: false
    support 2019.12.02 15:53:58.086 3891 I …ionWorker::establishPaceChannel(card/base/CardConnectionWorker.cpp:180) : Starting PACE for PACE_PIN

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.