AusweisApp
Lade ...
Suche ...
Keine Treffer
eid_applet_interface.h
gehe zur Dokumentation dieser Datei
1/*
2 * Copyright (C) 2023 by Bundesdruckerei GmbH and Governikus GmbH & Co. KG
3 * Licensed under the EUPL-1.2
4 *
5 * v0.23.0
6 *
7 * +------------------------------+--------------+---------------+---------------+
8 * | Function TOPIC | SE_CERTIFIED | SE_ENDORSED | HW_KEYSTORE |
9 * +------------------------------+--------------+---------------+---------------+
10 * | GENERAL |--------------+---------------+---------------|
11 * | initializeService | X | X | X |
12 * | shutdownService | X | X | X |
13 * | getServiceInformation | X | X | X |
14 * | getSmartEidSupportInfo | X | X | X |
15 * | getSmartEidStatus | X | X | X |
16 * | DEVICE PREPARATION |--------------+---------------+---------------|
17 * | installSmartEid | X | | |
18 * | deleteSmartEid | X | | |
19 * | PERSONALIZATION |--------------+---------------+---------------|
20 * | initializePersonalization | X | X | X |
21 * | performPersonalization | X | X | X |
22 * | finalizePersonalization | X | X | X |
23 * | deletePersonalization | X | X | X |
24 * | releaseAppletConnection | X | | |
25 * | IDENTIFICATION |--------------+---------------+---------------|
26 * | performAPDUCommand | X | X | X 1) |
27 * | prepareIdentification | | | X 1) |
28 * | getChallenge | | | X 1) |
29 * | performTAandCA | | | X 1) |
30 * +------------------------------+--------------+---------------+---------------+
31 *
32 * 1) performAPDUCommand is only partially implemented
33 and is supplemented by additional functions.
34 */
35
36#pragma once
37
38#include "eid_applet_results.h"
39
40#include <functional>
41#include <list>
42#include <string>
43
44#if defined(__ANDROID__)
45 #include <jni.h>
46#elif defined(__APPLE__)
47 #include <TargetConditionals.h>
48#endif
49
50
52
57using ProgressHandler = std::function<void (int progress)>;
58
59// -------------------------------------------------------------------------------------------------
60// GENERAL
61// -------------------------------------------------------------------------------------------------
62
63#if defined(__ANDROID__)
64
67
81 JNIEnv* env,
82 jobject applicationContext,
83 const std::string& pServiceId,
84 const std::string& pSsdAid,
85 const std::string& pVersionTag = "");
86
87#else
88
90
96
97#endif
98
100
106
108
113
117
123
125
130
131// -------------------------------------------------------------------------------------------------
132// DEVICE PREPARATION
133// -------------------------------------------------------------------------------------------------
134
137
143
146
152
153// -------------------------------------------------------------------------------------------------
154// PERSONALIZATION
155// -------------------------------------------------------------------------------------------------
156
158
166 const std::string& pChallenge,
167 const std::string& pPin = "");
168
170
175GenericDataResult performPersonalization(const std::string& pCommand);
176
182
189
191
196
198
203
204// -------------------------------------------------------------------------------------------------
205// IDENTIFICATION
206// -------------------------------------------------------------------------------------------------
207
209
214GenericDataResult performAPDUCommand(const std::string& pCommandApdu);
215
217
223PrepareIdentificationResult prepareIdentification(const std::string& pChat);
224
226
232
234
265 const std::list<std::string>& pTerminalCvcChain,
266 const std::string& pAuxiliaryData,
267 const std::string& pSignature,
268 const std::string& pPin,
269 const std::string& pEphemeralPublicKey);
TAandCAResult performTAandCA(const std::list< std::string > &pTerminalCvcChain, const std::string &pAuxiliaryData, const std::string &pSignature, const std::string &pPin, const std::string &pEphemeralPublicKey)
Performs the terminal and chip authentication.
Definition eid_applet_interface_mock.cpp:214
PersonalizationResult finalizePersonalization(int status=0)
Definition eid_applet_interface_mock.cpp:251
EidServiceResult deleteSmartEid(const ProgressHandler &pHandler)
Definition eid_applet_interface_mock.cpp:101
GenericDataResult performPersonalization(const std::string &pCommand)
Performs personalization in a generic way controlled by Personalization Service.
Definition eid_applet_interface_mock.cpp:139
PrepareIdentificationResult prepareIdentification(const std::string &pChat)
Prepares the identification and returns the PrepareIdentificationResult.
Definition eid_applet_interface_mock.cpp:201
EidServiceResult releaseAppletConnection()
Closes any open channel to the SE.
Definition eid_applet_interface_mock.cpp:263
ServiceInformationResult getServiceInformation()
Request the service information of the Smart-eID. This function does not include an online-check.
Definition eid_applet_interface_mock.cpp:73
EidSupportStatusResult getSmartEidSupportInfo()
Definition eid_applet_interface_mock.cpp:49
EidServiceResult deletePersonalization()
Delete Personalization from eID Applet.
Definition eid_applet_interface_mock.cpp:191
GenericDataResult getChallenge()
Get Challenge.
Definition eid_applet_interface_mock.cpp:208
GenericDataResult performAPDUCommand(const std::string &pCommandApdu)
Performs APDU command.
Definition eid_applet_interface_mock.cpp:119
GenericDataResult initializeService()
Performs initialization of eID-Applet-Service-Lib.
Definition eid_applet_interface_mock.cpp:242
GenericDataResult shutdownService()
Release all resources and shut down the eID-Applet-Service-Lib on Android.
Definition eid_applet_interface_mock.cpp:269
EidStatus getSmartEidStatus()
Provides the current Smart-eID Status. This function does not include an online-check.
Definition eid_applet_interface_mock.cpp:61
InitializeResult initializePersonalization(const std::string &pChallenge, const std::string &pPin="")
Performs initialization of the Personalization.
Definition eid_applet_interface_mock.cpp:165
std::function< void(int progress)> ProgressHandler
Handler for relaying progress notification obtained from TSM-API.
Definition eid_applet_interface.h:57
EidServiceResult installSmartEid(const ProgressHandler &pHandler)
Definition eid_applet_interface_mock.cpp:85
EidServiceResult
Definition eid_applet_results.h:92
EidStatus
Definition eid_applet_results.h:16
Definition eid_applet_results.h:131
Definition eid_applet_results.h:116
Definition eid_applet_results.h:146
Definition eid_applet_results.h:161
Definition eid_applet_results.h:196
Definition eid_applet_results.h:176
Definition eid_applet_results.h:207