From 9ca4ce279835fa223dc48fd143d05bd5060725c1 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 29 Apr 2022 18:05:10 -0400 Subject: [PATCH] import LPA library implementation from TruPhone Converted to gradle build and updated a bunch of dependencies. --- .gitignore | 1 + .idea/compiler.xml | 4 +- .idea/gradle.xml | 3 + .idea/misc.xml | 2 +- app/build.gradle | 2 +- libs/lpad-sm-dp-plus-connector/.classpath | 55 ++ libs/lpad-sm-dp-plus-connector/.project | 23 + .../org.eclipse.core.resources.prefs | 6 + .../.settings/org.eclipse.jdt.apt.core.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 9 + .../.settings/org.eclipse.m2e.core.prefs | 4 + libs/lpad-sm-dp-plus-connector/build.gradle | 36 + libs/lpad-sm-dp-plus-connector/pom.xml | 170 ++++ .../es9plus/AllocateProfileResponse.java | 59 ++ .../com/truphone/es9plus/Es9PlusImpl.java | 216 +++++ .../com/truphone/es9plus/HttpRSPClient.java | 122 +++ .../com/truphone/es9plus/HttpResponse.java | 26 + .../java/com/truphone/es9plus/LpaUtils.java | 10 + .../com/truphone/es9plus/message/MsgBody.java | 4 + .../com/truphone/es9plus/message/MsgType.java | 12 + .../request/AuthenticateClientReq.java | 28 + .../message/request/CancelSessionReq.java | 37 + .../message/request/ConfirmOrderReq.java | 53 ++ .../message/request/DownloadOrderReq.java | 45 + .../request/GetBoundProfilePackageReq.java | 28 + .../HandleDownloadProgressInfoReq.java | 74 ++ .../request/HandleNotificationReq.java | 19 + .../request/InitiateAuthenticationReq.java | 37 + .../message/request/ReleaseProfileReq.java | 19 + .../message/request/base/RequestMsgBody.java | 12 + .../response/AuthenticateClientResp.java | 63 ++ .../message/response/CancelSessionResp.java | 8 + .../message/response/ConfirmOrderResp.java | 34 + .../message/response/DownloadOrderResp.java | 17 + .../response/GetBoundProfilePackageResp.java | 26 + .../HandleDownloadProgressInfoResp.java | 8 + .../response/HandleNotificationResp.java | 8 + .../response/InitiateAuthenticationResp.java | 64 ++ .../message/response/ReleaseProfileResp.java | 8 + .../base/FunctionExecutionStatus.java | 33 + .../message/response/base/HeaderResp.java | 19 + .../base/NotificationPointStatus.java | 24 + .../response/base/ResponseMsgBody.java | 16 + .../message/response/base/StatusCodeData.java | 64 ++ .../java/com/truphone/lpa/ApduChannel.java | 15 + .../truphone/lpa/ApduTransmittedListener.java | 5 + .../truphone/lpa/LocalProfileAssistant.java | 40 + .../java/com/truphone/lpa/apdu/ApduUtils.java | 362 ++++++++ .../truphone/lpa/apdu/NotificationType.java | 17 + .../com/truphone/lpa/apdu/ProfileUtil.java | 275 ++++++ .../lpa/impl/AuthenticateClientSmDp.java | 42 + .../lpa/impl/DisableProfileWorker.java | 101 +++ .../lpa/impl/DownloadProfileWorker.java | 77 ++ .../lpa/impl/EnableProfileWorker.java | 106 +++ .../lpa/impl/GetSMDPAddressWorker.java | 57 ++ .../lpa/impl/HandleNotificationsWorker.java | 193 +++++ .../lpa/impl/InitialAuthenticationKeys.java | 123 +++ .../truphone/lpa/impl/ListProfilesWorker.java | 95 +++ .../lpa/impl/LocalProfileAssistantImpl.java | 142 ++++ .../com/truphone/lpa/impl/ProfileKey.java | 12 + .../lpa/impl/SetSMDPAddressWorker.java | 50 ++ .../lpa/impl/SmdsRetrieveEventsWorker.java | 57 ++ .../lpa/impl/download/ApduTransmitter.java | 61 ++ .../download/AuthenticatingPhaseWorker.java | 290 +++++++ .../lpa/impl/download/CloseResources.java | 16 + .../impl/download/ConnectingPhaseWorker.java | 94 +++ .../impl/download/DownloadPhaseWorker.java | 85 ++ .../impl/download/GeneratePhaseWorker.java | 115 +++ .../download/InstallationPhaseWorker.java | 249 ++++++ .../truphone/lpa/impl/download/SbppApdu.java | 9 + .../lpa/progress/DownloadProgress.java | 132 +++ .../lpa/progress/DownloadProgressPhase.java | 61 ++ .../truphone/lpa/progress/ProgressPhase.java | 5 + .../java/com/truphone/lpad/LpadWorker.java | 17 + .../com/truphone/lpad/progress/Progress.java | 68 ++ .../lpad/progress/ProgressListener.java | 9 + .../truphone/lpad/progress/ProgressStep.java | 62 ++ .../lpad/worker/AllocateProfileWorker.java | 119 +++ .../lpad/worker/DeleteProfileWorker.java | 162 ++++ .../lpad/worker/GetEidLpadWorker.java | 109 +++ .../lpad/worker/LpadWorkerExchange.java | 25 + .../truphone/lpad/worker/WorkerExchange.java | 14 + .../main/java/com/truphone/util/LogStub.java | 73 ++ .../main/java/com/truphone/util/PropUtil.java | 31 + .../main/java/com/truphone/util/TLVBean.java | 22 + .../main/java/com/truphone/util/TextUtil.java | 36 + .../main/java/com/truphone/util/ToTLV.java | 50 ++ .../main/java/com/truphone/util/Tools.java | 29 + .../src/main/java/com/truphone/util/Util.java | 52 ++ .../src/main/resources/PKIXExplicit88.asn | 619 ++++++++++++++ .../src/main/resources/PKIXImplicit88.asn | 387 +++++++++ .../src/main/resources/rsp.asn | 785 ++++++++++++++++++ .../worker/AllocateProfileWorkerTest.java | 122 +++ .../lpad/worker/DeleteProfileWorkerTest.java | 213 +++++ .../lpad/worker/GetEidLpadWorkerTest.java | 111 +++ .../java/integration/AllocateProfileTest.java | 82 ++ .../java/integration/DeleteProfileTest.java | 104 +++ .../src/test/java/integration/GetEidTest.java | 72 ++ .../java/integration/utils/ReferenceData.java | 6 + settings.gradle | 2 +- 100 files changed, 7773 insertions(+), 4 deletions(-) create mode 100644 libs/lpad-sm-dp-plus-connector/.classpath create mode 100644 libs/lpad-sm-dp-plus-connector/.project create mode 100644 libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.core.resources.prefs create mode 100644 libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.jdt.apt.core.prefs create mode 100644 libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.jdt.core.prefs create mode 100644 libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.m2e.core.prefs create mode 100644 libs/lpad-sm-dp-plus-connector/build.gradle create mode 100644 libs/lpad-sm-dp-plus-connector/pom.xml create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/AllocateProfileResponse.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/Es9PlusImpl.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpRSPClient.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpResponse.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/LpaUtils.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/MsgBody.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/MsgType.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/AuthenticateClientReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/CancelSessionReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/ConfirmOrderReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/DownloadOrderReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/GetBoundProfilePackageReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/HandleDownloadProgressInfoReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/HandleNotificationReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/InitiateAuthenticationReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/ReleaseProfileReq.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/base/RequestMsgBody.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/AuthenticateClientResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/CancelSessionResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/ConfirmOrderResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/DownloadOrderResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/GetBoundProfilePackageResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/HandleDownloadProgressInfoResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/HandleNotificationResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/InitiateAuthenticationResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/ReleaseProfileResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/FunctionExecutionStatus.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/HeaderResp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/NotificationPointStatus.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/ResponseMsgBody.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/StatusCodeData.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/ApduChannel.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/ApduTransmittedListener.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/LocalProfileAssistant.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/apdu/ApduUtils.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/apdu/NotificationType.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/apdu/ProfileUtil.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/AuthenticateClientSmDp.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/DisableProfileWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/DownloadProfileWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/EnableProfileWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/GetSMDPAddressWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/HandleNotificationsWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/InitialAuthenticationKeys.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/ListProfilesWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/LocalProfileAssistantImpl.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/ProfileKey.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/SetSMDPAddressWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/SmdsRetrieveEventsWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/ApduTransmitter.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/AuthenticatingPhaseWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/CloseResources.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/ConnectingPhaseWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/DownloadPhaseWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/GeneratePhaseWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/InstallationPhaseWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/SbppApdu.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/progress/DownloadProgress.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/progress/DownloadProgressPhase.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/progress/ProgressPhase.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/LpadWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/progress/Progress.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/progress/ProgressListener.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/progress/ProgressStep.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/AllocateProfileWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/DeleteProfileWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/GetEidLpadWorker.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/LpadWorkerExchange.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/WorkerExchange.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/LogStub.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/PropUtil.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TLVBean.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TextUtil.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/ToTLV.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/Tools.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/Util.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/resources/PKIXExplicit88.asn create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/resources/PKIXImplicit88.asn create mode 100644 libs/lpad-sm-dp-plus-connector/src/main/resources/rsp.asn create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/com/truphone/lpad/worker/AllocateProfileWorkerTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/com/truphone/lpad/worker/DeleteProfileWorkerTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/com/truphone/lpad/worker/GetEidLpadWorkerTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/integration/AllocateProfileTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/integration/DeleteProfileTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/integration/GetEidTest.java create mode 100644 libs/lpad-sm-dp-plus-connector/src/test/java/integration/utils/ReferenceData.java diff --git a/.gitignore b/.gitignore index aa724b7..12145e6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ .externalNativeBuild .cxx local.properties +/libs/**/build diff --git a/.idea/compiler.xml b/.idea/compiler.xml index fb7f4a8..adac9d0 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,8 @@ - + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 9cd847f..c7920ab 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,5 +1,6 @@ +