# POSTIDENT mit Personalausweis / AusweisApp2 / Open eCard

## mike155

Ich soll mich bei einem Dienstleister über POSTIDENT identifizieren.

Früher bin ich dann zur nächsten Postfiliale gegangen, habe meinen Ausweis vorgezeigt und ein Formular unterschrieben.

Diesmal habe ich einen Link zur Post bekommen und siehe da: es geht jetzt auch bequem von zu Hause aus mit dem deutschen Personalausweis  :Smile: 

POSTIDENT mit dem deutschen Personalausweis kann man folgendermaßen nutzen:

mit Android-Smartphone und POSTIDENT App 

auf einem PC mit Ausweis-Programm und Kartenlese-Gerät

Ich möchte das letztere Verfahren verwenden, also Linux-PC mit Ausweis-Programm und Kartenlese-Gerät. Zu meiner großen Freude soll es zwei Ausweis-Programme geben, die Open Source sind und auch unter Linux laufen:

AusweisApp2

Open eCard

Jetzt meine Fragen:

Hat jemand von Euch schon mal diese Ausweis-Programme benutzt? Funktionieren sie? Gibt es etwas zu beachten?

Gibt es vielleicht schon einen ebuild für die AusweisApp2? Oder für Open eCard?

Links:

https://www.deutschepost.de/de/p/postident.html

https://www.ausweisapp.bund.de/

https://www.ausweisapp.bund.de/download/quelltext-open-source/

https://github.com/Governikus/AusweisApp2

https://www.openecard.org/startseite/

https://github.com/ecsec/open-ecard

https://linux-blog.anracom.com/2016/04/29/npa-eid-und-open-ecard-unter-linux-opensuse/

Hinweis: Im Titel dieses Threads und in den meisten Posts ist von "POSTIDENT" die Rede. Mit dem Personalausweis ist aber noch viel mehr möglich! Eine Liste der nutzbaren Dienste findet man hier: https://www.ausweisapp.bund.de/online-ausweisen/anbieter/Last edited by mike155 on Sat Dec 07, 2019 5:54 pm; edited 5 times in total

----------

## Max Steel

Es gibt eine vom Staat für Ausweiße genehmigtes Programm die als OSS und für Linux freigegeben wurde? oO

Ich dachte mit Limux wären alle Anstrengungen in der Richtung einfach gestorben...

----------

## Christian99

Interessant, wusste ich auch nicht, dass es das als OpenSource gibt.

Vielleicht besteht ja doch noch Hoffnung  :Smile: 

----------

## mike155

Da ich heute wenig Zeit hatte, habe ich das Postident-Verfahren mit Kartenlese-Gerät und Personalausweis erst einmal auf meinem Mac durchgeführt. Das lief völlig problemlos und auf Anhieb! Da es unter Linux ganz ähnlich funktionieren sollte, beschreibe ich, was ich getan habe. Mein Ziel ist, Postident auch unter Linux zum Laufen zu bekommen.

Auf dem Mac:

Kartenlese-Gerät "Reiner SCT cyberJack RFID komfort" an einen USB Port angeschlossen

macOS Treiber für Kartenleser von Reiner SCT Homepage heruntergeladen und installiert

AusweisApp2 1.8.2 für macOS heruntergeladen und installiert

AusweisApp2 gestartet. Personalausweis in Kartenlese-Gerät eingelegt. In AusweisApp2 getestet, dass Personalausweis erkannt wird. 

Da es der erste Einsatz meines Personalausweises war, habe ich die 5-stellige Transport-PIN (erhält man zusammen mit dem Personalausweis) durch eine neue, 6-stellige PIN ersetzt. Dieser Vorgang wird über die AusweisApp2 gestartet, Transport-PIN und neue PIN gibt man auf dem Kartenlese-Gerät ein.

Hinweis: dieser Vorgang (neue PIN setzen) ist nur erforderlich, wenn man den Personalausweis das erste Mal einsetzt - oder wenn man seine PIN aus Sicherheitsgründen ändern will.

Browser gestartet und zu https://www.deutschepost.de/de/p/postident.html gesurft. Dort die Vorgangs-ID eingegeben, die ich von meiner Bank erhalten hatte

Auf dieser Web-Seite habe ich dann das Postident-Verfahren "eigener Kartenleser" ausgewählt. Daraufhin wurde ich nach 2-3 weiteren Seiten aufgefordert, auf dem Kartenlese-Gerät meine PIN einzugeben

Auf dem Kartenlese-Gerät meine PIN eingegeben

Fertig!  :Smile:  Last edited by mike155 on Sat Dec 07, 2019 2:08 am; edited 2 times in total

----------

## mike155

Heute habe ich AusweisApp2 1.8.2 auch auf meinem Gentoo Linux Rechner zum Laufen bekommen. Es hat mich allerdings einige Stunden Zeit gekostet...

Ich habe folgende Schritte durchgeführt:

Als erstes habe ich mein Kartenlese-Gerät "Reiner SCT cyberJack RFID komfort" an einen USB-Port gehängt. Als Treiber habe ich das Gentoo-Paket "dev-libs/cyberjack" installiert. Im Kernel habe ich die Option CONFIG_USB_SERIAL_CYBERJACK aktiviert.

Als ersten Test kann man "lsusb" aufrufen: es sollte das Kartenlese-Gerät anzeigen. Einen weiteren Test kann man mit "udevadm monitor" durchführen. Wenn man dann das Kartenlese-Gerät an der USB-Schnittstelle ein- und ausstöpselt, sollten jeweils ein paar Meldungen ausgegeben werden. 

Folgende Gentoo-Pakete müssen installiert sein:

dev-libs/openssl, dev-util/cmake

sys-apps/pcsc-lite, app-crypt/ccid (optional, je nach Kartenlese-Gerät), dev-libs/cyberjack (optional, je nach Kartenlese-Gerät)

dev-qt/qtcore, dev-qt/qtgui, dev-qt/qtsvg, dev-qt/qtwidgets, dev-qt/qtgraphicaleffects

dev-qt/qtdeclarative, dev-qt/qtconcurrent, dev-qt/qtquickcontrols2, dev-qt/linguist-tools

dev-qt/qtnetwork, dev-qt/qtwebsockets

Der Dienst "pcscd" muss laufen (zumindest für mein Kartenlese-Gerät). Er kann mit den üblichen OpenRC-/Systemd-Befehlen gestartet werden.

User, die das Kartenlese-Gerät nutzen sollen, sollten Mitglied der Gruppe "pcscd" werden.

Hinweis: Alle Schritte ab hier erfolgen als gewöhnlicher User, NICHT als "root".

Download von AusweisApp2: https://github.com/Governikus/AusweisApp2. Ich erhielt  die Datei: "AusweisApp2-community.zip".

Auspacken und Konfigurieren des Quellcodes:

```
cd /tmp 

unzip AusweisApp2-community.zip

cd AusweisApp2-community

mkdir build

cd build

cmake .. -DCMAKE_BUILD_TYPE="release"
```

Falls bei "cmake" Fehler auftreten sollten, müssen evtl. noch Gentoo-Pakete installiert werden.

Übersetzen des Quellcodes:

```
make
```

Wenn man mehrere CPU-Kerne hat, kann man das Kompilieren durch "make -j <Anzahl der Kerne>" beschleunigen.

Ausführen des fertigen Programms:

```
cd src

unset WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME      # Das ist möglicherweise nur bei mir notwendig

./AusweisApp2
```

Es sollte dann ein Fenster aufgehen, in dem man einen Personalausweis (vorne und hinten) und verschiedene graphische Elemente (Flaggen, Personalausweis-Logo, usw.) sieht. 

Bei diesem Schritt hatte ich anfangs Schwierigkeiten: ich habe immer Segfaults bekommen. Diese Problem konnte ich mit dem "unset" der beiden Umgebungsvariablen lösen. Dieser "unset"-Befehl ist aber möglicherweise nur bei mir notwendig.

In dem Terminal-Fenster, in dem man AusweisApp2 gestartet hat, werden Log-Meldungen ausgegeben. Man sollte sie im Auge behalten.

Als nächstes kann man in der AusweisApp2 zu "Einstellungen" -> "Kartenleser" gehen. Hier sollte der eigene Kartenleser angezeigt werden. Als Status sollte "Treiber installiert" angezeigt werden. 

Das hat bei mir anfangs nicht funktioniert. Erstens lädt das Programm - zumindest das erste Mal, wenn es ein neues Kartenlese-Gerät entdeckt - Dateien aus dem Internet nach, was bei mir wegen einer Firewall nicht funktioniert hat. Zweitens war mir anfangs nicht klar, dass der "pcscd" Daemon laufen muss. Drittens erkennt AusweisApp2 meine Kartenlese-Gerät manchmal nicht, wenn es beim Programmstart schon angeschlossen ist. Hier hilft Ziehen und Wiedereinstecken des USB-Steckers.

Wenn das Kartenlese-Gerät erkannt und der Treiber als "installiert" angezeigt wird, kann man das Programm verwenden. Sofern man seine Transport-PIN noch nicht durch eine eigene PIN ersetzt hat, sollte man dies tun: "Einstellung" -> "PIN-Verwaltung".

Mit "netstat -l" kann man sehen, dass AusweisApp2 einen TCP port auf localhost:24727 und einen UDP port auf 0.0.0.0:24727 geöffnet hat. Wenn man nun mit seinem Browser zu der Postident Seite surft und dort den Postident-Vorgang über ein eigenes Kartenlese-Gerät auswählt, kann der Postident-Service über Browser, die offenen Ports der AusweisApp2 und den Kartenlese-Gerät-Treiber mit dem Kartenlese-Gerät kommunizieren. Ich habe es noch nicht getestet, da ich meinen Postident-Vorgang bereits mit meinem Mac durchgeführt habe. Beim nächsten Postident-Vorgang werden ich es jedoch unter Linux probieren.

Das Nachladen von Dateien durch die AusweisApp2 irritiert mich. Das kann man durchaus als "nach Hause telefonieren" bezeichnen. Es mag sein, dass das heute "jeder" so macht (insbesondere auf den Smartphones). Aber das stört mich. Und im Bereich "Security" - und darum geht es hier ja - stört es mich ganz besonders!Last edited by mike155 on Sat Dec 07, 2019 5:57 pm; edited 1 time in total

----------

## mike155

Ein neuer Tag, ein neues Programm. Heute habe ich Open eCard 1.4.0-rc5 getestet. Die README-Datei klingt vielversprechend: "industrial as well as academic experts have decided to work together on providing an open source and cross platform implementation of the eCard-API-Framework (BSI-TR-03112), through which arbitrary applications can utilize authentication and signatures with arbitrary chip cards".

Ich habe folgende Schritte durchgeführt:

Installation des Kartenlese-Geräts. Siehe: Schritt 1 des vorherigen Posts.

Folgende Gentoo-Pakete müssen installiert sein:

dev-java/maven-bin

Ein Java JDK Version 12 oder höher. Letztendlich funktioniert es auch mit dev-java/openjdk-bin-11.0.5_p10. Aber mit dem zurzeit unter Gentoo als "stable" markierten JDK Version 1.8 kann man das Programm nicht übersetzen.

Der Dienst "pcscd" muss laufen (zumindest für mein Kartenlese-Gerät). Er kann mit den üblichen OpenRC-/Systemd-Befehlen gestartet werden.

User, die das Kartenlese-Gerät nutzen sollen, sollten Mitglied der Gruppe "pcscd" werden.

Hinweis: Alle Schritte ab hier erfolgen als gewöhnlicher User, NICHT als "root".

Da ich OpenJDK Version 11.0.5 verwende - und diese Version nicht von eselect unterstützt wird - müssen ab hier folgende Umgebungsvariablen in der Shell gesetzt werden:

```
export JAVAC="/opt/openjdk-bin-11.0.5_p10/bin/javac"

export JAVA_HOME="/opt/openjdk-bin-11.0.5_p10"

export JDK_HOME="/opt/openjdk-bin-11.0.5_p10"
```

Die Pfade zum JDK 11 bzw. 12 oder 13 müssen natürlich ggf. angepasst werden.

Download von Open eCard: https://github.com/ecsec/open-ecard. Ich erhielt die Datei: "open-ecard-master.zip".

Auspacken des Quellcodes:

```
cd /tmp

unzip open-ecard-master.zip

cd open-ecard-master

```

Ab hier wird das Build-Tool "Maven" verwendet. Zuerst sollte man

```
mvn clean
```

ausführen. Dabei werden die Voraussetzungen geprüft und fehlende Java-Pakete aus dem Internet nachgeladen.

Falls man eine JDK Version < 12 verwendet, wird es einen Fehler geben: "Detected JDK Version: 11.0.5 is not in the allowed range [12,).". Dieses Problem kann man lösen, indem man in der Datei "pom.xml" den Parameter "min.jkd.version" auf einen kleineren Wert setzt. Da ich dev-java/openjdk-bin-11.0.5_p10 verwende, habe ich ihn auf 11 gesetzt. Danach sollte man "mvn clean" erneut ausführen.

Übersetzen des Quellcodes:

```
mvn package
```

Starten des Programms:

```
./packager/richclient-packager/target/open-ecard/bin/open-ecard
```

Kurzzeitig sollte ein Fenster mit dem Personalausweis-Symbol erscheinen. Danach wird das "Haupt-Fenster" angezeigt. In dem Haupt-Fenster wird der Status des Kartenlese-Geräts angezeigt. Hier sollte das eigene Kartenlese-Gerät angezeigt werden.

Falls das Kartenlese-Gerät nicht angezeigt werden sollte: läuft der "pcscd" Daemon? Manchmal wird mein Kartenlese-Gerät nicht erkannt, wenn es beim Programmstart schon eingesteckt war. Hier hilft Ziehen und Wiedereinstecken des USB-Steckers. 

Wenn das Kartenlese-Gerät angezeigt wird, kann man das Programm verwenden. Sofern man seine Transport-PIN noch nicht durch eine eigene PIN ersetzt hat, sollte man dies tun: "Konfiguration" -> "PIN-Verwaltung" - "PIN-Verwaltung öffnen".

Mit "netstat -l" sieht man, dass Open eCard einen TCP port auf localhost:24727 geöffnet hat. Damit ist das System bereit für das Postident-Verfahren. Wie das funktioniert, habe ich unter dem gleichen Punkt im vorigen Post kurz beschrieben.

Um Open eCard zu installieren, habe ich als "root" ein Verzeichnis angelegt und die Dateien dorthin kopiert:

```
mkdir /opt/open-ecard-master

cp -rp /tmp/open-ecard-master/packager/richclient-packager/target/open-ecard/* /opt/open-ecard-master/

chown -R root:pcscd /opt/open-ecard-master

chmod -R og-w /opt/open-ecard-master
```

Ab diesem Zeitpunkt können alle Anwender, die Mitglied der Gruppe "pcscd" sind, Open eCard aufrufen mit:

```
/opt/open-ecard-master/bin/open-ecard
```

Interessanterweise ist JDK 11 oder 12 jetzt nicht mehr erforderlich! Das Programm läuft auch mit dem "stable" Java 1.8. Man braucht JDK 11 oder 12 also offenbar nur zum Kompilieren.

Hinweis: die beschriebene Installation nach "/opt/open-ecard-master" ist nicht ganz sauber. Hier sollten natürlich noch Dateiberechtigungen überprüft und ggf. angepasst werden. Mit ging es nur darum zu überprüfen, ob es überhaupt geht! Eine "richtige" Installation sollte evtl. auch über das entsprechende Java/Maven Tools erfolgen - hier kenne ich mich aber nicht aus.

----------

## mike155

Fazit: mit AusweisApp2 und und Open eCard gibt es gleich 2 Software-Lösungen, die unter Gentoo Linux laufen. Welche die bessere ist, hängt von persönlichen Vorlieben ab. Ich persönlich werde wohl vorerst bei Open eCard bleiben.

Neu-Einsteigern, die noch kein Kartenlese-Gerät haben, würde ich allerdings raten, Postident nicht auf ihrem PC, sondern mit ihrem iOS oder Android Smartphone zu nutzen. In vielen Smartphones ist bereits ein NFC Kartenlese-Gerät eingebaut, das mit dem Personalausweis kommunizieren kann (Liste der unterstützten Geräte). Vor allem aber ist die Installation des Ausweis-Programms aus dem iOS- oder Android-Store sehr viel einfacher (und schneller), als unter Gentoo Linux.

----------

## mike155

Es gibt schlechte Neuigkeiten in meinem POSTIDENT-Fall! Letzte Woche habe ich bei einer Online-Bank ein neues Konto beantragt und dann über Postident online mit Kartenlese-Gerät meine Identifikation durchgeführt. Laut Postident Seite war die Identifikation erfolgreich.

Die Bank kann aber mein Konto nicht eröffnen, weil die Identifikationsdaten von der Deutschen Post nicht übermittelt wurden (sagt die Bank).

Ich habe dann bei der Deutschen Post angerufen und sie gebeten, mir den Status des Vorgangs zu sagen bzw. zu überprüfen, warum die Daten nicht an die Bank weitergegeben wurden. Die Deutsche Post sagte mir, dass man den Status des Vorgangs nicht überprüfen könne und dass man mir keine Auskünfte erteilen könne, weil ich nicht der Vertragspartner sei.   :Sad: 

Jetzt bin ich richtig sauer! So also funktioniert IT in Deutschland im Jahr 2019!

Die Bank will mir jetzt ganz klassisch ein Formular zusenden, mit dem ich mich persönlich mit meinem Personalausweis bei der nächsten Postfiliale identifizieren kann.

----------

## ChrisJumper

Oh das ist ist interessant, danke für die Mühe mike155 und den Test!

Blöd das es bei der Bank nicht klappte. Vielleicht findest du ja noch andere Dienste bei denen du das Testen könntest.

Ich würde persönlich immer dem Post-Ident-Verfahren in Papierform begrüßen, einfach weil dann wahrscheinlich auch keine Programmcode auf den Geräten notwendig ist, quasi App-Sparsamkeit. Man könnte das natürlich auch in einer VM machen, aber meine Erfahrung ist dann, das es sehr oft noch langsamer läuft oder Fehleranfälliger ist.

Die Open-Source Version für die Smartphones würde ich wohl nur per f-droid oder g-droid installieren wollen, wenn man sowohl den Sourcecode zur Verfügung hat und ihn auch selber kompilieren kann.

Ärgere dich nicht zu sehr über die Deutsche Post, wenn da jemand anruft müssen die halt vorsichtig sein und sich verschlossen geben. Eben weil es am Telefon keine Identitätsprüfung gab als auch in der Regel keine zweifelsfreie Bestätigung ob der Anrufer, wirklich der Anrufer ist. Aus dem Grund hatte 1 und 1 doch Probleme und die wollen jetzt eine PIN für die Kundenkonten etablieren.

Mittelfristig läuft das dann auf Anwendungen für das Smartphone und 2FA hinaus....

Persönlich finde ich das Erscheinen in der Postfiliale, die Prüfung des Ausweises immer noch am besten. Diverse Prepayed Anbieter machen das per Browser im Smartphone oder vor der PC-Webcam. Wo man dann seinen Personalausweis neben seinen Kopf hält und in die Kamera lächelt.

Doch wenn man es so macht, kann man es eigentlich auch gleich lassen, weil sowohl der Mitgeschnittene und wahrscheinlich beim Provider hinterlegte Video-Mitschnitt, könnte bei dritten als getäuschte Authentifizierung verwendet werden als auch im Zeitalter von Neuronalen Netzen die sowohl Videos verschmelzen als auch Stimmen entsprechend nachmachen können, kann man diesen Quellen meiner Meinung nach nicht mehr trauen.

----------

## mike155

ChrisJumper, danke für Deine freundlichen Worte! 

Mittlerweile habe ich mich wieder beruhigt. Die Post kann wahrscheinlich wirklich nichts dafür. Ich habe fast ein schlechtes Gewissen, weil ich gegenüber der Post-Mitarbeiterin am Telefon meinen Unmut deutlich geäußert habe.

Du hast natürlich Recht. Ich werde Postident ab sofort wieder in der Postfiliale durchführen. Das hat bisher immer gut funktioniert - und es kommt ja auch nicht häufiger als 1-2 Mal im Jahr vor.

----------

## Misery

 *Quote:*   

> 
> 
> Das Nachladen von Dateien durch die AusweisApp2 irritiert mich. Das kann man durchaus als "nach Hause telefonieren" bezeichnen. Es mag sein, dass das heute "jeder" so macht (insbesondere auf den Smartphones). Aber das stört mich. Und im Bereich "Security" - und darum geht es hier ja - stört es mich ganz besonders!

 

Da werden nur die Bilder von den Dienstanbietern nachgeladen oder nach Updates geprüft. Die werden dynamisch nachgeladen weil die sich eben öfters mal ändern. Außerdem will man ja auch nicht 100 MB Bilder runterladen, die dann die wenigsten ansehen.

 *Quote:*   

> 
> 
> Heute habe ich AusweisApp2 1.8.2 auch auf meinem Gentoo Linux Rechner zum Laufen bekommen. Es hat mich allerdings einige Stunden Zeit gekostet... 
> 
> 

 

Schon mal ein ebuild gemacht? Wäre schön wenn die AusweisApp2 direkt in Gentoo reinkommen kann.

Debian hat da sehr gute Patches für: https://packages.debian.org/sid/ausweisapp2

----------

## charles17

 *Misery wrote:*   

>  *Quote:*   
> 
> Heute habe ich AusweisApp2 1.8.2 auch auf meinem Gentoo Linux Rechner zum Laufen bekommen. Es hat mich allerdings einige Stunden Zeit gekostet... 
> 
>  
> ...

 

Siehe sys-auth/AusweisApp2.

----------

## ConiKost

 *charles17 wrote:*   

>  *Misery wrote:*    *Quote:*   
> 
> Heute habe ich AusweisApp2 1.8.2 auch auf meinem Gentoo Linux Rechner zum Laufen bekommen. Es hat mich allerdings einige Stunden Zeit gekostet... 
> 
>  
> ...

 

Kann ich nur bestätigen  :Smile:  Lüppt hier, habe diverse Dienste ausprobiert mit dem NPA.

----------

