AusweisApp
Lade ...
Suche ...
Keine Treffer
eid_applet_service_android.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
6#pragma once
7
10#include "eid_applet_utils.h"
11#include <jni.h>
12#include <mutex>
13#include <stdexcept>
14
15
16using namespace appletUtils;
17using namespace jniUtils;
18
19
21 public:
22 EidAppletServiceAndroid(JNIEnv* env, jobject applicationContext);
24
26 const std::string& pServiceId,
27 const std::string& pSsdAid,
28 const std::string& pVersionTag);
32 GenericDataResult performAPDUCommand(const std::string& pCommandApdu);
33 InitializeResult initializePersonalization(const std::string& pPin, const std::string& pChallenge);
34 GenericDataResult performPersonalization(const std::string& pCommandPersonalization);
41
42 private:
43 class ThreadGuard {
44 private:
45 JavaVM* mJvm;
46 bool mDoDetach;
47
48 public:
49 explicit ThreadGuard(JavaVM* pJvm);
50 ~ThreadGuard();
51
52 void doDetach();
53 };
54
55 std::mutex serviceMutex;
56
57 JNIEnv* mEnv;
58 JavaVM* mJvm;
59 jobject mApplicationContext = nullptr;
60 jclass mJniServiceClz = nullptr;
61 jobject mJniServiceObj = nullptr;
62
63 bool getJNIEnvForCurrentThread(JNIEnv*& _env, ThreadGuard& threadGuard);
64};
Definition eid_applet_service_android.h:20
EidAppletServiceAndroid(JNIEnv *env, jobject applicationContext)
Creates an EidAppletServiceAndroid with the given environment / context.
Definition eid_applet_service_android.cpp:16
PersonalizationResult finalizePersonalization(jint status)
Finalize the Personalization and provide the init-eID-PIN.
Definition eid_applet_service_android.cpp:539
EidServiceResult installSmartEid()
Performs the remote provisioning of the eID-applet from the TSM to the eSE on this device.
Definition eid_applet_service_android.cpp:162
GenericDataResult performPersonalization(const std::string &pCommandPersonalization)
Performs personalization in a generic way controlled by Personalization Service.
Definition eid_applet_service_android.cpp:467
EidServiceResult deleteSmartEid()
Delete the eID-Applet from this device.
Definition eid_applet_service_android.cpp:210
EidStatus getSmartEidStatus()
Provides the status of the Smart-eID or eID-Applet.
Definition eid_applet_service_android.cpp:600
GenericDataResult shutdownService()
Release all resources and shut down the eID-Applet-Service-Lib on Android.
Definition eid_applet_service_android.cpp:766
InitializeResult initializePersonalization(const std::string &pPin, const std::string &pChallenge)
Performs initialization of the Personalization.
Definition eid_applet_service_android.cpp:384
EidSupportStatusResult getSmartEidSupportInfo()
Provides information of available updates of the installed eID-Applet and/or CSP implementation or wh...
Definition eid_applet_service_android.cpp:648
GenericDataResult performAPDUCommand(const std::string &pCommandApdu)
Performs APDU command.
Definition eid_applet_service_android.cpp:308
EidServiceResult releaseAppletConnection()
Releases any open channel to the applet.
Definition eid_applet_service_android.cpp:717
ServiceInformationResult getServiceInformation()
Definition eid_applet_service_android.cpp:825
EidServiceResult deletePersonalization()
Delete the eID-Applet from this device.
Definition eid_applet_service_android.cpp:259
~EidAppletServiceAndroid()
Release all resources and shut down the eID-Applet-Service-Lib on Android.
Definition eid_applet_service_android.cpp:27
GenericDataResult initializeService()
Performs initialization of eID-Applet-Service-Lib.
Definition eid_applet_interface_mock.cpp:242
EidServiceResult
Definition eid_applet_results.h:92
EidStatus
Definition eid_applet_results.h:16
Definition eid_applet_utils.h:177
Definition eid_applet_utils.h:152
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:176