-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c916899
commit 3e6bc68
Showing
294 changed files
with
3,965 additions
and
927 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,56 +1,6 @@ | ||
Nutzungsbedingungen | ||
|
||
Allgemeines zur Installation | ||
|
||
Bitte lesen Sie zunächst die Allgemeinen Geschäftsbedingungen so wie die Lizenzbedingungen für die Überlassung und Nutzung der AusweisApp2 durch. Nachdem Sie zugestimmt haben, können Sie die Installation fortsetzen. | ||
|
||
|
||
Allgemeine Geschäftsbedingungen | ||
|
||
§ 1 Nutzungsbedingungen und Datenschutzhinweis | ||
(1) Diese Allgemeine Geschäftsbedingungen (AGB) des Bundes, vertreten durch das Bundesministerium des Innern (nachfolgend "Bund") und dem Nutzer gelten für die Überlassung und Nutzung der Software AusweisApp2 (nachfolgend AusweisApp2) und deren neue Versionen, die auf der Grundlage dieser Bedingungen überlassen werden. | ||
(2) "Nutzer" im Sinne dieses Vertrages sind natürliche Personen. | ||
|
||
§ 2 Vertragsgegenstand und Unentgeltlichkeit | ||
(1) Die AusweisApp2 wird regelmäßig hinsichtlich ihrer Konformität zu den Technischen Richtlinien des Bundesamtes für Sicherheit in der Informationstechnik [TR-03124-2] zertifiziert sowie hinsichtlich ihrer Nutzerfreundlichkeit [EN ISO 9241 Teil 110 Ergonomie Mensch-System-Integration zur Prüfung der Benutzbarkeit und Funktionalität und Trusted Design Guidelines zur Prüfung der Vertrauenswürdigkeit] und auf Barrierefreiheit [BITV 2.0] überprüft. | ||
(2) Die AusweisApp2 wird in maschinenlesbarer Form unentgeltlich überlassen. Der Quellcode der AusweisApp2 wird ebenfalls unentgeltlich veröffentlicht. Eine Auflistung der verwendeten Open Source-Bestandteile der AusweisApp2 findet sich im Anhang. | ||
(3) Die AusweisApp2 wird von der Governikus GmbH & Co. KG (Governikus) als Erfüllungsgehilfe des Bundes überlassen. | ||
|
||
§ 3 Verwendungszweck | ||
Die AusweisApp2 und alle ihre Bestandteile dienen ausschließlich dazu, im Zusammenhang mit der Nutzung der Online-Ausweisfunktion des Personalausweises bzw. des elektronischen Aufenthaltstitels und der Übermittlung der damit verbundenen Daten gemäß den gesetzlichen Vorgaben verwendet zu werden. | ||
|
||
§ 4 Pflichten und Obliegenheiten des Nutzers | ||
(1) Der Nutzer verpflichtet sich, die AusweisApp2 entsprechend des in § 3 genannten Verwendungszweckes zu nutzen. Es liegt in seinem Interesse, dass in Verbindung mit der AusweisApp2 genutzte Hard- und Software des Nutzers immer auf dem neuesten Stand der Sicherheitstechnik (System- und Firmware Update, Virenscanner, Firewall usw.) sind. | ||
(2) Es liegt im eigenen Interesse des Nutzers aber auch des Bundes, dass stets nur die neueste Version der AusweisApp2 (siehe § 5) verwendet wird. | ||
|
||
§ 5 Pflege und Support | ||
(1) Der Bund bietet nach eigenem Ermessen und ohne hierzu verpflichtet zu sein für Teile der AusweisApp2 zusätzliche kostenfreie Supportleistungen in Form von Dokumentationen und online Hilfen auf dem AusweisApp2-Portal im Internet unter der Adresse www.ausweisapp.bund.de an, sowie über die Hotline des Herstellers Governikus unter der E-Mail-Adresse: [email protected] und der Tel.-Nr.: +49 1805 348 743. Auch stellt er verfügbare neue Versionen der AusweisApp2 zur Verfügung. Hieraus erwächst jedoch kein zusätzlicher Anspruch auf Mängelbeseitigung, auf Zertifizierung, auf Beibehaltung der Supportleistungen oder der Hotline und auf Überlassung neuer Versionen. | ||
(2) Verfügbare neue Versionen der AusweisApp2 können im Internet kostenfrei auf dem AusweisApp2-Portal unter der Adresse www.ausweisapp.bund.de sowie über allgemein zugängliche AppStore heruntergeladen werden. | ||
(3) Eventuelle Mängel der AusweisApp2 werden grundsätzlich dadurch behoben, dass der Bund jeweils eine neue Version der AusweisApp2 zum Herunterladen zur Verfügung stellt (siehe § 5 Absatz 1). Eine Pflicht zur Bereitstellung von neuen Versionen ergibt sich daraus grundsätzlich nicht. | ||
|
||
§ 6 Hinweis auf gewerbliche und urheberrechtliche Schutzrechte | ||
Die Zeichen AusweisApp2 und die entsprechenden Grafiken sowie das Signet zur Online-Ausweisfunktion sind für den Bund als Marken geschützt. | ||
|
||
§ 7 Datenschutzhinweis | ||
(1) Mit dieser Software werden personenbezogene Daten im Sinne des § 3 Absatz 1 des Bundesdatenschutzgesetzes (BDSG) zum Zwecke der Verarbeitung grundsätzlich nicht erhoben. | ||
(2) Personenbezogene Daten aus dem Ausweischip werden ausschließlich zum Zweck des elektronischen Identitätsnachweises im Umfang der erteilten Berechtigung nach Einwilligung des Nutzers mit seiner Ausweis-PIN-Eingabe und auf dem Transportweg zwischen dem Ausweischip und dem Diensteanbieter sicher verschlüsselt und auch für Governikus nicht lesbar übertragen. | ||
(3) Neben den reinen Daten, die zur Identifizierung/ Authentisierung benötigt werden, erhebt die Software nur mit Einverständnis des Nutzers Daten über die Art und Version der Anwendungsumgebung (Betriebssystem, Lesegeräte usw.) des Nutzers. Diese Daten kann der Nutzer bei Bedarf an Governikus übermitteln, um die ordnungsgemäße Verarbeitung prüfen zu lassen und Fehlern im Verarbeitungsprozess vorzubeugen. Die Nutzung der Daten erfolgt dann im Rahmen des § 14 BDSG durch Governikus im Auftrag des Bundes und nur für den genannten Zweck. | ||
(4) Die in der AusweisApp2 enthaltene Selbstauskunft über die im Chip gespeicherten Daten, ist ein Dienst der durch Governikus über das Internet erbracht wird. Die Ausweisdaten werden dabei nur zur Anzeige des Nutzers gebracht und nicht dauerhaft bei Governikus gespeichert oder für andere Zwecke verwendet. | ||
|
||
§ 8 Deutsches Recht | ||
Auf diese Nutzungsbedingungen ist ausschließlich deutsches Recht unter Ausschluss des Übereinkommens der Vereinten Nationen über Verträge über den internationalen Warenkauf (CISG) anwendbar. | ||
|
||
|
||
Anhang | ||
|
||
Eingearbeitete Open Source-Komponenten | ||
Qt, OpenSSL und http_parser. | ||
|
||
|
||
|
||
Lizenzbedingungen | ||
|
||
Die AusweisApp2 und ihr Quellcode werden unter der EUPL v1.2 bereitgestellt, mit Ausnahme der Open-Source-Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License lizensiert ist. | ||
Der Quellcode der AusweisApp2 wird unter der EUPL v1.2 bereitgestellt, mit Ausnahme der Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License lizensiert ist. | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,15 @@ Kontakt | |
| [email protected] | ||
|
||
Lizenz | ||
------ | ||
Der vorliegende Quellcode wird unter der EUPL v1.2 bereitgestellt, mit | ||
Ausnahme der Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License | ||
lizensiert ist. Die Datei ``LICENSE.officially.txt`` gilt ausschließlich für | ||
die offizielle Version der AusweisApp2, welche von der Governikus GmbH & Co. KG | ||
im Auftrag des Bundes unter https://www.ausweisapp.bund.de bereitgestellt wird. | ||
|
||
|
||
Toolchain / Bibliotheken | ||
------------------------ | ||
Die Einrichtung der Toolchain wird im Unterordner ``./libs`` | ||
|
@@ -22,8 +31,8 @@ Derzeit ist es leider noch nicht möglich, die AusweisApp2 ohne Patches | |
an OpenSSL und Qt voll funktionsfähig auszuliefern. | ||
Dies liegt unter anderem an dem notwendigen RSA-PSK-Patch für | ||
OpenSSL 1.0.2, welcher mit OpenSSL 1.1.0 nicht mehr notwendig ist. | ||
Diese OpenSSL-Version wird allerdings voraussichtlich erst mit Qt 5.10 | ||
bzw. 5.9.2 unterstützt. (siehe https://bugreports.qt.io/browse/QTBUG-52905) | ||
Diese OpenSSL-Version wird allerdings erst mit Qt 5.10 unterstützt. | ||
(siehe https://bugreports.qt.io/browse/QTBUG-52905) | ||
|
||
OpenSSL 1.1.0 wird mit der AusweisApp2 1.14.0 unterstützt. | ||
LibreSSL wird auf Grund des fehlenden RSA-PSK nicht unterstützt. | ||
|
@@ -40,8 +49,8 @@ Dazu kann die Variable *CMAKE_PREFIX_PATH* verwendet werden um die Toolchain CMa | |
bekannt zu machen. Alternativ zu %PATH% bzw. $PATH können alle Ordner, die dort | ||
für den Build eingetragen wurden, über diesen Mechanismus an CMake übergeben werden. | ||
|
||
Als Generator für Makefiles sollte eine Variante von "MinGW Makefiles" gewählt | ||
werden. | ||
Als Generator für Makefiles sollte unter Windows eine Variante von "MinGW Makefiles" | ||
gewählt werden. | ||
|
||
Beim Generieren des Makefiles ist zu beachten, dass die AusweisApp2 nur sogenannte | ||
"out of source tree"-Builds erlaubt. Daher ist die empfohlene Variante von CMake | ||
|
@@ -76,7 +85,6 @@ Beispiel über die CLI: | |
-- BUILD_SHARED_LIBS: OFF | ||
-- Found OpenSSL: C:/Toolchain/lib/libssl.dll.a;C:/Toolchain/lib/libcrypto.dll.a (found suitable version "1.0.1i", minimum required is "1.0.1") | ||
-- Found Hg: C:/Program Files/TortoiseHg/hg.exe (found version "3.1.1") | ||
-- PLATFORM_WIDGETS: WINDOWS | ||
-- Configuring done | ||
-- Generating done | ||
-- Build files have been written to: C:/build | ||
|
@@ -124,19 +132,19 @@ eingebettet werden kann. Zu beachten ist vor allem, dass in der Umgebungsvariabl | |
eingerichtet ist. Im Ordner "~/Library/MobileDevice/Provisioning Profiles" | ||
sind diese ebenfalls einsehbar. | ||
Unter Umständen kann es zu Berechtigungsproblemen mit XCode und den Zugriff auf | ||
die Keys kommen. Dabei ist es oft hilfreich die Keys im MacOS-Schlüsselbund | ||
die Keys kommen. Dabei ist es oft hilfreich die Keys im macOS-Schlüsselbund | ||
freizuschalten bzw. den Schlüsselbund freizugeben. | ||
|
||
security unlock-keychain -pPASSWORD ${HOME}/Library/Keychains/login.keychain | ||
|
||
Unter iOS wird die AusweisApp2 mittels XCode gebaut! | ||
Für iOS wird die AusweisApp2 mittels XCode gebaut! | ||
|
||
:: | ||
|
||
$ cd build | ||
$ cmake -DCMAKE_PREFIX_PATH=/Users/governikus/Toolchain/dist -DCMAKE_TOOLCHAIN_FILE=../AusweisApp2/cmake/iOS.toolchain.cmake -DCMAKE_BUILD_TYPE=release ../AusweisApp2 -GXcode | ||
$ cmakexbuild install -configuration Release | ||
$ cmakexbuild -target ipa | ||
$ xcodebuild -target install -configuration Release | ||
$ xcodebuild -target ipa -configuration Release | ||
|
||
|
||
Im Build-Ordner befindet sich nun eine "AusweisApp2-x.y.z.ipa" Datei, welches das | ||
|
@@ -152,7 +160,7 @@ Nachdem die Build-Umgebung eingerichtet ist, kann je nach System ein Package ers | |
notwendig. | ||
Mittels "mingw32-make package" wird die AusweisApp2 gebaut und ein MSI Paket bereitgestellt. | ||
|
||
- Unter MacOS wird mittels "make package" die AusweisApp2 gebaut und ein DMG bereitgestellt. | ||
- Unter macOS wird mittels "make package" die AusweisApp2 gebaut und ein DMG bereitgestellt. | ||
|
||
- Um ein APK für Android zu bauen, sind zwei Schritte notwendig, da CMake das Format bisher | ||
nicht unterstützt. Daher sind nach der Konfiguration des Projektes folgende Befehle notwendig | ||
|
@@ -162,72 +170,3 @@ Nachdem die Build-Umgebung eingerichtet ist, kann je nach System ein Package ers | |
|
||
$ make install | ||
$ make apk | ||
|
||
|
||
|
||
Release | ||
------- | ||
Folgende Schritte sind notwendig um ein Tag bzw. Release zu bauen. | ||
|
||
|
||
Tag anbringen | ||
^^^^^^^^^^^^^ | ||
|
||
#. Mittels "hg update -r stable" auf das jeweilige Changeset wechseln, welches mit einem | ||
Tag versehen werden soll. | ||
|
||
#. Mittels "hg status" überprüfen, dass keine weiteren Änderungen in der Working-Copy | ||
vorhanden sind. | ||
|
||
#. In der Datei CMakeLists.txt die PROJECT_VERSION im PROJECT entsprechend anpassen. | ||
|
||
#. Mittels "hg tag x.y.z" (Beispiel: hg tag 1.0.0) den Tag anbringen. | ||
|
||
#. Mittels "hg bookmark -r x.y.z release" das Bookmark verschieben, damit der Jenkins beim | ||
Release-Build den aktuellen Tag findet. | ||
|
||
#. Mittels "hg push" ins Main-Repository übertragen. | ||
|
||
|
||
|
||
Tag bauen | ||
^^^^^^^^^ | ||
Wichtig: Der Jenkins erstellt das Release anhand des Bookmarks "release". | ||
Die Jobs müssen nach dem Setzen manuell gestartet werden! | ||
Nachdem die Jobs für Windows und MacOS durchgelaufen sind, muss | ||
der Job für den AppCast gestartet werden. | ||
|
||
Für einen sauberen Build sollte folgendes Vorgehen angewandt werden. | ||
Beim Durchlauf von CMake wird, sofern die Versionsverwaltung vorhanden ist, der Mercurial-Tag | ||
angezeigt. | ||
|
||
#. Mittels "hg clone -r x.y.z http://mercurial/AusweisApp2" den Tag ausschecken. | ||
|
||
- **Wichtig:** Wenn ein bestehender Clone mittels "hg update -r x.y.z" benutzt wird, | ||
sollte mit "hg status -i" geprüft werden, ob die Working-Copy vollständig sauber ist! | ||
|
||
#. Einen build-Ordner erstellen und in den Ordner wechseln. Zum Beispiel /tmp/buildTagXYZ | ||
|
||
#. cmake -DCMAKE_BUILD_TYPE=release ../AusweisApp2 | ||
|
||
#. make package_source | ||
|
||
#. make package | ||
|
||
|
||
|
||
Probleme & Lösungen | ||
^^^^^^^^^^^^^^^^^^^ | ||
|
||
- Das gebaute Package beinhaltet einen Hashwert im Namen | ||
- CMake hat erkannt, dass sich die aktuelle Working-Copy nicht auf dem Tag befindet und hängt | ||
somit den Hashwert des Changesets an. Mittels "hg id -t" kann man überprüfen, ob man sich auf | ||
dem Tag befindet. | ||
|
||
- Mittels "hg update -r x.y.z" sollte man auf den Tag wechseln. | ||
|
||
- Hinter dem Hashwert ist ein + | ||
- Das bedeutet, dass "uncommitted changes" während des Builds in der Working-Copy enthalten waren. | ||
|
||
- Dies kann man mittels "hg status" überprüfen. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
Release | ||
======= | ||
Folgende Schritte sind notwendig um ein Tag bzw. Release zu bauen. | ||
|
||
|
||
Tag anbringen | ||
------------- | ||
#. Mittels "hg update -r stable" auf das jeweilige Changeset wechseln, welches mit einem | ||
Tag versehen werden soll. | ||
|
||
#. Mittels "hg status" überprüfen, dass keine weiteren Änderungen in der Working-Copy | ||
vorhanden sind. | ||
|
||
#. In der Datei CMakeLists.txt die PROJECT_VERSION im PROJECT entsprechend anpassen. | ||
|
||
#. Mittels "hg tag x.y.z" (Beispiel: hg tag 1.0.0) den Tag anbringen. | ||
|
||
#. Mittels "hg push" ins Main-Repository übertragen. | ||
|
||
|
||
|
||
Tag bauen | ||
--------- | ||
Die Release-Jobs müssen nach dem Tag manuell gestartet werden! | ||
|
||
Jenkins erstellt das Release anhand des Bookmarks "release" oder des tags/changesets, | ||
welcher als Parameter übergeben wird. | ||
Nachdem die notwendigen Jobs (Windows/macOS/Docs/...) durchgelaufen sind, muss der Job | ||
für den AppCast gestartet werden. | ||
|
||
Im Ordner ``resources/jenkins/dsl`` sind die jeweiligen Konfigurationen der Jenkins-Jobs | ||
hinterlegt. | ||
|
||
|
||
|
||
Probleme & Lösungen | ||
------------------- | ||
- Das gebaute Package beinhaltet einen Hashwert im Namen | ||
- CMake hat erkannt, dass sich die aktuelle Working-Copy nicht auf dem Tag befindet und hängt | ||
somit den Hashwert des Changesets an. Mittels "hg id -t" kann man überprüfen, ob man sich auf | ||
dem Tag befindet. | ||
|
||
- Mittels "hg update -r x.y.z" sollte man auf den Tag wechseln. | ||
|
||
- Hinter dem Hashwert ist ein + | ||
- Das bedeutet, dass "uncommitted changes" während des Builds in der Working-Copy enthalten waren. | ||
|
||
- Dies kann man mittels "hg status" überprüfen. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,7 +35,12 @@ SET(CPACK_PACKAGE_CONTACT "[email protected]") | |
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Governikus AusweisApp2") | ||
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.rst") | ||
SET(CPACK_PACKAGE_FILE_NAME ${FILENAME}) | ||
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt") | ||
|
||
IF(VENDOR_GOVERNIKUS) | ||
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.officially.txt") | ||
ELSE() | ||
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt") | ||
ENDIF() | ||
|
||
IF(APPLE AND NOT IOS) | ||
FIND_PROGRAM(ICONV iconv) | ||
|
@@ -55,6 +60,7 @@ SET(CPACK_SOURCE_GENERATOR TGZ) | |
SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${FILENAME} CACHE INTERNAL "tarball basename") | ||
|
||
SET(CPACK_SOURCE_IGNORE_FILES "\\\\.hgignore" "\\\\.hgtags" "/\\\\.hg/") | ||
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "\\\\.gitignore" "/\\\\.git/") | ||
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "vendor.txt") | ||
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}") | ||
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeCache.txt") | ||
|
@@ -90,11 +96,6 @@ IF(WIN32) | |
ENDIF() | ||
|
||
ELSEIF(IOS) | ||
FIND_PROGRAM(xcrun xcrun CMAKE_FIND_ROOT_PATH_BOTH) | ||
IF(NOT xcrun) | ||
MESSAGE(FATAL_ERROR "Cannot find xcrun to create IPAs") | ||
ENDIF() | ||
|
||
FILE(WRITE ${PROJECT_BINARY_DIR}/ipa.cmake " | ||
SET(BUNDLE_DIRS \"\${CONFIG}-iphoneos;UninstalledProducts;UninstalledProducts/iphoneos\") | ||
|
@@ -112,7 +113,9 @@ ELSEIF(IOS) | |
MESSAGE(FATAL_ERROR \"Bundle directory does not exist\") | ||
ENDIF() | ||
EXECUTE_PROCESS(COMMAND ${xcrun} -sdk iphoneos PackageApplication \${BundleDir} -o ${PROJECT_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.ipa) | ||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_directory \${BundleDir} Payload/AusweisApp2.app) | ||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar cf \"${CPACK_PACKAGE_FILE_NAME}.ipa\" --format=zip Payload) | ||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove_directory Payload) | ||
") | ||
|
||
ADD_CUSTOM_TARGET(ipa COMMAND ${CMAKE_COMMAND} -DCONFIG=$<CONFIGURATION> -P ${CMAKE_BINARY_DIR}/ipa.cmake) | ||
|
Oops, something went wrong.