Comprehensive technical knowledge base covering 12 GSMA eSIM specifications. 84+ articles on Remote SIM Provisioning — SGP.02, SGP.22, SGP.32, SGP.41, SGP.29, SGP.23, SGP.25, SGP.26 and more.
🏠 eUICC.tech > SGP.23-1 eUICC Testing > Key eUICC Test Cases: ISD-R, ECASD, and Profile Lifecycle
💡 Why this matters: Before any profile can be downloaded, before any carrier switch can happen, the eUICC must correctly handle the fundamental lifecycle of its secure domains and profiles. SGP.23-1’s 27 interface test groups and 8 behaviour test groups verify every state transition: from the first ATR byte through ISD-R selection, secure channel establishment, profile installation, enablement, and deletion. These are the tests that catch the bugs which would otherwise surface as “inexplicable” field failures.
Key takeaways:
- ISD-R selection is tested across 9 sequences covering nominal cases, enabled/disabled profiles, LPAe support, and MEP configurations (A1, A2, B)
- ES8+ secure channel testing covers
InitialiseSecureChannel(5 error sequences),ConfigureISDP,StoreMetadata(11+ sequences), andLoadProfileElements(12 sequences)- ES10b profile download pipeline tests span
PrepareDownload(curve-specific + error),LoadBoundProfilePackage,GetEUICCChallenge, andAuthenticateServer- ES10c local profile management tests
GetProfilesInfo,EnableProfile,DisableProfile,DeleteProfile, andeUICCMemoryReset: the most heavily tested interface with hundreds of pages- Behavior testing covers retry mechanisms (Confirmation Code, one-time key reuse), forbidden PPRs, file structure validation, and notification handling
- MEP (Multiple Enabled Profiles) adds extensive test sequences for multi-profile management across LSI multiplexing
SGP.23-1’s test cases are organised into two major chapters: Section 4 (Interface Compliance Testing, pages 37–595) and Section 5 (Procedure - Behaviour Testing, pages 595–611). Together they cover 27 interface-level test groups and 8 behaviour-level test groups, each containing multiple test sequences.
The very first thing tested is whether the eUICC powers up correctly and allows the LPA to select its ISD-R:
TC_eUICC_ATR_And_ISDR_Selection covers 9 test sequences:
| # | Scenario | Key Verification |
|---|---|---|
| 1 | Nominal: ATR + Select ISD-R | ATR contains tBi with b2=1; FCP Template present; ISD-R selection returns proprietary data with #R_ISDR_SELECTION |
| 2 | With Enabled Profile | Same ISD-R selection but response includes #R_ISDR_SELECTION_EN_PROF : different proprietary data when a profile is enabled |
| 3 | LPAe Supported | ISD-R selection response includes #R_ISDR_SELECTION_LPAE : the eUICC advertises its LPAe capability |
| 4 | MEP-A1 | LSI Support present in ATR; MEP_MODE = '01'; configures 2 LSIs with IDs “010203” |
| 5 | MEP-A2 | Similar to A1 but with MEP_MODE = '10' |
| 6 | MEP-B | MEP_MODE = '11'; configures for MEP-B with possible auto-deselection behaviour |
| 7-9 | Additional MEP variants | Various LSI multiplexing and auto-deselection configurations |
The test verifies that the eUICC correctly advertises its capabilities through the ATR historical bytes and ISD-R selection response: the first trust boundary between the device and the eUICC.
The ES8+ interface is the secure tunnel through which profiles arrive from the SM-DP+. Four test case groups verify it:
Five error sequences ensure the eUICC rejects malformed channel initiation:
#PK_EUICC_SIG)InitialiseSecureChannel while a secure session is already ongoingMandatory test case verifying that the eUICC correctly processes ISD-P configuration commands: allocating memory, setting up the security domain, and preparing for profile content.
The most sequence-heavy ES8+ test group with 11+ test sequences covering:
O_E_ENTERPRISE)O_E_HRI_ADDRESS_IN_PM)Delivers the actual profile content. 12 test sequences cover:
euiccSignPIRThe ES10b interface is where the LPA orchestrates profile downloads. Key test groups:
Four test case groups: three curve-specific (NIST, BRP, FRP) and one for error handling. Each verifies:
otPK.eUICC.ECKA / otSK.eUICC.ECKA)#PREP_DOWNLOAD_WITH_CC is usedGetEUICCChallenge verifies fresh challenge generation on every callGetEUICCInfo1 has 6 test sequences covering different EUICCInfo1 response structuresGetEUICCInfo2 has 5 variants: V2.1 (N/A for SGP.23-1), V2.2.x (mandatory), V3.x (mandatory), and Integrated eUICC variantsasAcreditationNumber field is verified in the EUICCInfo2 responseThe critical delivery function. Curve-specific tests (NIST, BRP, FRP) plus error cases verify:
Three test groups covering the notification lifecycle:
LoadRPMPackage (conditional on O_E_RPM) tests the Remote Profile Management capability: updating profile metadata, policy rules, or content on an already-installed profile without full re-download.
The ES10c interface is where the user-facing profile operations happen. This is SGP.23-1’s most heavily tested interface:
Returns information about all installed profiles. Test sequences verify:
ProfileInfoListResponse encoding with profileInfoListOkO_E_PROFILE_SIZE_IN_PROFILE_INFO is supportedThe most complex test case group: spanning ~117 pages (from page 238 to 355). It covers:
Spans ~106 pages, covering:
Covers permanent ISD-P removal:
GetProfilesInfoFactory-resets the entire eUICC: all profiles and ISD-Ps deleted. Tests verify:
GetProfilesInfo returns empty after resetSection 5 verifies functional behaviour beyond individual interface calls:
Tests the eUICC’s ability to handle failed downloads gracefully:
O_E_REUSE_OTPK)LoadBoundProfilePackage sequenceVerifies that the eUICC refuses operations that violate Profile Policy Rules: the enforcement mechanism that prevents users (or malware) from performing disallowed profile operations.
Validates the eUICC’s internal file system: that EF_UST, EF_DIR, EF_ICCID, and EF_ARR are correctly structured and accessible through standard UICC file selection commands.
Beyond interface compliance, these behaviour tests verify the full process lifecycle:
Based on GSMA SGP.23-1 v3.1.3 (27 January 2025) : RSP Test Specification for the eUICC, Sections 4.2, 5.2
| ← Previous: eUICC Test Architecture: Readers, Scripts, and GSMA Tools | Section Index | Next: eUICC Security Testing: Certificates, Keys, and Channels → |