├── openeuicc ├── app │ ├── .gitignore │ ├── src │ │ ├── debug │ │ │ ├── ic_launcher-playstore.png │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher_esimm.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher_esimm.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher_esimm.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher_esimm.png │ │ │ │ └── mipmap-xxxhdpi │ │ │ │ └── ic_launcher_esimm.png │ │ ├── release │ │ │ ├── ic_launcher-playstore.png │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ │ └── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ ├── main │ │ │ ├── res │ │ │ │ ├── layout │ │ │ │ │ ├── spinner_item.xml │ │ │ │ │ ├── activity_main.xml │ │ │ │ │ └── fragment_euicc.xml │ │ │ │ ├── drawable │ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ │ ├── ic_add.xml │ │ │ │ │ ├── ic_check_black.xml │ │ │ │ │ ├── ic_menu_black.xml │ │ │ │ │ └── ic_scan_black.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── drawable-v24 │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── xml │ │ │ │ │ └── network_security_config.xml │ │ │ │ ├── menu │ │ │ │ │ ├── fragment_profile_rename.xml │ │ │ │ │ ├── profile_options.xml │ │ │ │ │ ├── fragment_profile_download.xml │ │ │ │ │ └── activity_main.xml │ │ │ │ └── raw │ │ │ │ │ └── symantec_gsma_rspv2_root_ci1 │ │ │ └── java │ │ │ │ └── im │ │ │ │ └── angry │ │ │ │ └── openeuicc │ │ │ │ ├── ui │ │ │ │ ├── LuiActivity.kt │ │ │ │ └── EuiccChannelFragmentUtils.kt │ │ │ │ ├── util │ │ │ │ ├── StringUtils.kt │ │ │ │ ├── TelephonyUtils.kt │ │ │ │ └── UiUtils.kt │ │ │ │ ├── core │ │ │ │ ├── EuiccChannel.kt │ │ │ │ ├── OmapiApduChannel.kt │ │ │ │ ├── TelephonyManagerApduChannel.kt │ │ │ │ └── OmapiChannel.kt │ │ │ │ └── OpenEuiccApplication.kt │ │ ├── test │ │ │ └── java │ │ │ │ └── im │ │ │ │ └── angry │ │ │ │ └── openeuicc │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── im │ │ │ └── angry │ │ │ └── openeuicc │ │ │ └── ExampleInstrumentedTest.kt │ ├── release │ │ └── output-metadata.json │ ├── proguard-rules.pro │ └── build.gradle ├── libs │ ├── hidden-apis-shim │ │ ├── .gitignore │ │ ├── consumer-rules.pro │ │ ├── src │ │ │ ├── main │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── im │ │ │ │ │ └── angry │ │ │ │ │ └── openeuicc │ │ │ │ │ └── hidden_apis_shim │ │ │ │ │ └── ExampleUnitTest.kt │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── im │ │ │ │ └── angry │ │ │ │ └── openeuicc │ │ │ │ └── hidden_apis_shim │ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── proguard-rules.pro │ │ └── build.gradle │ ├── hidden-apis-stub │ │ ├── .gitignore │ │ ├── src │ │ │ └── main │ │ │ │ └── AndroidManifest.xml │ │ └── build.gradle │ └── lpad-sm-dp-plus-connector │ │ ├── .settings │ │ ├── org.eclipse.jdt.apt.core.prefs │ │ ├── org.eclipse.m2e.core.prefs │ │ ├── org.eclipse.core.resources.prefs │ │ └── org.eclipse.jdt.core.prefs │ │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── truphone │ │ │ │ ├── es9plus │ │ │ │ ├── message │ │ │ │ │ ├── MsgBody.java │ │ │ │ │ ├── response │ │ │ │ │ │ ├── CancelSessionResp.java │ │ │ │ │ │ ├── ReleaseProfileResp.java │ │ │ │ │ │ ├── HandleNotificationResp.java │ │ │ │ │ │ ├── HandleDownloadProgressInfoResp.java │ │ │ │ │ │ ├── base │ │ │ │ │ │ │ ├── ResponseMsgBody.java │ │ │ │ │ │ │ ├── NotificationPointStatus.java │ │ │ │ │ │ │ ├── HeaderResp.java │ │ │ │ │ │ │ ├── FunctionExecutionStatus.java │ │ │ │ │ │ │ └── StatusCodeData.java │ │ │ │ │ │ ├── DownloadOrderResp.java │ │ │ │ │ │ ├── GetBoundProfilePackageResp.java │ │ │ │ │ │ └── ConfirmOrderResp.java │ │ │ │ │ ├── request │ │ │ │ │ │ ├── base │ │ │ │ │ │ │ └── RequestMsgBody.java │ │ │ │ │ │ ├── ReleaseProfileReq.java │ │ │ │ │ │ ├── HandleNotificationReq.java │ │ │ │ │ │ ├── GetBoundProfilePackageReq.java │ │ │ │ │ │ ├── AuthenticateClientReq.java │ │ │ │ │ │ ├── InitiateAuthenticationReq.java │ │ │ │ │ │ ├── DownloadOrderReq.java │ │ │ │ │ │ ├── CancelSessionReq.java │ │ │ │ │ │ └── ConfirmOrderReq.java │ │ │ │ │ └── MsgType.java │ │ │ │ ├── HttpResponse.java │ │ │ │ └── AllocateProfileResponse.java │ │ │ │ ├── lpa │ │ │ │ ├── progress │ │ │ │ │ └── ProgressPhase.java │ │ │ │ ├── ApduTransmittedListener.java │ │ │ │ ├── impl │ │ │ │ │ ├── download │ │ │ │ │ │ ├── SbppApdu.java │ │ │ │ │ │ └── CloseResources.java │ │ │ │ │ ├── AuthenticateClientSmDp.java │ │ │ │ │ └── SetSMDPAddressWorker.java │ │ │ │ ├── apdu │ │ │ │ │ └── NotificationType.java │ │ │ │ ├── ApduChannel.java │ │ │ │ ├── LocalProfileAssistant.java │ │ │ │ └── LocalProfileInfo.kt │ │ │ │ ├── lpad │ │ │ │ ├── progress │ │ │ │ │ └── ProgressListener.java │ │ │ │ ├── worker │ │ │ │ │ ├── WorkerExchange.java │ │ │ │ │ └── LpadWorkerExchange.java │ │ │ │ └── LpadWorker.java │ │ │ │ └── util │ │ │ │ ├── TLVBean.java │ │ │ │ ├── PropUtil.java │ │ │ │ ├── Tools.java │ │ │ │ ├── ToTLV.java │ │ │ │ ├── Util.java │ │ │ │ └── LogStub.java │ │ ├── test │ │ │ └── java │ │ │ │ └── integration │ │ │ │ └── utils │ │ │ │ └── ReferenceData.java │ │ └── generated │ │ │ └── asn1 │ │ │ └── com │ │ │ └── truphone │ │ │ └── rsp │ │ │ └── dto │ │ │ └── asn1 │ │ │ ├── pkix1explicit88 │ │ │ ├── PDSName.java │ │ │ ├── AttributeValue.java │ │ │ ├── CommonName.java │ │ │ ├── EmailAddress.java │ │ │ ├── StreetAddress.java │ │ │ ├── X121Address.java │ │ │ ├── NetworkAddress.java │ │ │ ├── DomainComponent.java │ │ │ ├── DistinguishedName.java │ │ │ ├── UniquePostalName.java │ │ │ ├── OrganizationName.java │ │ │ ├── X520SerialNumber.java │ │ │ ├── X520countryName.java │ │ │ ├── X520dnQualifier.java │ │ │ ├── TeletexCommonName.java │ │ │ ├── PostOfficeBoxAddress.java │ │ │ ├── PosteRestanteAddress.java │ │ │ ├── TerminalIdentifier.java │ │ │ ├── LocalPostalAttributes.java │ │ │ ├── NumericUserIdentifier.java │ │ │ ├── OrganizationalUnitName.java │ │ │ ├── TeletexOrganizationName.java │ │ │ ├── PhysicalDeliveryOfficeName.java │ │ │ ├── ExtensionORAddressComponents.java │ │ │ ├── PhysicalDeliveryOfficeNumber.java │ │ │ ├── PhysicalDeliveryPersonalName.java │ │ │ ├── TeletexOrganizationalUnitName.java │ │ │ ├── PhysicalDeliveryOrganizationName.java │ │ │ ├── AttributeType.java │ │ │ ├── ExtensionPhysicalDeliveryAddressComponents.java │ │ │ ├── Version.java │ │ │ ├── TerminalType.java │ │ │ ├── UniqueIdentifier.java │ │ │ └── CertificateSerialNumber.java │ │ │ ├── rspdefinitions │ │ │ ├── Octet1.java │ │ │ ├── Octet2.java │ │ │ ├── Octet8.java │ │ │ ├── Octet16.java │ │ │ ├── Octet32.java │ │ │ ├── OctetTo16.java │ │ │ ├── ExpirationDate.java │ │ │ ├── VersionType.java │ │ │ ├── TransactionId.java │ │ │ ├── IconType.java │ │ │ ├── PprIds.java │ │ │ ├── ErrorReason.java │ │ │ ├── BppCommandId.java │ │ │ ├── ProfileClass.java │ │ │ ├── ProfileState.java │ │ │ ├── PartialCrlNumber.java │ │ │ ├── DownloadErrorCode.java │ │ │ ├── RspCapability.java │ │ │ ├── UICCCapability.java │ │ │ ├── CancelSessionReason.java │ │ │ ├── CertificateInfo.java │ │ │ ├── LoadCRLResponseError.java │ │ │ ├── ProfileInfoListError.java │ │ │ ├── AuthenticateErrorCode.java │ │ │ ├── NotificationEvent.java │ │ │ ├── TotalPartialCrlNumber.java │ │ │ └── Iccid.java │ │ │ └── pkix1implicit88 │ │ │ ├── CPSuri.java │ │ │ ├── FreshestCRL.java │ │ │ ├── IssuerAltName.java │ │ │ ├── KeyIdentifier.java │ │ │ ├── SubjectAltName.java │ │ │ ├── InvalidityDate.java │ │ │ ├── CertificateIssuer.java │ │ │ ├── SubjectKeyIdentifier.java │ │ │ ├── CertPolicyId.java │ │ │ ├── KeyPurposeId.java │ │ │ ├── PolicyQualifierId.java │ │ │ ├── HoldInstructionCode.java │ │ │ ├── CRLReason.java │ │ │ ├── CRLNumber.java │ │ │ ├── SkipCerts.java │ │ │ ├── BaseDistance.java │ │ │ ├── KeyUsage.java │ │ │ ├── BaseCRLNumber.java │ │ │ ├── ReasonFlags.java │ │ │ └── InhibitAnyPolicy.java │ │ ├── .project │ │ └── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitignore ├── build.gradle ├── settings.gradle ├── privapp_whitelist_im.angry.openeuicc.xml ├── COPYING ├── gradle.properties └── Android.bp ├── openeuicc-deps ├── repository │ └── com │ │ ├── beanit │ │ └── asn1bean │ │ │ ├── 1.13.0 │ │ │ ├── asn1bean-1.13.0.jar.md5 │ │ │ ├── asn1bean-1.13.0.pom.md5 │ │ │ ├── asn1bean-1.13.0-sources.jar.md5 │ │ │ ├── asn1bean-1.13.0.jar.sha1 │ │ │ ├── asn1bean-1.13.0.pom.sha1 │ │ │ ├── asn1bean-1.13.0-sources.jar.sha1 │ │ │ ├── asn1bean-1.13.0.jar │ │ │ ├── asn1bean-1.13.0-sources.jar │ │ │ └── asn1bean-1.13.0.pom │ │ │ └── maven-metadata.xml │ │ ├── google │ │ └── zxing │ │ │ ├── core │ │ │ ├── 3.4.1 │ │ │ │ ├── core-3.4.1.jar.md5 │ │ │ │ ├── core-3.4.1.pom.md5 │ │ │ │ ├── core-3.4.1.jar.sha1 │ │ │ │ ├── core-3.4.1.pom.sha1 │ │ │ │ └── core-3.4.1.jar │ │ │ └── maven-metadata.xml │ │ │ └── zxing-parent │ │ │ ├── 3.4.1 │ │ │ ├── zxing-parent-3.4.1.pom.md5 │ │ │ └── zxing-parent-3.4.1.pom.sha1 │ │ │ └── maven-metadata.xml │ │ └── journeyapps │ │ └── zxing-android-embedded │ │ ├── 4.3.0 │ │ ├── zxing-android-embedded-4.3.0.aar.md5 │ │ ├── zxing-android-embedded-4.3.0.pom.md5 │ │ ├── zxing-android-embedded-4.3.0-sources.jar.md5 │ │ ├── zxing-android-embedded-4.3.0.aar.sha1 │ │ ├── zxing-android-embedded-4.3.0.pom.sha1 │ │ ├── zxing-android-embedded-4.3.0-sources.jar.sha1 │ │ ├── zxing-android-embedded-4.3.0.aar │ │ ├── zxing-android-embedded-4.3.0-sources.jar │ │ └── zxing-android-embedded-4.3.0.pom │ │ └── maven-metadata.xml └── Android.bp └── README.md /openeuicc/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-stub/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.jar.md5: -------------------------------------------------------------------------------- 1 | 1459da0cc0db5a21405c93d47f8e6949 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.pom.md5: -------------------------------------------------------------------------------- 1 | b54a39f7109deb7bfc5a969d94ba9e06 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.jar.md5: -------------------------------------------------------------------------------- 1 | fbad9e0bca18ae75897e0b748788ceda -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.pom.md5: -------------------------------------------------------------------------------- 1 | d4e09cffb7bf2f15eb9c98eb9862378b -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.jar.sha1: -------------------------------------------------------------------------------- 1 | 1869da97e9b2b60b5ff2fcaf55899174b93ae25d -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.pom.sha1: -------------------------------------------------------------------------------- 1 | 5e394e62598655ec542a69b8426abe8fd6fef182 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0-sources.jar.md5: -------------------------------------------------------------------------------- 1 | 22b6ed34e3efb36d22499e062385ae11 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.jar.sha1: -------------------------------------------------------------------------------- 1 | 34d6af3f9b933b3f342799bd62d4adc419fd1f81 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.pom.sha1: -------------------------------------------------------------------------------- 1 | 44d5455c1eddbc00b51e70775d2e92328c4b795d -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/zxing-parent/3.4.1/zxing-parent-3.4.1.pom.md5: -------------------------------------------------------------------------------- 1 | 2021d3846768c7a61afe388286a404ca -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 117f036545eab0f28a6f87fad9c9928d95f3de8c -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/zxing-parent/3.4.1/zxing-parent-3.4.1.pom.sha1: -------------------------------------------------------------------------------- 1 | e95c34647f02558c0e02d79dc6784bae52c89085 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.aar.md5: -------------------------------------------------------------------------------- 1 | 028ee569bc054c580ac718864f9d1c5a -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.pom.md5: -------------------------------------------------------------------------------- 1 | 17e3a5381e84795d5b54a14a968ceeeb -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0-sources.jar.md5: -------------------------------------------------------------------------------- 1 | baf4160813d510ffd1f4817c1a7b6a0b -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.aar.sha1: -------------------------------------------------------------------------------- 1 | 148ce3deba556cc15fd0b2b32fd3d0c842d91f28 -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.pom.sha1: -------------------------------------------------------------------------------- 1 | 6e3110eab845aa4862362e8aa44d5ad55d533ef2 -------------------------------------------------------------------------------- /openeuicc/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | f4f0504d30c6674a08b1327cc22a3f6ce4a1a166 -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=false 3 | -------------------------------------------------------------------------------- /openeuicc/app/src/debug/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/ic_launcher-playstore.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/ic_launcher-playstore.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/MsgBody.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message; 2 | 3 | public interface MsgBody { 4 | } 5 | -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-hdpi/ic_launcher_esimm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-hdpi/ic_launcher_esimm.png -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-mdpi/ic_launcher_esimm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-mdpi/ic_launcher_esimm.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-xhdpi/ic_launcher_esimm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-xhdpi/ic_launcher_esimm.png -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-xxhdpi/ic_launcher_esimm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-xxhdpi/ic_launcher_esimm.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_esimm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_esimm.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/progress/ProgressPhase.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa.progress; 2 | 3 | public enum ProgressPhase { 4 | RUNNING 5 | } 6 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc-deps/repository/com/google/zxing/core/3.4.1/core-3.4.1.jar -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.jar -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/ApduTransmittedListener.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa; 2 | 3 | public interface ApduTransmittedListener { 4 | void onApduTransmitted(); 5 | } 6 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0-sources.jar -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/test/java/integration/utils/ReferenceData.java: -------------------------------------------------------------------------------- 1 | package integration.utils; 2 | 3 | public interface ReferenceData { 4 | 5 | String VALID_EID = "bf3e125a10890440500010006800000000000001709000"; 6 | } 7 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.aar -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/naz664/packages_apps_openeuicc/HEAD/openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0-sources.jar -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=UTF-8 5 | encoding//target/generated-sources/asn1=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /openeuicc/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jun 08 13:28:20 EDT 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/CancelSessionResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | 4 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 5 | 6 | public class CancelSessionResp extends ResponseMsgBody { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/ReleaseProfileResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | 4 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 5 | 6 | public class ReleaseProfileResp extends ResponseMsgBody { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/layout/spinner_item.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-stub/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/HandleNotificationResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | 4 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 5 | 6 | public class HandleNotificationResp extends ResponseMsgBody { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/SbppApdu.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa.impl.download; 2 | 3 | public enum SbppApdu { 4 | INITIALIZE_SECURE_CHANNEL, 5 | CONFIGURE_ISDPA, 6 | STORE_METADATA, 7 | REPLACE_SESSIONS_KEYS, 8 | BOUND_PROFILE_PACKAGE 9 | } 10 | -------------------------------------------------------------------------------- /openeuicc/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | /libs/**/build 17 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #E0E0E0 4 | #D81B60 5 | #AD1457 6 | #FF000000 7 | #FFFFFFFF 8 | -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /openeuicc/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/HandleDownloadProgressInfoResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | 4 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 5 | 6 | public class HandleDownloadProgressInfoResp extends ResponseMsgBody { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/progress/ProgressListener.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpad.progress; 2 | 3 | public interface ProgressListener { 4 | 5 | void onAction(String phase, 6 | String step, 7 | Double percentage, 8 | String message); 9 | } 10 | -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-stub/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | 5 | android { 6 | compileSdk 31 7 | } 8 | 9 | java { 10 | sourceCompatibility = JavaVersion.VERSION_1_7 11 | targetCompatibility = JavaVersion.VERSION_1_7 12 | } 13 | 14 | dependencies { 15 | implementation 'org.jetbrains:annotations:15.0' 16 | } -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/ui/LuiActivity.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.ui 2 | 3 | import android.content.Intent 4 | import androidx.appcompat.app.AppCompatActivity 5 | 6 | class LuiActivity : AppCompatActivity() { 7 | override fun onStart() { 8 | super.onStart() 9 | startActivity(Intent(this, MainActivity::class.java)) 10 | finish() 11 | } 12 | } -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/menu/fragment_profile_rename.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.beanit 4 | asn1bean 5 | 6 | 1.13.0 7 | 8 | 1.13.0 9 | 10 | 20220731022216 11 | 12 | 13 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/core/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.google.zxing 4 | core 5 | 6 | 3.4.1 7 | 8 | 3.4.1 9 | 10 | 20220731022100 11 | 12 | 13 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/google/zxing/zxing-parent/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.google.zxing 4 | zxing-parent 5 | 6 | 3.4.1 7 | 8 | 3.4.1 9 | 10 | 20220731022100 11 | 12 | 13 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.journeyapps 4 | zxing-android-embedded 5 | 6 | 4.3.0 7 | 8 | 4.3.0 9 | 10 | 20220731022124 11 | 12 | 13 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/base/RequestMsgBody.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request.base; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgBody; 5 | 6 | import java.security.InvalidParameterException; 7 | 8 | public abstract class RequestMsgBody implements MsgBody { 9 | 10 | public void checkParameters() throws InvalidParameterException { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Openeuicc 2 | This provide E-sim support on E-sim supported android devices on gsi's. 3 | 4 | ## How to use this file ? 5 | 6 | Clone this repo, 7 | copy openeuicc and openeuicc-deps to rom's -> packages/apps 8 | 9 | And add these lines in GSI Makefile: 10 | 11 | PRODUCT_PACKAGES += \ 12 | OpenEUICC \ 13 | 14 | 15 | ## Credits 16 | - [Peter Cai](https://github.com/PeterCxy) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/MsgType.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface MsgType { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/apdu/NotificationType.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa.apdu; 2 | 3 | public enum NotificationType { 4 | ALL(""), INSTALLED("80"), ENABLED("40"), DISABLED("20"), DELETED("10"); 5 | 6 | private final String text; 7 | 8 | NotificationType(final String text) { 9 | this.text = text; 10 | } 11 | 12 | @Override 13 | public String toString() { 14 | return text; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable/ic_check_black.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/download/CloseResources.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa.impl.download; 2 | 3 | import java.io.InputStream; 4 | 5 | public class CloseResources { 6 | 7 | static void closeResources(InputStream is) { 8 | 9 | if (is != null) { 10 | try { 11 | is.close(); 12 | } catch (Exception ignored) { 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /openeuicc/app/src/test/java/im/angry/openeuicc/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /openeuicc/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | id 'com.android.application' version '7.2.1' apply false 4 | id 'com.android.library' version '7.2.1' apply false 5 | id 'org.jetbrains.kotlin.android' version '1.6.21' apply false 6 | id 'org.jetbrains.kotlin.multiplatform' version '1.6.21' apply false 7 | } 8 | 9 | task clean(type: Delete) { 10 | delete rootProject.buildDir 11 | } -------------------------------------------------------------------------------- /openeuicc/app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "im.angry.openeuicc", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 1, 15 | "versionName": "1.0", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/WorkerExchange.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpad.worker; 2 | 3 | /** 4 | * Message used within Workers containing all necessary data 5 | * @param Data to be used on Workers operations 6 | */ 7 | public interface WorkerExchange { 8 | /** 9 | * Get data to be used on Workers operations 10 | * 11 | * @return The data to be used on Workers operations 12 | */ 13 | T getBody(); 14 | } 15 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/ResponseMsgBody.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response.base; 2 | 3 | import com.truphone.es9plus.message.MsgBody; 4 | 5 | public abstract class ResponseMsgBody implements MsgBody { 6 | private HeaderResp header; 7 | 8 | public HeaderResp getHeader() { 9 | return header; 10 | } 11 | 12 | public void setHeader(HeaderResp header) { 13 | this.header = header; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/DownloadOrderResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 4 | 5 | public class DownloadOrderResp extends ResponseMsgBody { 6 | private String iccid; 7 | 8 | public String getIccid() { 9 | return iccid; 10 | } 11 | 12 | public void setIccid(String iccid) { 13 | this.iccid = iccid; 14 | } 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/ApduChannel.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa; 2 | 3 | import java.util.List; 4 | 5 | public interface ApduChannel { 6 | String transmitAPDU(String apdu); 7 | 8 | String transmitAPDUS(List apdus); 9 | 10 | void sendStatus(); 11 | 12 | void setApduTransmittedListener(ApduTransmittedListener apduTransmittedListener); 13 | 14 | void removeApduTransmittedListener(ApduTransmittedListener apduTransmittedListener); 15 | } 16 | -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/src/test/java/im/angry/openeuicc/hidden_apis_shim/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.hidden_apis_shim 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /openeuicc/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "OpenEUICC" 16 | include ':app', ':libs:lpad-sm-dp-plus-connector' 17 | include ':libs:hidden-apis-stub' 18 | include ':libs:hidden-apis-shim' 19 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/LpadWorker.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpad; 2 | 3 | import com.truphone.lpad.worker.WorkerExchange; 4 | 5 | /** 6 | * Representation of all classes that contains the implementation of LPAD operations 7 | */ 8 | public interface LpadWorker { 9 | 10 | /** 11 | * Execute operation 12 | * 13 | * @param input Input parameters 14 | * @return Result of the LPAD operation 15 | */ 16 | E run(T input); 17 | } -------------------------------------------------------------------------------- /openeuicc-deps/Android.bp: -------------------------------------------------------------------------------- 1 | java_import { 2 | name: "asn1bean-prebuilt-jar", 3 | jars: ["repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.jar"], 4 | } 5 | 6 | java_import { 7 | name: "zxing-core-prebuilt-jar", 8 | jars: ["repository/com/google/zxing/core/3.4.1/core-3.4.1.jar"], 9 | } 10 | 11 | android_library_import { 12 | name: "zxing-android-embedded-prebuilt-aar", 13 | aars: ["repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.aar"], 14 | sdk_version: "current", 15 | } 16 | -------------------------------------------------------------------------------- /openeuicc/privapp_whitelist_im.angry.openeuicc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/TLVBean.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | public class TLVBean { 4 | private String taglen; 5 | private String value; 6 | 7 | public TLVBean(String taglen, String value) { 8 | super(); 9 | this.taglen = taglen; 10 | this.value = value; 11 | } 12 | public String getTaglen() { 13 | return taglen; 14 | } 15 | public String getValue() { 16 | return value; 17 | } 18 | public void setValue(String value) { 19 | this.value = value; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/menu/profile_options.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 10 | 11 | 14 | 15 | 18 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 3 | org.eclipse.jdt.core.compiler.compliance=11 4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore 7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled 8 | org.eclipse.jdt.core.compiler.release=disabled 9 | org.eclipse.jdt.core.compiler.source=11 10 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable/ic_menu_black.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/ReleaseProfileReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es2plus/releaseProfile") 8 | public class ReleaseProfileReq extends RequestMsgBody { 9 | private String iccid; 10 | 11 | public String getIccid() { 12 | return iccid; 13 | } 14 | 15 | public void setIccid(String iccid) { 16 | this.iccid = iccid; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /openeuicc/COPYING: -------------------------------------------------------------------------------- 1 | Copyright 2022 Peter Cai & Pierre-Hugues Husson 2 | 3 | This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. 4 | 5 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 6 | 7 | You should have received a copy of the GNU General Public License along with this program. If not, see . 8 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/HttpResponse.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus; 2 | 3 | public class HttpResponse { 4 | private String content; 5 | private int statusCode; 6 | 7 | public String getContent() { 8 | 9 | return content; 10 | } 11 | 12 | public void setContent(String content) { 13 | 14 | this.content = content; 15 | } 16 | 17 | public int getStatusCode() { 18 | 19 | return statusCode; 20 | } 21 | 22 | public void setStatusCode(int statusCode) { 23 | 24 | this.statusCode = statusCode; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/util/StringUtils.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.util 2 | 3 | fun hexStringToByteArray(str: String): ByteArray { 4 | val length = str.length / 2 5 | val out = ByteArray(length) 6 | for (i in 0 until length) { 7 | val i2 = i * 2 8 | out[i] = str.substring(i2, i2 + 2).toInt(16).toByte() 9 | } 10 | return out 11 | } 12 | fun byteArrayToHex(arr: ByteArray): String { 13 | val sb = StringBuilder() 14 | val length = arr.size 15 | for (i in 0 until length) { 16 | sb.append(String.format("%02X", arr[i])) 17 | } 18 | return sb.toString() 19 | } -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/menu/fragment_profile_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 15 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/menu/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 17 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/NotificationPointStatus.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response.base; 2 | 3 | public class NotificationPointStatus { 4 | 5 | private String status; 6 | 7 | private StatusCodeData statusCodeData; 8 | 9 | public String getStatus() { 10 | return status; 11 | } 12 | 13 | public void setStatus(String status) { 14 | this.status = status; 15 | } 16 | 17 | public StatusCodeData getStatusCodeData() { 18 | return statusCodeData; 19 | } 20 | 21 | public void setStatusCodeData(StatusCodeData statusCodeData) { 22 | this.statusCodeData = statusCodeData; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | lpad-sm-dp-plus-connector 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javanature 21 | org.eclipse.m2e.core.maven2Nature 22 | 23 | 24 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/HandleNotificationReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es9plus/handleNotification") 8 | public class HandleNotificationReq extends RequestMsgBody { 9 | private String pendingNotification; 10 | 11 | public String getPendingNotification() { 12 | return pendingNotification; 13 | } 14 | 15 | public void setPendingNotification(String pendingNotification) { 16 | this.pendingNotification = pendingNotification; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/HeaderResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response.base; 2 | 3 | public class HeaderResp { 4 | private FunctionExecutionStatus functionExecutionStatus; 5 | 6 | public HeaderResp(FunctionExecutionStatus functionExecutionStatus) { 7 | super(); 8 | this.functionExecutionStatus = functionExecutionStatus; 9 | } 10 | 11 | public FunctionExecutionStatus getFunctionExecutionStatus() { 12 | return functionExecutionStatus; 13 | } 14 | 15 | public void setFunctionExecutionStatus(FunctionExecutionStatus functionExecutionStatus) { 16 | this.functionExecutionStatus = functionExecutionStatus; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpad/worker/LpadWorkerExchange.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpad.worker; 2 | 3 | /** 4 | * Message used within LPAD Workers containing all necessary data 5 | * 6 | * @param Data to be used on LPAD Workers operations 7 | */ 8 | public class LpadWorkerExchange implements WorkerExchange { 9 | 10 | private final T body; 11 | 12 | public LpadWorkerExchange(final T body) { 13 | this.body = body; 14 | } 15 | 16 | /** 17 | * Get data to be used on LPAD Workers operations 18 | * 19 | * @return The data to be used on LPAD Workers operations 20 | */ 21 | @Override 22 | public T getBody() { 23 | return this.body; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/core/EuiccChannel.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.core 2 | 3 | import com.truphone.lpa.LocalProfileAssistant 4 | 5 | // A custom type to avoid compatibility issues with UiccCardInfo / UiccPortInfo 6 | data class EuiccChannelInfo( 7 | val slotId: Int, 8 | val cardId: Int, 9 | val name: String, 10 | val imei: String, 11 | val removable: Boolean 12 | ) 13 | 14 | abstract class EuiccChannel( 15 | info: EuiccChannelInfo 16 | ) { 17 | val slotId = info.slotId 18 | val cardId = info.cardId 19 | val name = info.name 20 | val imei = info.imei 21 | val removable = info.removable 22 | 23 | abstract val lpa: LocalProfileAssistant 24 | abstract val valid: Boolean 25 | 26 | abstract fun close() 27 | } 28 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/drawable/ic_scan_black.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/OpenEuiccApplication.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc 2 | 3 | import android.app.Application 4 | import android.telephony.SubscriptionManager 5 | import android.telephony.TelephonyManager 6 | import im.angry.openeuicc.core.EuiccChannelManager 7 | 8 | class OpenEuiccApplication : Application() { 9 | val telephonyManager by lazy { 10 | getSystemService(TelephonyManager::class.java)!! 11 | } 12 | 13 | val euiccChannelManager by lazy { 14 | EuiccChannelManager(this) 15 | } 16 | 17 | val subscriptionManager by lazy { 18 | getSystemService(SubscriptionManager::class.java)!! 19 | } 20 | 21 | override fun onCreate() { 22 | super.onCreate() 23 | euiccChannelManager.closeAllStaleChannels() 24 | } 25 | } -------------------------------------------------------------------------------- /openeuicc/app/src/androidTest/java/im/angry/openeuicc/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("im.angry.openeuicc", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/GetBoundProfilePackageResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | 4 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 5 | 6 | public class GetBoundProfilePackageResp extends ResponseMsgBody { 7 | private String transactionID; 8 | private String boundProfilePackage; 9 | 10 | public String getTransactionID() { 11 | return transactionID; 12 | } 13 | 14 | public void setTransactionID(String transactionID) { 15 | this.transactionID = transactionID; 16 | } 17 | 18 | public String getBoundProfilePackage() { 19 | return boundProfilePackage; 20 | } 21 | 22 | public void setBoundProfilePackage(String boundProfilePackage) { 23 | this.boundProfilePackage = boundProfilePackage; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /openeuicc/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/ConfirmOrderResp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response; 2 | 3 | import com.truphone.es9plus.message.response.base.ResponseMsgBody; 4 | 5 | public class ConfirmOrderResp extends ResponseMsgBody { 6 | private String eid; 7 | private String matchingId; 8 | private String smdpAddress; 9 | 10 | public String getEid() { 11 | return eid; 12 | } 13 | 14 | public void setEid(String eid) { 15 | this.eid = eid; 16 | } 17 | 18 | public String getMatchingId() { 19 | return matchingId; 20 | } 21 | 22 | public void setMatchingId(String matchingId) { 23 | this.matchingId = matchingId; 24 | } 25 | 26 | public String getSmdpAddress() { 27 | return smdpAddress; 28 | } 29 | 30 | public void setSmdpAddress(String smdpAddress) { 31 | this.smdpAddress = smdpAddress; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/src/androidTest/java/im/angry/openeuicc/hidden_apis_shim/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.hidden_apis_shim 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("im.angry.openeuicc.hidden_apis_shim.test", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/PropUtil.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | import java.util.Properties; 4 | 5 | public class PropUtil { 6 | 7 | 8 | public static String getMandatoryProperty(final Properties props, 9 | final String key) { 10 | if (!props.containsKey(key)) { 11 | throw new IllegalArgumentException("mandatory property missing: " 12 | + key); 13 | } 14 | return props.getProperty(key); 15 | } 16 | 17 | public static int getIntProperty(final Properties props, final String key, 18 | final int defaultValue) { 19 | if (props.containsKey(key)) { 20 | try { 21 | return Integer.decode(props.getProperty(key)); 22 | } catch (NumberFormatException e) { 23 | throw new IllegalArgumentException( 24 | "syntax error in int property: " + key, e); 25 | } 26 | } else { 27 | return defaultValue; 28 | } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/raw/symantec_gsma_rspv2_root_ci1: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSTCCAe+gAwIBAgIQbmhWeneg7nyF7hg5Y9+qejAKBggqhkjOPQQDAjBEMRgw 3 | FgYDVQQKEw9HU00gQXNzb2NpYXRpb24xKDAmBgNVBAMTH0dTTSBBc3NvY2lhdGlv 4 | biAtIFJTUDIgUm9vdCBDSTEwIBcNMTcwMjIyMDAwMDAwWhgPMjA1MjAyMjEyMzU5 5 | NTlaMEQxGDAWBgNVBAoTD0dTTSBBc3NvY2lhdGlvbjEoMCYGA1UEAxMfR1NNIEFz 6 | c29jaWF0aW9uIC0gUlNQMiBSb290IENJMTBZMBMGByqGSM49AgEGCCqGSM49AwEH 7 | A0IABJ1qutL0HCMX52GJ6/jeibsAqZfULWj/X10p/Min6seZN+hf5llovbCNuB2n 8 | unLz+O8UD0SUCBUVo8e6n9X1TuajgcAwgb0wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud 9 | EwEB/wQFMAMBAf8wEwYDVR0RBAwwCogIKwYBBAGC6WAwFwYDVR0gAQH/BA0wCzAJ 10 | BgdngRIBAgEAME0GA1UdHwRGMEQwQqBAoD6GPGh0dHA6Ly9nc21hLWNybC5zeW1h 11 | dXRoLmNvbS9vZmZsaW5lY2EvZ3NtYS1yc3AyLXJvb3QtY2kxLmNybDAdBgNVHQ4E 12 | FgQUgTcPUSXQsdQI1MOyMubSXnlb6/swCgYIKoZIzj0EAwIDSAAwRQIgIJdYsOMF 13 | WziPK7l8nh5mu0qiRiVf25oa9ullG/OIASwCIQDqCmDrYf+GziHXBOiwJwnBaeBO 14 | aFsiLzIEOaUuZwdNUw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/GetBoundProfilePackageReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es9plus/getBoundProfilePackage") 8 | public class GetBoundProfilePackageReq extends RequestMsgBody { 9 | private String transactionId; 10 | private String prepareDownloadResponse; 11 | 12 | public String getTransactionId() { 13 | return transactionId; 14 | } 15 | 16 | public void setTransactionId(String transactionId) { 17 | this.transactionId = transactionId; 18 | } 19 | 20 | public String getPrepareDownloadResponse() { 21 | return prepareDownloadResponse; 22 | } 23 | 24 | public void setPrepareDownloadResponse(String prepareDownloadResponse) { 25 | this.prepareDownloadResponse = prepareDownloadResponse; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/FunctionExecutionStatus.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response.base; 2 | 3 | public class FunctionExecutionStatus { 4 | private String status; 5 | private StatusCodeData statusCodeData; 6 | 7 | public FunctionExecutionStatus(String status) { 8 | super(); 9 | this.status = status; 10 | } 11 | 12 | public FunctionExecutionStatus(String status, StatusCodeData statusCodeData) { 13 | super(); 14 | this.status = status; 15 | this.statusCodeData = statusCodeData; 16 | } 17 | 18 | public String getStatus() { 19 | return status; 20 | } 21 | 22 | public void setStatus(String status) { 23 | this.status = status; 24 | } 25 | 26 | public StatusCodeData getStatusCodeData() { 27 | return statusCodeData; 28 | } 29 | 30 | public void setStatusCodeData(StatusCodeData statusCodeData) { 31 | this.statusCodeData = statusCodeData; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/AuthenticateClientReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es9plus/authenticateClient") 8 | public class AuthenticateClientReq extends RequestMsgBody { 9 | private String transactionId; 10 | private String authenticateServerResponse; 11 | 12 | public String getTransactionId() { 13 | return transactionId; 14 | } 15 | 16 | public void setTransactionId(String transactionId) { 17 | this.transactionId = transactionId; 18 | } 19 | 20 | public String getAuthenticateServerResponse() { 21 | return authenticateServerResponse; 22 | } 23 | 24 | public void setAuthenticateServerResponse(String authenticateServerResponse) { 25 | this.authenticateServerResponse = authenticateServerResponse; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/Tools.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | public class Tools { 4 | 5 | public static String itoa(int value, int len) { 6 | String result = Integer.toHexString(value).toUpperCase(); 7 | int rLen = result.length(); 8 | len = 2 * len; 9 | if (rLen > len) { 10 | return result.substring(rLen - len, rLen); 11 | } 12 | if (rLen == len) { 13 | return result; 14 | } 15 | StringBuffer strBuff = new StringBuffer(result); 16 | for (int i = 0; i < len - rLen; i++) { 17 | strBuff.insert(0, '0'); 18 | } 19 | return strBuff.toString(); 20 | } 21 | 22 | public static String toHex(String num) { 23 | String hex = Integer.toHexString(Integer.valueOf(num)); 24 | if (hex.length() % 2 != 0) { 25 | hex = "0" + hex; 26 | } 27 | return hex.toUpperCase(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PDSName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PDSName extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PDSName() { 28 | } 29 | 30 | public PDSName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/AttributeValue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class AttributeValue extends BerAny { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public AttributeValue() { 28 | } 29 | 30 | public AttributeValue(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/CommonName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class CommonName extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public CommonName() { 28 | } 29 | 30 | public CommonName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/EmailAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class EmailAddress extends BerIA5String { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public EmailAddress() { 28 | } 29 | 30 | public EmailAddress(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/StreetAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class StreetAddress extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public StreetAddress() { 28 | } 29 | 30 | public StreetAddress(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/X121Address.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class X121Address extends BerNumericString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public X121Address() { 28 | } 29 | 30 | public X121Address(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/NetworkAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class NetworkAddress extends X121Address { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public NetworkAddress() { 28 | } 29 | 30 | public NetworkAddress(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/core/OmapiApduChannel.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.core 2 | 3 | import android.se.omapi.Channel 4 | import com.truphone.lpa.ApduChannel 5 | import com.truphone.lpa.ApduTransmittedListener 6 | import im.angry.openeuicc.util.byteArrayToHex 7 | import im.angry.openeuicc.util.hexStringToByteArray 8 | 9 | class OmapiApduChannel(private val channel: Channel) : ApduChannel { 10 | override fun transmitAPDU(apdu: String): String = 11 | byteArrayToHex(channel.transmit(hexStringToByteArray(apdu))) 12 | 13 | override fun transmitAPDUS(apdus: MutableList): String { 14 | var res = "" 15 | for (pdu in apdus) { 16 | res = transmitAPDU(pdu) 17 | } 18 | return res 19 | } 20 | 21 | override fun sendStatus() { 22 | } 23 | 24 | override fun setApduTransmittedListener(apduTransmittedListener: ApduTransmittedListener?) { 25 | } 26 | 27 | override fun removeApduTransmittedListener(apduTransmittedListener: ApduTransmittedListener?) { 28 | } 29 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/DomainComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class DomainComponent extends BerIA5String { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public DomainComponent() { 28 | } 29 | 30 | public DomainComponent(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/DistinguishedName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class DistinguishedName extends RDNSequence { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public DistinguishedName() { 28 | } 29 | 30 | public DistinguishedName(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/UniquePostalName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class UniquePostalName extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public UniquePostalName() { 28 | } 29 | 30 | public UniquePostalName(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/OrganizationName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class OrganizationName extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public OrganizationName() { 28 | } 29 | 30 | public OrganizationName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/X520SerialNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class X520SerialNumber extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public X520SerialNumber() { 28 | } 29 | 30 | public X520SerialNumber(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/X520countryName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class X520countryName extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public X520countryName() { 28 | } 29 | 30 | public X520countryName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/X520dnQualifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class X520dnQualifier extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public X520dnQualifier() { 28 | } 29 | 30 | public X520dnQualifier(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/TeletexCommonName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class TeletexCommonName extends BerTeletexString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TeletexCommonName() { 28 | } 29 | 30 | public TeletexCommonName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/AuthenticateClientSmDp.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa.impl; 2 | 3 | public class AuthenticateClientSmDp { 4 | private String smdpSigned2; 5 | private String smdpSignature2; 6 | private String smdpCertificate; 7 | 8 | public AuthenticateClientSmDp() { 9 | 10 | super(); 11 | } 12 | 13 | public String getSmdpSigned2() { 14 | 15 | return smdpSigned2; 16 | } 17 | 18 | public String getSmdpSignature2() { 19 | 20 | return smdpSignature2; 21 | } 22 | 23 | public String getSmdpCertificate() { 24 | 25 | return smdpCertificate; 26 | } 27 | 28 | public void setSmdpSigned2(String smdpSigned2) { 29 | 30 | this.smdpSigned2 = smdpSigned2; 31 | } 32 | 33 | public void setSmdpSignature2(String smdpSignature2) { 34 | 35 | this.smdpSignature2 = smdpSignature2; 36 | } 37 | 38 | public void setSmdpCertificate(String smdpCertificate) { 39 | 40 | this.smdpCertificate = smdpCertificate; 41 | } 42 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PostOfficeBoxAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PostOfficeBoxAddress extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PostOfficeBoxAddress() { 28 | } 29 | 30 | public PostOfficeBoxAddress(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PosteRestanteAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PosteRestanteAddress extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PosteRestanteAddress() { 28 | } 29 | 30 | public PosteRestanteAddress(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/TerminalIdentifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class TerminalIdentifier extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TerminalIdentifier() { 28 | } 29 | 30 | public TerminalIdentifier(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/LocalPostalAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class LocalPostalAttributes extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public LocalPostalAttributes() { 28 | } 29 | 30 | public LocalPostalAttributes(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/util/TelephonyUtils.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.util 2 | 3 | import android.telephony.SubscriptionManager 4 | import android.telephony.TelephonyManager 5 | import com.truphone.lpa.LocalProfileInfo 6 | import java.lang.Exception 7 | 8 | val TelephonyManager.supportsDSDS: Boolean 9 | get() = supportedModemCount == 2 10 | 11 | var TelephonyManager.dsdsEnabled: Boolean 12 | get() = activeModemCount >= 2 13 | set(value) { 14 | switchMultiSimConfig(if (value) { 2 } else {1}) 15 | } 16 | 17 | fun SubscriptionManager.tryRefreshCachedEuiccInfo(cardId: Int) { 18 | if (cardId != 0) { 19 | try { 20 | requestEmbeddedSubscriptionInfoListRefresh(cardId) 21 | } catch (e: Exception) { 22 | // Ignore 23 | } 24 | } 25 | } 26 | 27 | val LocalProfileInfo.displayName: String 28 | get() = nickName.ifEmpty { name } 29 | 30 | val List.operational: List 31 | get() = filter { 32 | it.profileClass == LocalProfileInfo.Clazz.Operational 33 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/NumericUserIdentifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class NumericUserIdentifier extends BerNumericString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public NumericUserIdentifier() { 28 | } 29 | 30 | public NumericUserIdentifier(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/OrganizationalUnitName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class OrganizationalUnitName extends BerPrintableString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public OrganizationalUnitName() { 28 | } 29 | 30 | public OrganizationalUnitName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/InitiateAuthenticationReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es9plus/initiateAuthentication") 8 | public class InitiateAuthenticationReq extends RequestMsgBody { 9 | private String euiccChallenge; 10 | private String euiccInfo1; 11 | private String smdpAddress; 12 | 13 | public String getEuiccChallenge() { 14 | return euiccChallenge; 15 | } 16 | 17 | public void setEuiccChallenge(String euiccChallenge) { 18 | this.euiccChallenge = euiccChallenge; 19 | } 20 | 21 | public String getEuiccInfo1() { 22 | return euiccInfo1; 23 | } 24 | 25 | public void setEuiccInfo1(String euiccInfo1) { 26 | this.euiccInfo1 = euiccInfo1; 27 | } 28 | 29 | public String getSmdpAddress() { 30 | return smdpAddress; 31 | } 32 | 33 | public void setSmdpAddress(String smdpAddress) { 34 | this.smdpAddress = smdpAddress; 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/TeletexOrganizationName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class TeletexOrganizationName extends BerTeletexString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TeletexOrganizationName() { 28 | } 29 | 30 | public TeletexOrganizationName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PhysicalDeliveryOfficeName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PhysicalDeliveryOfficeName extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PhysicalDeliveryOfficeName() { 28 | } 29 | 30 | public PhysicalDeliveryOfficeName(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/ExtensionORAddressComponents.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class ExtensionORAddressComponents extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public ExtensionORAddressComponents() { 28 | } 29 | 30 | public ExtensionORAddressComponents(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PhysicalDeliveryOfficeNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PhysicalDeliveryOfficeNumber extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PhysicalDeliveryOfficeNumber() { 28 | } 29 | 30 | public PhysicalDeliveryOfficeNumber(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PhysicalDeliveryPersonalName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PhysicalDeliveryPersonalName extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PhysicalDeliveryPersonalName() { 28 | } 29 | 30 | public PhysicalDeliveryPersonalName(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/TeletexOrganizationalUnitName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class TeletexOrganizationalUnitName extends BerTeletexString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TeletexOrganizationalUnitName() { 28 | } 29 | 30 | public TeletexOrganizationalUnitName(byte[] value) { 31 | super(value); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/PhysicalDeliveryOrganizationName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class PhysicalDeliveryOrganizationName extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public PhysicalDeliveryOrganizationName() { 28 | } 29 | 30 | public PhysicalDeliveryOrganizationName(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/AttributeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class AttributeType extends BerObjectIdentifier { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public AttributeType() { 28 | } 29 | 30 | public AttributeType(byte[] code) { 31 | super(code); 32 | } 33 | 34 | public AttributeType(int[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/DownloadOrderReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | import com.truphone.es9plus.message.MsgType; 4 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 5 | 6 | @MsgType("/gsma/rsp2/es2plus/downloadOrder") 7 | public class DownloadOrderReq extends RequestMsgBody { 8 | private String eid; 9 | private String iccid; 10 | private String profileType; 11 | private String msisdn; 12 | 13 | public String getMsisdn() { 14 | return msisdn; 15 | } 16 | 17 | public void setMsisdn(String msisdn) { 18 | this.msisdn = msisdn; 19 | } 20 | 21 | public String getEid() { 22 | return eid; 23 | } 24 | 25 | public void setEid(String eid) { 26 | this.eid = eid; 27 | } 28 | 29 | public String getIccid() { 30 | return iccid; 31 | } 32 | 33 | public void setIccid(String iccid) { 34 | this.iccid = iccid; 35 | } 36 | 37 | public String getProfileType() { 38 | return profileType; 39 | } 40 | 41 | public void setProfileType(String profileType) { 42 | this.profileType = profileType; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/ExtensionPhysicalDeliveryAddressComponents.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class ExtensionPhysicalDeliveryAddressComponents extends PDSParameter { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public ExtensionPhysicalDeliveryAddressComponents() { 28 | } 29 | 30 | public ExtensionPhysicalDeliveryAddressComponents(byte[] code) { 31 | super(code); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/Version.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class Version extends BerInteger { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public Version() { 28 | } 29 | 30 | public Version(byte[] code) { 31 | super(code); 32 | } 33 | 34 | public Version(BigInteger value) { 35 | super(value); 36 | } 37 | 38 | public Version(long value) { 39 | super(value); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/ui/EuiccChannelFragmentUtils.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.ui 2 | 3 | import android.os.Bundle 4 | import androidx.fragment.app.Fragment 5 | import im.angry.openeuicc.core.EuiccChannel 6 | import im.angry.openeuicc.core.EuiccChannelManager 7 | import im.angry.openeuicc.util.openEuiccApplication 8 | 9 | interface EuiccFragmentMarker 10 | 11 | fun newInstanceEuicc(clazz: Class, slotId: Int): T where T: Fragment, T: EuiccFragmentMarker { 12 | val instance = clazz.newInstance() 13 | instance.arguments = Bundle().apply { 14 | putInt("slotId", slotId) 15 | } 16 | return instance 17 | } 18 | 19 | val T.slotId: Int where T: Fragment, T: EuiccFragmentMarker 20 | get() = requireArguments().getInt("slotId") 21 | 22 | val T.euiccChannelManager: EuiccChannelManager where T: Fragment, T: EuiccFragmentMarker 23 | get() = openEuiccApplication.euiccChannelManager 24 | 25 | val T.channel: EuiccChannel where T: Fragment, T: EuiccFragmentMarker 26 | get() = 27 | euiccChannelManager.findEuiccChannelBySlotBlocking(slotId)!! 28 | 29 | interface EuiccProfilesChangedListener { 30 | fun onEuiccProfilesChanged() 31 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/TerminalType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class TerminalType extends BerInteger { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TerminalType() { 28 | } 29 | 30 | public TerminalType(byte[] code) { 31 | super(code); 32 | } 33 | 34 | public TerminalType(BigInteger value) { 35 | super(value); 36 | } 37 | 38 | public TerminalType(long value) { 39 | super(value); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /openeuicc/libs/hidden-apis-shim/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | id 'org.jetbrains.kotlin.android' 4 | } 5 | 6 | android { 7 | compileSdk 32 8 | 9 | defaultConfig { 10 | minSdk 30 11 | targetSdk 32 12 | 13 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 14 | consumerProguardFiles "consumer-rules.pro" 15 | } 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | compileOptions { 24 | sourceCompatibility JavaVersion.VERSION_11 25 | targetCompatibility JavaVersion.VERSION_11 26 | } 27 | kotlinOptions { 28 | jvmTarget = '1.8' 29 | } 30 | } 31 | 32 | dependencies { 33 | 34 | implementation 'androidx.core:core-ktx:1.7.0' 35 | implementation 'androidx.appcompat:appcompat:1.4.2' 36 | implementation 'com.google.android.material:material:1.6.1' 37 | testImplementation 'junit:junit:4.13.2' 38 | androidTestImplementation 'androidx.test.ext:junit:1.1.3' 39 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 40 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/UniqueIdentifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class UniqueIdentifier extends BerBitString { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public UniqueIdentifier() { 28 | } 29 | 30 | public UniqueIdentifier(byte[] code) { 31 | super(code); 32 | } 33 | 34 | public UniqueIdentifier(byte[] value, int numBits) { 35 | super(value, numBits); 36 | } 37 | 38 | public UniqueIdentifier(boolean[] value) { 39 | super(value); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | apply plugin: 'kotlin' 3 | 4 | configurations { 5 | tool 6 | } 7 | 8 | dependencies { 9 | tool 'javax.xml.bind:jaxb-api:2.3.0' 10 | tool 'com.beanit:asn1bean-compiler:1.13.0' 11 | implementation 'com.beanit:asn1bean:1.13.0' 12 | implementation 'com.google.code.gson:gson:2.8.4' 13 | testImplementation 'junit:junit:4.12' 14 | testImplementation 'org.mockito:mockito-all:1.10.19' 15 | testImplementation 'com.github.tomakehurst:wiremock:2.17.0' 16 | } 17 | 18 | sourceSets.main.java.srcDirs = ['src/generated/asn1','src/main/java'] 19 | 20 | task genAsn1(type: JavaExec) { 21 | mainClass = 'com.beanit.asn1bean.compiler.Compiler' 22 | args "-o", "$projectDir/src/generated/asn1", "-p", "com.truphone.rsp.dto.asn1", "-f", "$projectDir/src/main/resources/PKIXExplicit88.asn", "$projectDir/src/main/resources/PKIXImplicit88.asn", "$projectDir/src/main/resources/rsp.asn" 23 | classpath configurations.tool 24 | } 25 | 26 | compileJava.dependsOn genAsn1 27 | compileKotlin.dependsOn genAsn1 28 | 29 | description = 'LPAd SM-DP+ Connector' 30 | 31 | java { 32 | sourceCompatibility = JavaVersion.VERSION_1_8 33 | targetCompatibility = JavaVersion.VERSION_1_8 34 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1explicit88/CertificateSerialNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1explicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | 23 | public class CertificateSerialNumber extends BerInteger { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public CertificateSerialNumber() { 28 | } 29 | 30 | public CertificateSerialNumber(byte[] code) { 31 | super(code); 32 | } 33 | 34 | public CertificateSerialNumber(BigInteger value) { 35 | super(value); 36 | } 37 | 38 | public CertificateSerialNumber(long value) { 39 | super(value); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/CancelSessionReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es9plus/cancelSession") 8 | public class CancelSessionReq extends RequestMsgBody { 9 | private String transactionId; 10 | private String euiccCancelSessionSigned; 11 | private String euiccCancelSessionSignature; 12 | 13 | public String getTransactionId() { 14 | return transactionId; 15 | } 16 | 17 | public void setTransactionId(String transactionId) { 18 | this.transactionId = transactionId; 19 | } 20 | 21 | public String getEuiccCancelSessionSigned() { 22 | return euiccCancelSessionSigned; 23 | } 24 | 25 | public void setEuiccCancelSessionSigned(String euiccCancelSessionSigned) { 26 | this.euiccCancelSessionSigned = euiccCancelSessionSigned; 27 | } 28 | 29 | public String getEuiccCancelSessionSignature() { 30 | return euiccCancelSessionSignature; 31 | } 32 | 33 | public void setEuiccCancelSessionSignature(String euiccCancelSessionSignature) { 34 | this.euiccCancelSessionSignature = euiccCancelSessionSignature; 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Octet1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Octet1 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public Octet1() { 32 | } 33 | 34 | public Octet1(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Octet2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Octet2 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public Octet2() { 32 | } 33 | 34 | public Octet2(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Octet8.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Octet8 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public Octet8() { 32 | } 33 | 34 | public Octet8(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Octet16.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Octet16 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public Octet16() { 32 | } 33 | 34 | public Octet16(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Octet32.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Octet32 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public Octet32() { 32 | } 33 | 34 | public Octet32(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/OctetTo16.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class OctetTo16 extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public OctetTo16() { 32 | } 33 | 34 | public OctetTo16(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/ExpirationDate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class ExpirationDate extends Time { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public ExpirationDate() { 32 | } 33 | 34 | public ExpirationDate(byte[] code) { 35 | super(code); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/VersionType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class VersionType extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public VersionType() { 32 | } 33 | 34 | public VersionType(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/TransactionId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class TransactionId extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public TransactionId() { 32 | } 33 | 34 | public TransactionId(byte[] value) { 35 | super(value); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/LocalProfileAssistant.java: -------------------------------------------------------------------------------- 1 | package com.truphone.lpa; 2 | 3 | import com.truphone.lpa.progress.DownloadProgress; 4 | import com.truphone.lpad.progress.Progress; 5 | 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | public interface LocalProfileAssistant { 10 | 11 | boolean enableProfile(String iccid, Progress progress); 12 | 13 | boolean disableProfile(String iccid, Progress progress); 14 | 15 | boolean deleteProfile(String iccid, Progress progress); 16 | 17 | String getDefaultSMDP(); 18 | 19 | String setDefaultSMDP(String smdpAddress, Progress progress); 20 | 21 | 22 | void downloadProfile(String matchingId, String imei, DownloadProgress progress) throws Exception; 23 | 24 | List getProfiles(); 25 | 26 | /** 27 | * Gets the EID from the eUICC 28 | * @return the EID from the eUICC 29 | */ 30 | String getEID(); 31 | 32 | /** 33 | * Allocates the Protected Profile Packages to specified EIDs based on given MCC 34 | * @param mcc Mobile country code 35 | * @return Activation Code Token 36 | */ 37 | String allocateProfile(String mcc); 38 | 39 | void processPendingNotifications(); 40 | 41 | boolean setNickname(String iccid, String nickname 42 | ); 43 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/CPSuri.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class CPSuri extends BerIA5String { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public CPSuri() { 34 | } 35 | 36 | public CPSuri(byte[] value) { 37 | super(value); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/IconType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class IconType extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public IconType() { 32 | } 33 | 34 | public IconType(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public IconType(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public IconType(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Kotlin code style for this project: "official" or "obsolete": 19 | kotlin.code.style=official 20 | # Enables namespacing of each library's R class so that its R class includes only the 21 | # resources declared in the library itself and none from the library's dependencies, 22 | # thereby reducing the size of the R class for that library 23 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/beanit/asn1bean/1.13.0/asn1bean-1.13.0.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 4.0.0 10 | com.beanit 11 | asn1bean 12 | 1.13.0 13 | ASN1bean 14 | ASN1bean is a library used for encoding and decoding ASN.1 BER messages. 15 | http://www.beanit.com/ 16 | 17 | 18 | The Apache License, Version 2.0 19 | http://www.apache.org/licenses/LICENSE-2.0.txt 20 | 21 | 22 | 23 | 24 | beanit 25 | Beanit GmbH 26 | 27 | 28 | 29 | none 30 | none 31 | 32 | 33 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/PprIds.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class PprIds extends BerBitString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public PprIds() { 32 | } 33 | 34 | public PprIds(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public PprIds(byte[] value, int numBits) { 39 | super(value, numBits); 40 | } 41 | 42 | public PprIds(boolean[] value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/ErrorReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class ErrorReason extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public ErrorReason() { 32 | } 33 | 34 | public ErrorReason(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public ErrorReason(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public ErrorReason(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/FreshestCRL.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class FreshestCRL extends CRLDistributionPoints { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public FreshestCRL() { 34 | } 35 | 36 | public FreshestCRL(byte[] code) { 37 | super(code); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/IssuerAltName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class IssuerAltName extends GeneralNames { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public IssuerAltName() { 34 | } 35 | 36 | public IssuerAltName(byte[] code) { 37 | super(code); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/KeyIdentifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class KeyIdentifier extends BerOctetString { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public KeyIdentifier() { 34 | } 35 | 36 | public KeyIdentifier(byte[] value) { 37 | super(value); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/SubjectAltName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class SubjectAltName extends GeneralNames { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public SubjectAltName() { 34 | } 35 | 36 | public SubjectAltName(byte[] code) { 37 | super(code); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/BppCommandId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class BppCommandId extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public BppCommandId() { 32 | } 33 | 34 | public BppCommandId(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public BppCommandId(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public BppCommandId(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/ProfileClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class ProfileClass extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public ProfileClass() { 32 | } 33 | 34 | public ProfileClass(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public ProfileClass(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public ProfileClass(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/ProfileState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class ProfileState extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public ProfileState() { 32 | } 33 | 34 | public ProfileState(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public ProfileState(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public ProfileState(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/InvalidityDate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class InvalidityDate extends BerGeneralizedTime { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public InvalidityDate() { 34 | } 35 | 36 | public InvalidityDate(byte[] value) { 37 | super(value); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/CertificateIssuer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class CertificateIssuer extends GeneralNames { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public CertificateIssuer() { 34 | } 35 | 36 | public CertificateIssuer(byte[] code) { 37 | super(code); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/PartialCrlNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class PartialCrlNumber extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public PartialCrlNumber() { 32 | } 33 | 34 | public PartialCrlNumber(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public PartialCrlNumber(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public PartialCrlNumber(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/SubjectKeyIdentifier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class SubjectKeyIdentifier extends KeyIdentifier { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public SubjectKeyIdentifier() { 34 | } 35 | 36 | public SubjectKeyIdentifier(byte[] value) { 37 | super(value); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/DownloadErrorCode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class DownloadErrorCode extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public DownloadErrorCode() { 32 | } 33 | 34 | public DownloadErrorCode(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public DownloadErrorCode(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public DownloadErrorCode(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/RspCapability.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class RspCapability extends BerBitString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public RspCapability() { 32 | } 33 | 34 | public RspCapability(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public RspCapability(byte[] value, int numBits) { 39 | super(value, numBits); 40 | } 41 | 42 | public RspCapability(boolean[] value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/UICCCapability.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class UICCCapability extends BerBitString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public UICCCapability() { 32 | } 33 | 34 | public UICCCapability(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public UICCCapability(byte[] value, int numBits) { 39 | super(value, numBits); 40 | } 41 | 42 | public UICCCapability(boolean[] value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/CancelSessionReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class CancelSessionReason extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public CancelSessionReason() { 32 | } 33 | 34 | public CancelSessionReason(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public CancelSessionReason(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public CancelSessionReason(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/CertificateInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class CertificateInfo extends BerBitString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public CertificateInfo() { 32 | } 33 | 34 | public CertificateInfo(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public CertificateInfo(byte[] value, int numBits) { 39 | super(value, numBits); 40 | } 41 | 42 | public CertificateInfo(boolean[] value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/LoadCRLResponseError.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class LoadCRLResponseError extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public LoadCRLResponseError() { 32 | } 33 | 34 | public LoadCRLResponseError(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public LoadCRLResponseError(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public LoadCRLResponseError(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/ProfileInfoListError.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class ProfileInfoListError extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public ProfileInfoListError() { 32 | } 33 | 34 | public ProfileInfoListError(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public ProfileInfoListError(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public ProfileInfoListError(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/ToTLV.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | 4 | public class ToTLV { 5 | public static String toTLV(String tag,String input){ 6 | if("".equals(tag))return toTLV(input); 7 | return tag+toTLV(input); 8 | } 9 | 10 | public static String integerToTLV(String tag,int input){ 11 | if("".equals(tag))return integerToTLV(input); 12 | return tag+integerToTLV(input); 13 | } 14 | 15 | public static String integerToTLV(int input) { 16 | String tlv; 17 | if(input<=127){ 18 | tlv=String.format("01%02X", input); 19 | }else{ 20 | tlv=String.format("02%04X", input); 21 | } 22 | 23 | return tlv; 24 | } 25 | 26 | 27 | public static String toTLV(String input) { 28 | int inputLen = input.length()/2; 29 | String strInputLenString = toHex(String.valueOf(inputLen)); 30 | if (inputLen > 65535) { 31 | input = "83" + strInputLenString + input; 32 | } else if (inputLen > 255) { 33 | input = "82" + strInputLenString + input; 34 | } else if(inputLen > 127) { 35 | input = "81" + strInputLenString + input; 36 | } else { 37 | input = strInputLenString + input; 38 | } 39 | 40 | return input; 41 | } 42 | 43 | private static String toHex(String num) { 44 | String hex = Integer.toHexString(Integer.valueOf(num)); 45 | if (hex.length() % 2 != 0) { 46 | hex = "0" + hex; 47 | } 48 | return hex.toUpperCase(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/AuthenticateErrorCode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class AuthenticateErrorCode extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public AuthenticateErrorCode() { 32 | } 33 | 34 | public AuthenticateErrorCode(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public AuthenticateErrorCode(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public AuthenticateErrorCode(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/NotificationEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class NotificationEvent extends BerBitString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public NotificationEvent() { 32 | } 33 | 34 | public NotificationEvent(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public NotificationEvent(byte[] value, int numBits) { 39 | super(value, numBits); 40 | } 41 | 42 | public NotificationEvent(boolean[] value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/TotalPartialCrlNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class TotalPartialCrlNumber extends BerInteger { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public TotalPartialCrlNumber() { 32 | } 33 | 34 | public TotalPartialCrlNumber(byte[] code) { 35 | super(code); 36 | } 37 | 38 | public TotalPartialCrlNumber(BigInteger value) { 39 | super(value); 40 | } 41 | 42 | public TotalPartialCrlNumber(long value) { 43 | super(value); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/util/UiUtils.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.util 2 | 3 | import android.app.Activity 4 | import android.content.res.Resources 5 | import android.graphics.Rect 6 | import android.view.ViewGroup 7 | import androidx.fragment.app.DialogFragment 8 | import androidx.fragment.app.Fragment 9 | import im.angry.openeuicc.OpenEuiccApplication 10 | 11 | val Activity.openEuiccApplication: OpenEuiccApplication 12 | get() = application as OpenEuiccApplication 13 | 14 | val Fragment.openEuiccApplication: OpenEuiccApplication 15 | get() = requireActivity().openEuiccApplication 16 | 17 | // Source: 18 | /** 19 | * Call this method (in onActivityCreated or later) to set 20 | * the width of the dialog to a percentage of the current 21 | * screen width. 22 | */ 23 | fun DialogFragment.setWidthPercent(percentage: Int) { 24 | val percent = percentage.toFloat() / 100 25 | val dm = Resources.getSystem().displayMetrics 26 | val rect = dm.run { Rect(0, 0, widthPixels, heightPixels) } 27 | val percentWidth = rect.width() * percent 28 | dialog?.window?.setLayout(percentWidth.toInt(), ViewGroup.LayoutParams.WRAP_CONTENT) 29 | } 30 | 31 | /** 32 | * Call this method (in onActivityCreated or later) 33 | * to make the dialog near-full screen. 34 | */ 35 | fun DialogFragment.setFullScreen() { 36 | dialog?.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) 37 | } 38 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/CertPolicyId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class CertPolicyId extends BerObjectIdentifier { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public CertPolicyId() { 34 | } 35 | 36 | public CertPolicyId(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public CertPolicyId(int[] value) { 41 | super(value); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/KeyPurposeId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class KeyPurposeId extends BerObjectIdentifier { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public KeyPurposeId() { 34 | } 35 | 36 | public KeyPurposeId(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public KeyPurposeId(int[] value) { 41 | super(value); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/AllocateProfileResponse.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus; 2 | 3 | public class AllocateProfileResponse { 4 | private String acFormat; 5 | private String smDpPlusAddress; 6 | private String acToken; 7 | private String smDpPlusOid; 8 | private String confirmationCodeRequiredFlag; 9 | 10 | public String getAcFormat() { 11 | 12 | return acFormat; 13 | } 14 | 15 | public void setAcFormat(String acFormat) { 16 | 17 | this.acFormat = acFormat; 18 | } 19 | 20 | public String getSmDpPlusAddress() { 21 | 22 | return smDpPlusAddress; 23 | } 24 | 25 | public void setSmDpPlusAddress(String smDpPlusAddress) { 26 | 27 | this.smDpPlusAddress = smDpPlusAddress; 28 | } 29 | 30 | public String getAcToken() { 31 | 32 | return acToken; 33 | } 34 | 35 | public void setAcToken(String acToken) { 36 | 37 | this.acToken = acToken; 38 | } 39 | 40 | public String getSmDpPlusOid() { 41 | 42 | return smDpPlusOid; 43 | } 44 | 45 | public void setSmDpPlusOid(String smDpPlusOid) { 46 | 47 | this.smDpPlusOid = smDpPlusOid; 48 | } 49 | 50 | public String getConfirmationCodeRequiredFlag() { 51 | 52 | return confirmationCodeRequiredFlag; 53 | } 54 | 55 | public void setConfirmationCodeRequiredFlag(String confirmationCodeRequiredFlag) { 56 | 57 | this.confirmationCodeRequiredFlag = confirmationCodeRequiredFlag; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/PolicyQualifierId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class PolicyQualifierId extends BerObjectIdentifier { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public PolicyQualifierId() { 34 | } 35 | 36 | public PolicyQualifierId(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public PolicyQualifierId(int[] value) { 41 | super(value); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/HoldInstructionCode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class HoldInstructionCode extends BerObjectIdentifier { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public HoldInstructionCode() { 34 | } 35 | 36 | public HoldInstructionCode(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public HoldInstructionCode(int[] value) { 41 | super(value); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/core/TelephonyManagerApduChannel.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.core 2 | 3 | import android.telephony.TelephonyManager 4 | import com.truphone.lpa.ApduChannel 5 | import com.truphone.lpa.ApduTransmittedListener 6 | import im.angry.openeuicc.util.* 7 | 8 | class TelephonyManagerApduChannel( 9 | private val tm: TelephonyManager, 10 | private val slotId: Int, 11 | private val channelId: Int) : ApduChannel { 12 | 13 | override fun transmitAPDU(apdu: String): String? { 14 | val cla = Integer.parseInt(apdu.substring(0, 2), 16) 15 | val instruction = Integer.parseInt(apdu.substring(2, 4), 16) 16 | val p1 = Integer.parseInt(apdu.substring(4, 6), 16) 17 | val p2 = Integer.parseInt(apdu.substring(6, 8), 16) 18 | val p3 = Integer.parseInt(apdu.substring(8, 10), 16) 19 | val p4 = apdu.substring(10) 20 | 21 | return tm.iccTransmitApduLogicalChannelBySlot( 22 | slotId, channelId, 23 | cla, instruction, p1, p2, p3, p4) 24 | } 25 | 26 | override fun transmitAPDUS(apdus: MutableList): String? { 27 | var res: String? = "" 28 | for (pdu in apdus) { 29 | res = transmitAPDU(pdu) 30 | } 31 | return res 32 | } 33 | 34 | override fun sendStatus() { 35 | } 36 | 37 | override fun setApduTransmittedListener(apduTransmittedListener: ApduTransmittedListener?) { 38 | } 39 | 40 | override fun removeApduTransmittedListener(apduTransmittedListener: ApduTransmittedListener?) { 41 | } 42 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/CRLReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class CRLReason extends BerEnum { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public CRLReason() { 34 | } 35 | 36 | public CRLReason(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public CRLReason(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public CRLReason(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/CRLNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class CRLNumber extends BerInteger { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public CRLNumber() { 34 | } 35 | 36 | public CRLNumber(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public CRLNumber(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public CRLNumber(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/SkipCerts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class SkipCerts extends BerInteger { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public SkipCerts() { 34 | } 35 | 36 | public SkipCerts(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public SkipCerts(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public SkipCerts(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/Android.bp: -------------------------------------------------------------------------------- 1 | android_app { 2 | name: "OpenEUICC", 3 | static_libs: [ 4 | // Dependencies that must be pulled from maven 5 | "asn1bean-prebuilt-jar", 6 | "zxing-core-prebuilt-jar", 7 | "zxing-android-embedded-prebuilt-aar", 8 | 9 | // Dependencies included with AOSP 10 | "androidx.appcompat_appcompat", 11 | "androidx.cardview_cardview", 12 | "androidx-constraintlayout_constraintlayout", 13 | "androidx.core_core-ktx", 14 | "androidx.lifecycle_lifecycle-runtime-ktx", 15 | "androidx.swiperefreshlayout_swiperefreshlayout", 16 | "com.google.android.material_material", 17 | "gson-prebuilt-jar", 18 | "kotlinx_coroutines", 19 | ], 20 | srcs: [ 21 | // Main app 22 | "app/src/main/**/*.kt", 23 | 24 | // TruPhone LPAd library 25 | "libs/lpad-sm-dp-plus-connector/src/generated/**/*.java", 26 | "libs/lpad-sm-dp-plus-connector/src/main/**/*.java", 27 | "libs/lpad-sm-dp-plus-connector/src/main/**/*.kt", 28 | ], 29 | resource_dirs: [ 30 | "app/src/main/res", 31 | ], 32 | required: ["privapp_whitelist_im.angry.openeuicc.xml"], 33 | manifest: "app/src/main/AndroidManifest.xml", 34 | privileged: true, 35 | platform_apis: true, 36 | system_ext_specific: true, 37 | certificate: "platform", 38 | } 39 | 40 | prebuilt_etc { 41 | name: "privapp_whitelist_im.angry.openeuicc.xml", 42 | system_ext_specific: true, 43 | src: "privapp_whitelist_im.angry.openeuicc.xml", 44 | sub_dir: "permissions", 45 | } 46 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/BaseDistance.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class BaseDistance extends BerInteger { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public BaseDistance() { 34 | } 35 | 36 | public BaseDistance(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public BaseDistance(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public BaseDistance(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/KeyUsage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class KeyUsage extends BerBitString { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public KeyUsage() { 34 | } 35 | 36 | public KeyUsage(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public KeyUsage(byte[] value, int numBits) { 41 | super(value, numBits); 42 | } 43 | 44 | public KeyUsage(boolean[] value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/BaseCRLNumber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class BaseCRLNumber extends CRLNumber { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public BaseCRLNumber() { 34 | } 35 | 36 | public BaseCRLNumber(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public BaseCRLNumber(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public BaseCRLNumber(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/ReasonFlags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class ReasonFlags extends BerBitString { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public ReasonFlags() { 34 | } 35 | 36 | public ReasonFlags(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public ReasonFlags(byte[] value, int numBits) { 41 | super(value, numBits); 42 | } 43 | 44 | public ReasonFlags(boolean[] value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/request/ConfirmOrderReq.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.request; 2 | 3 | 4 | import com.truphone.es9plus.message.MsgType; 5 | import com.truphone.es9plus.message.request.base.RequestMsgBody; 6 | 7 | @MsgType("/gsma/rsp2/es2plus/confirmOrder") 8 | public class ConfirmOrderReq extends RequestMsgBody { 9 | private String iccid; 10 | private String eid; 11 | private String matchingId; 12 | private String comfirmationCode; 13 | private String smdsAddress; 14 | private boolean releaseFlag; 15 | public String getIccid() { 16 | return iccid; 17 | } 18 | public void setIccid(String iccid) { 19 | this.iccid = iccid; 20 | } 21 | public String getEid() { 22 | return eid; 23 | } 24 | public void setEid(String eid) { 25 | this.eid = eid; 26 | } 27 | public String getMatchingId() { 28 | return matchingId; 29 | } 30 | public void setMatchingId(String matchingId) { 31 | this.matchingId = matchingId; 32 | } 33 | public String getComfirmationCode() { 34 | return comfirmationCode; 35 | } 36 | public void setComfirmationCode(String comfirmationCode) { 37 | this.comfirmationCode = comfirmationCode; 38 | } 39 | public String getSmdsAddress() { 40 | return smdsAddress; 41 | } 42 | public void setSmdsAddress(String smdsAddress) { 43 | this.smdsAddress = smdsAddress; 44 | } 45 | public boolean getReleaseFlag() { 46 | return releaseFlag; 47 | } 48 | public void setReleaseFlag(boolean releaseFlag) { 49 | this.releaseFlag = releaseFlag; 50 | } 51 | 52 | 53 | } 54 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/pkix1implicit88/InhibitAnyPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.pkix1implicit88; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Attribute; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateSerialNumber; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.DirectoryString; 25 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Name; 26 | import com.truphone.rsp.dto.asn1.pkix1explicit88.ORAddress; 27 | import com.truphone.rsp.dto.asn1.pkix1explicit88.RelativeDistinguishedName; 28 | 29 | public class InhibitAnyPolicy extends SkipCerts { 30 | 31 | private static final long serialVersionUID = 1L; 32 | 33 | public InhibitAnyPolicy() { 34 | } 35 | 36 | public InhibitAnyPolicy(byte[] code) { 37 | super(code); 38 | } 39 | 40 | public InhibitAnyPolicy(BigInteger value) { 41 | super(value); 42 | } 43 | 44 | public InhibitAnyPolicy(long value) { 45 | super(value); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/layout/fragment_euicc.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 21 | 22 | 23 | 24 | 33 | 34 | -------------------------------------------------------------------------------- /openeuicc/app/src/main/java/im/angry/openeuicc/core/OmapiChannel.kt: -------------------------------------------------------------------------------- 1 | package im.angry.openeuicc.core 2 | 3 | import android.se.omapi.Channel 4 | import android.se.omapi.SEService 5 | import android.util.Log 6 | import com.truphone.lpa.LocalProfileAssistant 7 | import com.truphone.lpa.impl.LocalProfileAssistantImpl 8 | import java.lang.Exception 9 | 10 | class OmapiChannel private constructor( 11 | info: EuiccChannelInfo, 12 | private val channel: Channel 13 | ) : EuiccChannel(info) { 14 | companion object { 15 | private const val TAG = "OmapiChannel" 16 | private val APPLET_ID = byteArrayOf(-96, 0, 0, 5, 89, 16, 16, -1, -1, -1, -1, -119, 0, 0, 1, 0) 17 | 18 | fun tryConnect(service: SEService, info: EuiccChannelInfo): OmapiChannel? { 19 | try { 20 | val reader = service.getUiccReader(info.slotId + 1) // slotId from telephony starts from 0 21 | val session = reader.openSession() 22 | val channel = session.openLogicalChannel(APPLET_ID) ?: return null 23 | return OmapiChannel(info, channel) 24 | } catch (e: Exception) { 25 | Log.e(TAG, "Unable to open eUICC channel for slot ${info.slotId}, skipping") 26 | Log.e(TAG, Log.getStackTraceString(e)) 27 | return null 28 | } 29 | } 30 | } 31 | 32 | override val lpa: LocalProfileAssistant by lazy { 33 | LocalProfileAssistantImpl(OmapiApduChannel(channel)) 34 | } 35 | override val valid: Boolean 36 | get() = channel.isOpen // TODO: This has to be implemented properly 37 | 38 | override fun close() = channel.close() 39 | } 40 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/es9plus/message/response/base/StatusCodeData.java: -------------------------------------------------------------------------------- 1 | package com.truphone.es9plus.message.response.base; 2 | 3 | public class StatusCodeData { 4 | 5 | private String subjectCode; 6 | 7 | private String reasonCode; 8 | 9 | private String message; 10 | 11 | private String subjectIdentifier; 12 | 13 | public StatusCodeData() { 14 | super(); 15 | } 16 | 17 | public StatusCodeData(String subjectCode, String reasonCode, String message) { 18 | super(); 19 | this.subjectCode = subjectCode; 20 | this.reasonCode = reasonCode; 21 | this.message = message; 22 | } 23 | 24 | public StatusCodeData(String subjectCode, String reasonCode, String message, String subjectIdentifier) { 25 | super(); 26 | this.subjectCode = subjectCode; 27 | this.reasonCode = reasonCode; 28 | this.message = message; 29 | this.subjectIdentifier = subjectIdentifier; 30 | } 31 | 32 | public String getSubjectCode() { 33 | return subjectCode; 34 | } 35 | 36 | public void setSubjectCode(String subjectCode) { 37 | this.subjectCode = subjectCode; 38 | } 39 | 40 | public String getReasonCode() { 41 | return reasonCode; 42 | } 43 | 44 | public void setReasonCode(String reasonCode) { 45 | this.reasonCode = reasonCode; 46 | } 47 | 48 | public String getMessage() { 49 | return message; 50 | } 51 | 52 | public void setMessage(String message) { 53 | this.message = message; 54 | } 55 | 56 | public String getSubjectIdentifier() { 57 | return subjectIdentifier; 58 | } 59 | 60 | public void setSubjectIdentifier(String subjectIdentifier) { 61 | this.subjectIdentifier = subjectIdentifier; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/Util.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | public class Util { 4 | public static String byteToHexString(byte b) { 5 | StringBuffer s = new StringBuffer(); 6 | 7 | if ((b & 0xFF) < 16) 8 | s.append("0"); 9 | s.append(Integer.toHexString(b & 0xFF).toUpperCase()); 10 | return s.toString(); 11 | } 12 | 13 | public static String byteArrayToHexString(byte[] buffer, String separator) { 14 | StringBuffer s = new StringBuffer(); 15 | int i = 0; 16 | 17 | for (i = 0; i < buffer.length; i++) { 18 | s.append(byteToHexString(buffer[i]) + separator); 19 | } 20 | 21 | if (s.length() > 0) { 22 | s.delete(s.length() - separator.length(), s.length()); 23 | } 24 | 25 | return s.toString(); 26 | } 27 | 28 | public static byte[] hexStringToByteArray(String s) { 29 | if (s == null) 30 | return null; 31 | s = s.replaceAll(" ", "").replaceAll(":", "").replaceAll("0x", "").replaceAll("0X", ""); 32 | if (s.length() % 2 != 0) 33 | throw new IllegalArgumentException("The length cannot be odd."); 34 | byte[] output = new byte[s.length() / 2]; 35 | for (int i = 0; i < s.length(); i += 2) 36 | output[(i / 2)] = ((byte) Integer.parseInt(s.substring(i, i + 2), 16)); 37 | return output; 38 | } 39 | 40 | 41 | public static String ASCIIToHex(String s) { 42 | String ret = ""; 43 | 44 | if (s != null) { 45 | byte[] buffer = s.getBytes(); 46 | 47 | ret = byteArrayToHexString(buffer, ""); 48 | } 49 | 50 | return ret; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/util/LogStub.java: -------------------------------------------------------------------------------- 1 | package com.truphone.util; 2 | 3 | import java.util.logging.Level; 4 | import java.util.logging.Logger; 5 | 6 | public class LogStub { 7 | private static LogStub instance; 8 | 9 | private Level logLevel; 10 | private String tag; 11 | private boolean androidLog; 12 | 13 | private LogStub() { 14 | 15 | logLevel = Level.ALL; 16 | tag = ""; 17 | androidLog = false; 18 | } 19 | 20 | public static LogStub getInstance() { 21 | 22 | if (instance == null) { 23 | instance = new LogStub(); 24 | } 25 | 26 | return instance; 27 | } 28 | 29 | public void setLogLevel(Level logLevel) { 30 | 31 | this.logLevel = logLevel; 32 | } 33 | 34 | public boolean isDebugEnabled() { 35 | 36 | return logLevel.intValue() <= Level.FINE.intValue(); 37 | } 38 | 39 | private boolean isTraceEnabled() { 40 | 41 | return logLevel.intValue() <= Level.FINEST.intValue(); 42 | } 43 | 44 | public String getTag() { 45 | 46 | return tag; 47 | } 48 | 49 | public void setTag(String tag) { 50 | 51 | this.tag = tag; 52 | } 53 | 54 | public void setAndroidLog(boolean androidLog) { 55 | 56 | this.androidLog = androidLog; 57 | } 58 | 59 | private boolean isAndroidLog() { 60 | 61 | return androidLog; 62 | } 63 | 64 | public void logDebug(Logger logger, String message) { 65 | logger.info(message); 66 | // if (isAndroidLog()) { 67 | // logger.info(message); 68 | // } else { 69 | // //logger.fine(message); 70 | // System.out.println(message); 71 | // } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /openeuicc/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'org.jetbrains.kotlin.android' 4 | } 5 | 6 | android { 7 | compileSdk 31 8 | 9 | defaultConfig { 10 | applicationId "im.angry.openeuicc" 11 | minSdk 30 12 | targetSdk 31 13 | versionCode 1 14 | versionName "1.0" 15 | 16 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 17 | } 18 | 19 | buildTypes { 20 | release { 21 | minifyEnabled false 22 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | compileOptions { 26 | sourceCompatibility JavaVersion.VERSION_11 27 | targetCompatibility JavaVersion.VERSION_11 28 | } 29 | kotlinOptions { 30 | jvmTarget = '1.8' 31 | } 32 | } 33 | 34 | dependencies { 35 | compileOnly project(':libs:hidden-apis-stub') 36 | implementation project(':libs:hidden-apis-shim') 37 | implementation project(":libs:lpad-sm-dp-plus-connector") 38 | implementation 'androidx.core:core-ktx:1.7.0' 39 | implementation 'androidx.appcompat:appcompat:1.4.1' 40 | implementation 'com.google.android.material:material:1.6.0' 41 | implementation 'androidx.constraintlayout:constraintlayout:2.1.3' 42 | implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' 43 | implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" 44 | implementation "androidx.cardview:cardview:1.0.0" 45 | implementation 'com.journeyapps:zxing-android-embedded:4.3.0' 46 | testImplementation 'junit:junit:4.13.2' 47 | androidTestImplementation 'androidx.test.ext:junit:1.1.3' 48 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 49 | } -------------------------------------------------------------------------------- /openeuicc/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | OpenEUICC 3 | 4 | No eUICC found on this device.\nOn some devices, you may need to enable dual SIM first in the menu of this app. 5 | 6 | Dual SIM 7 | 8 | Enabled 9 | Disabled 10 | Provider: 11 | ICCID: 12 | 13 | Enable 14 | Disable 15 | Delete 16 | Rename 17 | 18 | eSIM profile switched. Please wait for a while when the card is restarting. 19 | Cannot switch to new eSIM profile. 20 | Nickname cannot be longer than 64 characters 21 | DSDS state switched. Please wait until the modem restarts. 22 | 23 | New eSIM 24 | Server (RSP / SM-DP+) 25 | Activation Code 26 | Scan QR Code 27 | Download 28 | Failed to download eSIM. Check your activation / QR code. 29 | 30 | New nickname 31 | 32 | Are you sure you want to delete the profile %s? This operation is irreversible. 33 | -------------------------------------------------------------------------------- /openeuicc-deps/repository/com/journeyapps/zxing-android-embedded/4.3.0/zxing-android-embedded-4.3.0.pom: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | com.journeyapps 5 | zxing-android-embedded 6 | 4.3.0 7 | aar 8 | zxing-android-embedded 9 | Barcode scanner library for Android, based on the ZXing decoder 10 | https://github.com/journeyapps/zxing-android-embedded 11 | 12 | 13 | The Apache License, Version 2.0 14 | https://github.com/journeyapps/zxing-android-embedded/blob/master/COPYING 15 | 16 | 17 | 18 | 19 | 20 | Ralf Kistner 21 | ralf@journeyapps.com 22 | Journey Mobile, Inc 23 | https://journeyapps.com 24 | 25 | 26 | 27 | scm:git:github.com/journeyapps/zxing-android-embedded.git 28 | scm:git:ssh://github.com/journeyapps/zxing-android-embedded.git 29 | https://github.com/journeyapps/zxing-android-embedded 30 | 31 | 32 | 33 | com.google.zxing 34 | core 35 | 3.4.1 36 | api 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/LocalProfileInfo.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2022 Peter Cai & Pierre-Hugues Husson 3 | * 4 | * This program is free software: you can redistribute it and/or modify it under the terms of the 5 | * GNU General Public License as published by the Free Software Foundation, version 2. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 8 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 9 | * See the GNU General Public License for more details. 10 | * 11 | * You should have received a copy of the GNU General Public License along with this program. 12 | * If not, see . 13 | */ 14 | 15 | package com.truphone.lpa 16 | 17 | import java.lang.IllegalArgumentException 18 | 19 | data class LocalProfileInfo( 20 | val iccid: String, 21 | val state: State, 22 | val name: String, 23 | val nickName: String, 24 | val providerName: String, 25 | val isdpAID: String, 26 | val profileClass: Clazz 27 | ) { 28 | enum class State { 29 | Enabled, 30 | Disabled 31 | } 32 | 33 | enum class Clazz { 34 | Testing, 35 | Provisioning, 36 | Operational 37 | } 38 | 39 | companion object { 40 | fun stateFromString(state: String?): State = 41 | if (state == "0") { 42 | State.Disabled 43 | } else { 44 | State.Enabled 45 | } 46 | 47 | fun classFromString(clazz: String?): Clazz = 48 | when (clazz) { 49 | "0" -> Clazz.Testing 50 | "1" -> Clazz.Provisioning 51 | "2" -> Clazz.Operational 52 | else -> throw IllegalArgumentException("Unknown profile class $clazz") 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/main/java/com/truphone/lpa/impl/SetSMDPAddressWorker.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.truphone.lpa.impl; 7 | 8 | import com.truphone.lpa.ApduChannel; 9 | import com.truphone.lpa.apdu.ApduUtils; 10 | import com.truphone.lpad.progress.Progress; 11 | import com.truphone.util.LogStub; 12 | import com.truphone.util.TextUtil; 13 | import java.util.logging.Logger; 14 | 15 | /** 16 | * 17 | * @author amilcar.pereira 18 | */ 19 | public class SetSMDPAddressWorker { 20 | 21 | private static final Logger LOG = Logger.getLogger(EnableProfileWorker.class.getName()); 22 | private final ApduChannel apduChannel; 23 | private final Progress progress; 24 | private String dpAddrNew; 25 | 26 | public SetSMDPAddressWorker(ApduChannel apduChannel, Progress progress, String dpAddrNew) { 27 | this.apduChannel = apduChannel; 28 | this.progress = progress; 29 | this.dpAddrNew=dpAddrNew; 30 | } 31 | 32 | public String run() { 33 | String hexDPAddress = TextUtil.toHexString(dpAddrNew.getBytes()); 34 | String apdu = ApduUtils.setDefaultDpAddressApdu(hexDPAddress); 35 | 36 | if (LogStub.getInstance().isDebugEnabled()) { 37 | LogStub.getInstance().logDebug(LOG, LogStub.getInstance().getTag() + " - setEuiccConfiguredAddressesApdu APDU: " + apdu); 38 | } 39 | 40 | String eResponse = apduChannel.transmitAPDU(apdu); 41 | 42 | if (LogStub.getInstance().isDebugEnabled()) { 43 | LogStub.getInstance().logDebug(LOG, LogStub.getInstance().getTag() + " - setEuiccConfiguredAddressesApdu response: " + eResponse); 44 | } 45 | 46 | return eResponse; 47 | } 48 | 49 | 50 | } 51 | -------------------------------------------------------------------------------- /openeuicc/libs/lpad-sm-dp-plus-connector/src/generated/asn1/com/truphone/rsp/dto/asn1/rspdefinitions/Iccid.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This class file was automatically generated by ASN1bean v1.13.0 (http://www.beanit.com) 3 | */ 4 | 5 | package com.truphone.rsp.dto.asn1.rspdefinitions; 6 | 7 | import java.io.IOException; 8 | import java.io.EOFException; 9 | import java.io.InputStream; 10 | import java.io.OutputStream; 11 | import java.io.ByteArrayOutputStream; 12 | import java.util.List; 13 | import java.util.ArrayList; 14 | import java.util.Iterator; 15 | import java.io.UnsupportedEncodingException; 16 | import java.math.BigInteger; 17 | import java.io.Serializable; 18 | import com.beanit.asn1bean.ber.*; 19 | import com.beanit.asn1bean.ber.types.*; 20 | import com.beanit.asn1bean.ber.types.string.*; 21 | 22 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Certificate; 23 | import com.truphone.rsp.dto.asn1.pkix1explicit88.CertificateList; 24 | import com.truphone.rsp.dto.asn1.pkix1explicit88.Time; 25 | import com.truphone.rsp.dto.asn1.pkix1implicit88.SubjectKeyIdentifier; 26 | 27 | public class Iccid extends BerOctetString { 28 | 29 | private static final long serialVersionUID = 1L; 30 | 31 | public static final BerTag tag = new BerTag(BerTag.APPLICATION_CLASS, BerTag.PRIMITIVE, 26); 32 | 33 | public Iccid() { 34 | } 35 | 36 | public Iccid(byte[] value) { 37 | super(value); 38 | } 39 | 40 | @Override public int encode(OutputStream reverseOS, boolean withTag) throws IOException { 41 | 42 | int codeLength; 43 | 44 | codeLength = super.encode(reverseOS, false); 45 | if (withTag) { 46 | codeLength += tag.encode(reverseOS); 47 | } 48 | 49 | return codeLength; 50 | } 51 | 52 | @Override public int decode(InputStream is, boolean withTag) throws IOException { 53 | 54 | int codeLength = 0; 55 | 56 | if (withTag) { 57 | codeLength += tag.decodeAndCheck(is); 58 | } 59 | 60 | codeLength += super.decode(is, false); 61 | 62 | return codeLength; 63 | } 64 | 65 | } 66 | --------------------------------------------------------------------------------