blob: 56dd1afcffcd02b91a18b8a7117e97a2e2f7666b [file] [log] [blame]
Philipp Maier08902cf2024-03-04 10:32:55 +01001--Version V2.5
2RSPDefinitions {joint-iso-itu-t(2) international-organizations(23) gsma(146) rsp(1)
3asn1modules(1) sgp22v2(2)}
4DEFINITIONS
5AUTOMATIC TAGS
6EXTENSIBILITY IMPLIED ::=
7BEGIN
8
9IMPORTS Certificate, CertificateList, Time FROM PKIX1Explicit88 {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18)}
10SubjectKeyIdentifier FROM PKIX1Implicit88 {iso(1) identified-organization(3) dod(6)
11internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19)}
12UICCCapability FROM PEDefinitions {joint-iso-itu-t(2) international-organizations(23) tca(143) euicc-profile(1) spec-version(1) version-three(3)};
13-- The UICCCapability import module version is defined in section 5.7.8
14
15id-rsp OBJECT IDENTIFIER ::= {joint-iso-itu-t(2) international-organizations(23)
16gsma(146) rsp(1)}
17
18-- Basic types, for size constraints
19Octet8 ::= OCTET STRING (SIZE(8))
20Octet4 ::= OCTET STRING (SIZE(4))
21Octet16 ::= OCTET STRING (SIZE(16))
22OctetTo16 ::= OCTET STRING (SIZE(1..16))
23Octet32 ::= OCTET STRING (SIZE(32))
24Octet1 ::= OCTET STRING(SIZE(1))
25Octet2 ::= OCTET STRING (SIZE(2))
26VersionType ::= OCTET STRING(SIZE(3)) -- major/minor/revision version are coded as binary value on byte 1/2/3, e.g. '02 00 0C' for v2.0.12.
27-- If revision is not used (e.g. v2.1), byte 3 SHALL be set to '00'.
28Iccid ::= [APPLICATION 26] OCTET STRING (SIZE(10)) -- ICCID as coded in EFiccid, corresponding tag is '5A'
29RemoteOpId ::= [2] INTEGER {installBoundProfilePackage(1)}
30TransactionId ::= OCTET STRING (SIZE(1..16))
31
32-- Definition of EUICCInfo1 --------------------------
33GetEuiccInfo1Request ::= [32] SEQUENCE { -- Tag 'BF20'
34}
35
36EUICCInfo1 ::= [32] SEQUENCE { -- Tag 'BF20'
37 svn [2] VersionType, -- GSMA SGP.22 version supported (SVN)
38 euiccCiPKIdListForVerification [9] SEQUENCE OF SubjectKeyIdentifier, -- List of CI Public Key Identifiers supported on the eUICC for signature verification
39 euiccCiPKIdListForSigning [10] SEQUENCE OF SubjectKeyIdentifier -- List of CI Public Key Identifier supported on the eUICC for signature creation
40}
41
42-- Definition of EUICCInfo2 --------------------------
43GetEuiccInfo2Request ::= [34] SEQUENCE { -- Tag 'BF22'
44}
45
46EUICCInfo2 ::= [34] SEQUENCE { -- Tag 'BF22'
47 profileVersion [1] VersionType, -- Base eUICC Profile package version supported
48 svn [2] VersionType, -- GSMA SGP.22 version supported (SVN)
49 euiccFirmwareVer [3] VersionType, -- eUICC Firmware version
50 extCardResource [4] OCTET STRING, -- Extended Card Resource Information according to ETSI TS 102 226
51 uiccCapability [5] UICCCapability,
52 ts102241Version [6] VersionType OPTIONAL,
53 globalplatformVersion [7] VersionType OPTIONAL,
54 rspCapability [8] RspCapability,
55 euiccCiPKIdListForVerification [9] SEQUENCE OF SubjectKeyIdentifier, -- List of CI Public Key Identifiers supported on the eUICC for signature verification
56 euiccCiPKIdListForSigning [10] SEQUENCE OF SubjectKeyIdentifier, -- List of CI Public Key Identifier supported on the eUICC for signature creation
57 euiccCategory [11] INTEGER {
58 other(0),
59 basicEuicc(1),
60 mediumEuicc(2),
61 contactlessEuicc(3)
62 } OPTIONAL,
63 forbiddenProfilePolicyRules [25] PprIds OPTIONAL, -- Tag '99'
64 ppVersion VersionType, -- Protection Profile version
65 sasAcreditationNumber UTF8String (SIZE(0..64)),
66 certificationDataObject [12] CertificationDataObject OPTIONAL,
67 treProperties [13] BIT STRING {
68 isDiscrete(0),
69 isIntegrated(1),
70 usesRemoteMemory(2) -- refers to the usage of remote memory protected by the Remote Memory Protection Function described in SGP.21 [4]
71 } OPTIONAL,
72 treProductReference [14] UTF8String OPTIONAL, -- Platform_Label as defined in GlobalPlatform DLOA specification [57]
73 additionalEuiccProfilePackageVersions [15] SEQUENCE OF VersionType OPTIONAL
74}
75
76-- Definition of RspCapability
77RspCapability ::= BIT STRING {
78 additionalProfile(0), -- at least one more Profile can be installed
79 crlSupport(1), -- CRL
80 rpmSupport(2), -- Remote Profile Management
81 testProfileSupport (3), -- support for test profile
82 deviceInfoExtensibilitySupport (4), -- support for ASN.1 extensibility in the Device Info
83 serviceSpecificDataSupport (5) -- support for Service Specific Data in the Profile Metadata
84}
85
86-- Definition of CertificationDataObject
87CertificationDataObject ::= SEQUENCE {
88 platformLabel UTF8String, -- Platform_Label as defined in GlobalPlatform DLOA specification [57]
89 discoveryBaseURL UTF8String -- Discovery Base URL of the SE default DLOA Registrar as defined in GlobalPlatform DLOA specification [57]
90}
91
92CertificateInfo ::= BIT STRING {
93 reserved(0), -- eUICC has a CERT.EUICC.ECDSA in GlobalPlatform format. The use of this bit is deprecated.
94 certSigningX509(1), -- eUICC has a CERT.EUICC.ECDSA in X.509 format
95 rfu2(2),
96 rfu3(3),
97 reserved2(4), -- Handling of Certificate in GlobalPlatform format. The use of this bit is deprecated.
98 certVerificationX509(5)-- Handling of Certificate in X.509 format
99}
100
101
102-- Definition of DeviceInfo
103DeviceInfo ::= SEQUENCE {
104 tac Octet4,
105 deviceCapabilities DeviceCapabilities,
106 imei Octet8 OPTIONAL
107}
108
109DeviceCapabilities ::= SEQUENCE { -- Highest fully supported release for each definition
110 -- The device SHALL set all the capabilities it supports
111 gsmSupportedRelease VersionType OPTIONAL,
112 utranSupportedRelease VersionType OPTIONAL,
113 cdma2000onexSupportedRelease VersionType OPTIONAL,
114 cdma2000hrpdSupportedRelease VersionType OPTIONAL,
115 cdma2000ehrpdSupportedRelease VersionType OPTIONAL,
116 eutranEpcSupportedRelease VersionType OPTIONAL,
117 contactlessSupportedRelease VersionType OPTIONAL,
118 rspCrlSupportedVersion VersionType OPTIONAL,
119 nrEpcSupportedRelease VersionType OPTIONAL,
120 nr5gcSupportedRelease VersionType OPTIONAL,
121 eutran5gcSupportedRelease VersionType OPTIONAL,
122 lpaSvn VersionType OPTIONAL, -- Not defined in this version of SGP.22
123 catSupportedClasses CatSupportedClasses OPTIONAL, -- Not defined in this version of SGP.22
124 euiccFormFactorType EuiccFormFactorType OPTIONAL, -- Not defined in this version of SGP.22
125 deviceAdditionalFeatureSupport DeviceAdditionalFeatureSupport OPTIONAL
126}
127
128-- Definition of DeviceAdditionalFeatureSupport
129DeviceAdditionalFeatureSupport ::= SEQUENCE {
130 naiSupport VersionType OPTIONAL -- Device supports Network Access Identifier
131}
132
133CatSupportedClasses ::= BIT STRING
134EuiccFormFactorType ::= INTEGER
135
136
137ProfileInfoListRequest ::= [45] SEQUENCE { -- Tag 'BF2D'
138 searchCriteria [0] CHOICE {
139 isdpAid [APPLICATION 15] OctetTo16, -- AID of the ISD-P, tag '4F'
140 iccid Iccid, -- ICCID, tag '5A'
141 profileClass [21] ProfileClass -- Tag '95'
142 } OPTIONAL,
143 tagList [APPLICATION 28] OCTET STRING OPTIONAL -- tag '5C'
144}
145
146-- Definition of ProfileInfoList
147ProfileInfoListResponse ::= [45] CHOICE { -- Tag 'BF2D'
148 profileInfoListOk SEQUENCE OF ProfileInfo,
149 profileInfoListError ProfileInfoListError
150}
151
152ProfileInfo ::= [PRIVATE 3] SEQUENCE { -- Tag 'E3'
153 iccid Iccid OPTIONAL,
154 isdpAid [APPLICATION 15] OctetTo16 OPTIONAL, -- AID of the ISD-P containing the Profile, tag '4F'
155 profileState [112] ProfileState OPTIONAL, -- Tag '9F70'
156 profileNickname [16] UTF8String (SIZE(0..64)) OPTIONAL, -- Tag '90'
157 serviceProviderName [17] UTF8String (SIZE(0..32)) OPTIONAL, -- Tag '91'
158 profileName [18] UTF8String (SIZE(0..64)) OPTIONAL, -- Tag '92'
159 iconType [19] IconType OPTIONAL, -- Tag '93'
160 icon [20] OCTET STRING (SIZE(0..1024)) OPTIONAL, -- Tag '94', see condition in ES10c:GetProfilesInfo
161 profileClass [21] ProfileClass OPTIONAL, -- Tag '95'
162 notificationConfigurationInfo [22] SEQUENCE OF NotificationConfigurationInformation OPTIONAL, -- Tag 'B6'
163 profileOwner [23] OperatorId OPTIONAL, -- Tag 'B7'
164 dpProprietaryData [24] DpProprietaryData OPTIONAL, -- Tag 'B8'
165 profilePolicyRules [25] PprIds OPTIONAL, -- Tag '99'
166 serviceSpecificDataStoredInEuicc [34] VendorSpecificExtension OPTIONAL -- Tag 'BF22'
167}
168
169PprIds ::= BIT STRING {-- Definition of Profile Policy Rules identifiers
170 pprUpdateControl(0), -- defines how to update PPRs via ES6
171 ppr1(1), -- Indicator for PPR1 'Disabling of this Profile is not allowed'
172 ppr2(2) -- Indicator for PPR2 'Deletion of this Profile is not allowed'
173}
174
175OperatorId ::= SEQUENCE {
176 mccMnc OCTET STRING (SIZE(3)), -- MCC and MNC coded as defined in 3GPP TS 24.008 [32]
177 gid1 OCTET STRING OPTIONAL, -- referring to content of EF GID1 (file identifier '6F3E') as defined in 3GPP TS 31.102 [54]
178 gid2 OCTET STRING OPTIONAL -- referring to content of EF GID2 (file identifier '6F3F') as defined in 3GPP TS 31.102 [54]
179}
180
181ProfileInfoListError ::= INTEGER {incorrectInputValues(1), undefinedError(127)}
182
183-- Definition of StoreMetadata request
184
185StoreMetadataRequest ::= [37] SEQUENCE { -- Tag 'BF25'
186 iccid Iccid,
187 serviceProviderName [17] UTF8String (SIZE(0..32)), -- Tag '91'
188 profileName [18] UTF8String (SIZE(0..64)), -- Tag '92' (corresponds to 'Short Description' defined in SGP.21 [2])
189 iconType [19] IconType OPTIONAL, -- Tag '93' (JPG or PNG)
190 icon [20] OCTET STRING (SIZE(0..1024)) OPTIONAL, -- Tag '94'(Data of the icon. Size 64 x 64 pixel. This field SHALL only be present if iconType is present)
191 profileClass [21] ProfileClass DEFAULT operational, -- Tag '95'
192 notificationConfigurationInfo [22] SEQUENCE OF NotificationConfigurationInformation OPTIONAL,
193 profileOwner [23] OperatorId OPTIONAL, -- Tag 'B7'
194 profilePolicyRules [25] PprIds OPTIONAL, -- Tag '99'
195 serviceSpecificDataStoredInEuicc [34] VendorSpecificExtension OPTIONAL, -- Tag 'BF22'
196 serviceSpecificDataNotStoredInEuicc [35] VendorSpecificExtension OPTIONAL -- Tag 'BF23'
197}
198
199NotificationEvent ::= BIT STRING {
200 notificationInstall(0),
201 notificationEnable(1),
202 notificationDisable(2),
203 notificationDelete(3)
204}
205
206NotificationConfigurationInformation ::= SEQUENCE {
207 profileManagementOperation NotificationEvent,
208 notificationAddress UTF8String -- FQDN to forward the notification
209}
210
211OPENTYPE ::= CLASS {
212 &typeId OBJECT IDENTIFIER,
213 &Type
214}
215
216VendorSpecificExtension ::= SEQUENCE OF SEQUENCE {
217 vendorOid [0] OPENTYPE.&typeId, -- OID of the vendor who defined this specific extension
218 vendorSpecificData [1] OPENTYPE.&Type
219}
220
221IconType ::= INTEGER {jpg(0), png(1)}
222ProfileState ::= INTEGER {disabled(0), enabled(1)}
223ProfileClass ::= INTEGER {test(0), provisioning(1), operational(2)}
224
225-- Definition of UpdateMetadata request
226UpdateMetadataRequest ::= [42] SEQUENCE { -- Tag 'BF2A'
227 serviceProviderName [17] UTF8String (SIZE(0..32)) OPTIONAL, -- Tag '91'
228 profileName [18] UTF8String (SIZE(0..64)) OPTIONAL, -- Tag '92'
229 iconType [19] IconType OPTIONAL, -- Tag '93'
230 icon [20] OCTET STRING (SIZE(0..1024)) OPTIONAL, -- Tag '94'
231 profilePolicyRules [25] PprIds OPTIONAL, -- Tag '99'
232 serviceSpecificDataStoredInEuicc [34] VendorSpecificExtension OPTIONAL -- Tag 'BF22'
233}
234
235-- Definition of data objects for command PrepareDownload -------------------------
236PrepareDownloadRequest ::= [33] SEQUENCE { -- Tag 'BF21'
237 smdpSigned2 SmdpSigned2, -- Signed information
238 smdpSignature2 [APPLICATION 55] OCTET STRING, -- DP_Sign1, tag '5F37'
239 hashCc Octet32 OPTIONAL, -- Hash of confirmation code
240 smdpCertificate Certificate -- CERT.DPpb.ECDSA
241}
242
243SmdpSigned2 ::= SEQUENCE {
244 transactionId [0] TransactionId, -- The TransactionID generated by the SM-DP+
245 ccRequiredFlag BOOLEAN, --Indicates if the Confirmation Code is required
246 bppEuiccOtpk [APPLICATION 73] OCTET STRING OPTIONAL -- otPK.EUICC.ECKA already used for binding the BPP, tag '5F49'
247}
248
249PrepareDownloadResponse ::= [33] CHOICE { -- Tag 'BF21'
250 downloadResponseOk PrepareDownloadResponseOk,
251 downloadResponseError PrepareDownloadResponseError
252}
253
254PrepareDownloadResponseOk ::= SEQUENCE {
255 euiccSigned2 EUICCSigned2, -- Signed information
256 euiccSignature2 [APPLICATION 55] OCTET STRING -- tag '5F37'
257}
258
259EUICCSigned2 ::= SEQUENCE {
260 transactionId [0] TransactionId,
261 euiccOtpk [APPLICATION 73] OCTET STRING, -- otPK.EUICC.ECKA, tag '5F49'
262 hashCc Octet32 OPTIONAL -- Hash of confirmation code
263}
264
265PrepareDownloadResponseError ::= SEQUENCE {
266 transactionId [0] TransactionId,
267 downloadErrorCode DownloadErrorCode
268}
269
270DownloadErrorCode ::= INTEGER {invalidCertificate(1), invalidSignature(2),
271unsupportedCurve(3), noSessionContext(4), invalidTransactionId(5),
272undefinedError(127)}
273
274-- Definition of data objects for command AuthenticateServer--------------------
275AuthenticateServerRequest ::= [56] SEQUENCE { -- Tag 'BF38'
276 serverSigned1 ServerSigned1, -- Signed information
277 serverSignature1 [APPLICATION 55] OCTET STRING, -- tag ‘5F37’
278 euiccCiPKIdToBeUsed SubjectKeyIdentifier, -- CI Public Key Identifier to be used
279 serverCertificate Certificate, -- RSP Server Certificate CERT.XXauth.ECDSA
280 ctxParams1 CtxParams1
281}
282
283ServerSigned1 ::= SEQUENCE {
284 transactionId [0] TransactionId, -- The Transaction ID generated by the RSP Server
285 euiccChallenge [1] Octet16, -- The eUICC Challenge
286 serverAddress [3] UTF8String, -- The RSP Server address
287 serverChallenge [4] Octet16 -- The RSP Server Challenge
288}
289
290CtxParams1 ::= CHOICE {
291 ctxParamsForCommonAuthentication CtxParamsForCommonAuthentication -- New contextual data objects MAY be defined for extensibility
292}
293
294CtxParamsForCommonAuthentication ::= SEQUENCE {
295 matchingId UTF8String OPTIONAL,-- The MatchingId could be the Activation code token or EventID or empty
296 deviceInfo DeviceInfo -- The Device information
297}
298
299AuthenticateServerResponse ::= [56] CHOICE { -- Tag 'BF38'
300 authenticateResponseOk AuthenticateResponseOk,
301 authenticateResponseError AuthenticateResponseError
302}
303
304AuthenticateResponseOk ::= SEQUENCE {
305 euiccSigned1 EuiccSigned1, -- Signed information
306 euiccSignature1 [APPLICATION 55] OCTET STRING, --EUICC_Sign1, tag 5F37
307 euiccCertificate Certificate, -- eUICC Certificate (CERT.EUICC.ECDSA) signed by the EUM
308 eumCertificate Certificate -- EUM Certificate (CERT.EUM.ECDSA) signed by the requested CI
309}
310
311EuiccSigned1 ::= SEQUENCE {
312 transactionId [0] TransactionId,
313 serverAddress [3] UTF8String,
314 serverChallenge [4] Octet16, -- The RSP Server Challenge
315 euiccInfo2 [34] EUICCInfo2,
316 ctxParams1 CtxParams1
317}
318
319AuthenticateResponseError ::= SEQUENCE {
320 transactionId [0] TransactionId,
321 authenticateErrorCode AuthenticateErrorCode
322}
323
324AuthenticateErrorCode ::= INTEGER {invalidCertificate(1), invalidSignature(2),
325unsupportedCurve(3), noSessionContext(4), invalidOid(5), euiccChallengeMismatch(6),
326ciPKUnknown(7), undefinedError(127)}
327
328-- Definition of Cancel Session------------------------------
329CancelSessionRequest ::= [65] SEQUENCE { -- Tag 'BF41'
330 transactionId TransactionId, -- The TransactionID generated by the RSP Server
331 reason CancelSessionReason
332}
333
334CancelSessionReason ::= INTEGER {endUserRejection(0), postponed(1), timeout(2),
335pprNotAllowed(3), metadataMismatch(4), loadBppExecutionError(5),
336undefinedReason(127)}
337
338CancelSessionResponse ::= [65] CHOICE { -- Tag 'BF41'
339 cancelSessionResponseOk CancelSessionResponseOk,
340 cancelSessionResponseError INTEGER {invalidTransactionId(5),
341undefinedError(127)}
342}
343
344CancelSessionResponseOk ::= SEQUENCE {
345 euiccCancelSessionSigned EuiccCancelSessionSigned, -- Signed information
346 euiccCancelSessionSignature [APPLICATION 55] OCTET STRING -- tag '5F37
347}
348
349EuiccCancelSessionSigned ::= SEQUENCE {
350 transactionId TransactionId,
351 smdpOid OBJECT IDENTIFIER, -- SM-DP+ OID as contained in CERT.DPauth.ECDSA
352 reason CancelSessionReason
353}
354
355-- Definition of Bound Profile Package --------------------------
356BoundProfilePackage ::= [54] SEQUENCE { -- Tag 'BF36'
357 initialiseSecureChannelRequest [35] InitialiseSecureChannelRequest, -- Tag 'BF23'
358 firstSequenceOf87 [0] SEQUENCE OF [7] OCTET STRING, -- sequence of '87' TLVs
359 sequenceOf88 [1] SEQUENCE OF [8] OCTET STRING, -- sequence of '88' TLVs
360 secondSequenceOf87 [2] SEQUENCE OF [7] OCTET STRING OPTIONAL, -- sequence of '87' TLVs
361 sequenceOf86 [3] SEQUENCE OF [6] OCTET STRING -- sequence of '86' TLVs
362}
363
364-- Definition of Get eUICC Challenge --------------------------
365GetEuiccChallengeRequest ::= [46] SEQUENCE { -- Tag 'BF2E'
366}
367
368GetEuiccChallengeResponse ::= [46] SEQUENCE { -- Tag 'BF2E'
369 euiccChallenge Octet16 -- random eUICC challenge
370}
371
372-- Definition of Profile Installation Result
373ProfileInstallationResult ::= [55] SEQUENCE { -- Tag 'BF37'
374 profileInstallationResultData [39] ProfileInstallationResultData,
375 euiccSignPIR EuiccSignPIR
376}
377
378ProfileInstallationResultData ::= [39] SEQUENCE { -- Tag 'BF27'
379 transactionId[0] TransactionId, -- The TransactionID generated by the SM-DP+
380 notificationMetadata[47] NotificationMetadata,
381 smdpOid OBJECT IDENTIFIER, -- SM-DP+ OID (same value as in CERT.DPpb.ECDSA)
382 finalResult [2] CHOICE {
383 successResult SuccessResult,
384 errorResult ErrorResult
385 }
386}
387
388EuiccSignPIR ::= [APPLICATION 55] OCTET STRING -- Tag '5F37', eUICC’s signature
389
390SuccessResult ::= SEQUENCE {
391 aid [APPLICATION 15] OCTET STRING (SIZE (5..16)), -- AID of ISD-P
392 simaResponse OCTET STRING -- contains (multiple) 'EUICCResponse' as defined in [5]
393}
394
395ErrorResult ::= SEQUENCE {
396 bppCommandId BppCommandId,
397 errorReason ErrorReason,
398 simaResponse OCTET STRING OPTIONAL -- contains (multiple) 'EUICCResponse' as defined in [5]
399}
400
401BppCommandId ::= INTEGER {initialiseSecureChannel(0), configureISDP(1),
402storeMetadata(2), storeMetadata2(3), replaceSessionKeys(4), loadProfileElements(5)}
403
404ErrorReason ::= INTEGER {
405 incorrectInputValues(1),
406 invalidSignature(2),
407 invalidTransactionId(3),
408 unsupportedCrtValues(4),
409 unsupportedRemoteOperationType(5),
410 unsupportedProfileClass(6),
411 scp03tStructureError(7),
412 scp03tSecurityError(8),
413 installFailedDueToIccidAlreadyExistsOnEuicc(9),
414 installFailedDueToInsufficientMemoryForProfile(10),
415 installFailedDueToInterruption(11),
416 installFailedDueToPEProcessingError (12),
417 installFailedDueToDataMismatch(13),
418 testProfileInstallFailedDueToInvalidNaaKey(14),
419 pprNotAllowed(15),
420 installFailedDueToUnknownError(127)
421}
422
423ListNotificationRequest ::= [40] SEQUENCE { -- Tag 'BF28'
424 profileManagementOperation [1] NotificationEvent OPTIONAL
425}
426
427ListNotificationResponse ::= [40] CHOICE { -- Tag 'BF28'
428 notificationMetadataList SEQUENCE OF NotificationMetadata,
429 listNotificationsResultError INTEGER {undefinedError(127)}
430}
431
432NotificationMetadata ::= [47] SEQUENCE { -- Tag 'BF2F'
433 seqNumber [0] INTEGER,
434 profileManagementOperation [1] NotificationEvent, /*Only one bit SHALL be set to
4351*/
436 notificationAddress UTF8String, -- FQDN to forward the notification
437 iccid Iccid OPTIONAL
438}
439
440-- Definition of Profile Nickname Information
441SetNicknameRequest ::= [41] SEQUENCE { -- Tag 'BF29'
442 iccid Iccid,
443 profileNickname [16] UTF8String (SIZE(0..64))
444}
445
446SetNicknameResponse ::= [41] SEQUENCE { -- Tag 'BF29'
447 setNicknameResult INTEGER {ok(0), iccidNotFound (1), undefinedError(127)}
448}
449
450id-rsp-cert-objects OBJECT IDENTIFIER ::= { id-rsp cert-objects(2)}
451
452id-rspExt OBJECT IDENTIFIER ::= {id-rsp-cert-objects 0}
453
454id-rspRole OBJECT IDENTIFIER ::= {id-rsp-cert-objects 1}
455
456-- Definition of OIDs for role identification
457id-rspRole-ci OBJECT IDENTIFIER ::= {id-rspRole 0}
458id-rspRole-euicc OBJECT IDENTIFIER ::= {id-rspRole 1}
459id-rspRole-eum OBJECT IDENTIFIER ::= {id-rspRole 2}
460id-rspRole-dp-tls OBJECT IDENTIFIER ::= {id-rspRole 3}
461id-rspRole-dp-auth OBJECT IDENTIFIER ::= {id-rspRole 4}
462id-rspRole-dp-pb OBJECT IDENTIFIER ::= {id-rspRole 5}
463id-rspRole-ds-tls OBJECT IDENTIFIER ::= {id-rspRole 6}
464id-rspRole-ds-auth OBJECT IDENTIFIER ::= {id-rspRole 7}
465
466--Definition of data objects for InitialiseSecureChannel Request
467InitialiseSecureChannelRequest ::= [35] SEQUENCE { -- Tag 'BF23'
468 remoteOpId RemoteOpId, -- Remote Operation Type Identifier (value SHALL be set to installBoundProfilePackage)
469 transactionId [0] TransactionId, -- The TransactionID generated by the SM-DP+
470 controlRefTemplate[6] IMPLICIT ControlRefTemplate, -- Control Reference Template (Key Agreement). Current specification considers a subset of CRT specified in GlobalPlatform Card Specification [8], section 6.4.2.3 for the Mutual Authentication Data Field
471 smdpOtpk [APPLICATION 73] OCTET STRING, ---otPK.DP.ECKA as specified in GlobalPlatform Card Specification [8] section 6.4.2.3 for ePK.OCE.ECKA, tag '5F49'
472 smdpSign [APPLICATION 55] OCTET STRING -- SM-DP's signature, tag '5F37'
473}
474
475ControlRefTemplate ::= SEQUENCE {
476 keyType[0] Octet1, -- Key type according to GlobalPlatform Card Specification [8] Table 11-16, AES= '88', Tag '80'
477 keyLen[1] Octet1, --Key length in number of bytes. For current specification key length SHALL by 0x10 bytes, Tag '81'
478 hostId[4] OctetTo16 -- Host ID value , Tag '84'
479}
480
481--Definition of data objects for ConfigureISDPRequest
482ConfigureISDPRequest ::= [36] SEQUENCE { -- Tag 'BF24'
483 dpProprietaryData [24] DpProprietaryData OPTIONAL -- Tag 'B8'
484}
485
486DpProprietaryData ::= SEQUENCE { -- maximum size including tag and length field: 128 bytes
487 dpOid OBJECT IDENTIFIER -- OID in the tree of the SM-DP+ that created the Profile
488 -- additional data objects defined by the SM-DP+ MAY follow
489}
490
491-- Definition of request message for command ReplaceSessionKeys
492ReplaceSessionKeysRequest ::= [38] SEQUENCE { -- tag 'BF26'
493/*The new initial MAC chaining value*/
494 initialMacChainingValue OCTET STRING,
495/*New session key value for encryption/decryption (PPK-ENC)*/
496 ppkEnc OCTET STRING,
497/*New session key value of the session key C-MAC computation/verification (PPK-MAC)*/
498 ppkCmac OCTET STRING
499}
500
501-- Definition of data objects for RetrieveNotificationsList
502RetrieveNotificationsListRequest ::= [43] SEQUENCE { -- Tag 'BF2B'
503 searchCriteria CHOICE {
504 seqNumber [0] INTEGER,
505 profileManagementOperation [1] NotificationEvent
506 } OPTIONAL
507}
508
509RetrieveNotificationsListResponse ::= [43] CHOICE { -- Tag 'BF2B'
510 notificationList SEQUENCE OF PendingNotification,
511 notificationsListResultError INTEGER { undefinedError(127)}
512}
513
514PendingNotification ::= CHOICE {
515 profileInstallationResult [55] ProfileInstallationResult, -- tag 'BF37'
516 otherSignedNotification OtherSignedNotification
517}
518
519OtherSignedNotification ::= SEQUENCE {
520 tbsOtherNotification NotificationMetadata,
521 euiccNotificationSignature [APPLICATION 55] OCTET STRING, -- eUICC signature of tbsOtherNotification, Tag '5F37'
522 euiccCertificate Certificate, -- eUICC Certificate (CERT.EUICC.ECDSA) signed by the EUM
523 eumCertificate Certificate -- EUM Certificate (CERT.EUM.ECDSA) signed by the requested CI
524}
525
526-- Definition of notificationSent
527NotificationSentRequest ::= [48] SEQUENCE { -- Tag 'BF30'
528 seqNumber [0] INTEGER
529}
530
531NotificationSentResponse ::= [48] SEQUENCE { -- Tag 'BF30'
532 deleteNotificationStatus INTEGER {ok(0), nothingToDelete(1),
533undefinedError(127)}
534}
535
536-- Definition of Enable Profile --------------------------
537EnableProfileRequest ::= [49] SEQUENCE { -- Tag 'BF31'
538 profileIdentifier CHOICE {
539 isdpAid [APPLICATION 15] OctetTo16, -- AID, tag '4F'
540 iccid Iccid -- ICCID, tag '5A'
541 },
542 refreshFlag BOOLEAN -- indicating whether REFRESH is required
543}
544
545EnableProfileResponse ::= [49] SEQUENCE { -- Tag 'BF31'
546 enableResult INTEGER {ok(0), iccidOrAidNotFound (1),
547profileNotInDisabledState(2), disallowedByPolicy(3), wrongProfileReenabling(4),
548catBusy(5), undefinedError(127)}
549}
550
551-- Definition of Disable Profile --------------------------
552DisableProfileRequest ::= [50] SEQUENCE { -- Tag 'BF32'
553 profileIdentifier CHOICE {
554 isdpAid [APPLICATION 15] OctetTo16, -- AID, tag '4F'
555 iccid Iccid -- ICCID, tag '5A'
556 },
557 refreshFlag BOOLEAN -- indicating whether REFRESH is required
558}
559
560DisableProfileResponse ::= [50] SEQUENCE { -- Tag 'BF32'
561 disableResult INTEGER {ok(0), iccidOrAidNotFound (1),
562profileNotInEnabledState(2), disallowedByPolicy(3), catBusy(5),
563undefinedError(127)}
564}
565
566-- Definition of Delete Profile --------------------------
567DeleteProfileRequest ::= [51] CHOICE { -- Tag 'BF33'
568 isdpAid [APPLICATION 15] OctetTo16, -- AID, tag '4F'
569 iccid Iccid -- ICCID, tag '5A'
570}
571
572DeleteProfileResponse ::= [51] SEQUENCE { -- Tag 'BF33'
573 deleteResult INTEGER {ok(0), iccidOrAidNotFound (1),
574profileNotInDisabledState(2), disallowedByPolicy(3), undefinedError(127)}
575}
576
577-- Definition of Memory Reset --------------------------
578EuiccMemoryResetRequest ::= [52] SEQUENCE { -- Tag 'BF34'
579 resetOptions [2] BIT STRING {
580 deleteOperationalProfiles(0),
581 deleteFieldLoadedTestProfiles(1),
582 resetDefaultSmdpAddress(2)}
583}
584
585EuiccMemoryResetResponse ::= [52] SEQUENCE { -- Tag 'BF34'
586 resetResult INTEGER {ok(0), nothingToDelete(1), catBusy(5), undefinedError(127)}
587}
588
589-- Definition of Get EID --------------------------
590GetEuiccDataRequest ::= [62] SEQUENCE { -- Tag 'BF3E'
591 tagList [APPLICATION 28] Octet1 -- tag '5C', the value SHALL be set to '5A'
592}
593
594GetEuiccDataResponse ::= [62] SEQUENCE { -- Tag 'BF3E'
595 eidValue [APPLICATION 26] Octet16 -- tag '5A'
596}
597
598-- Definition of Get Rat
599
600GetRatRequest ::= [67] SEQUENCE { -- Tag ' BF43'
601 -- No input data
602}
603
604
605GetRatResponse ::= [67] SEQUENCE { -- Tag 'BF43'
606 rat RulesAuthorisationTable
607}
608
609RulesAuthorisationTable ::= SEQUENCE OF ProfilePolicyAuthorisationRule
610ProfilePolicyAuthorisationRule ::= SEQUENCE {
611 pprIds PprIds,
612 allowedOperators SEQUENCE OF OperatorId,
613 pprFlags BIT STRING {consentRequired(0)}
614}
615
616-- Definition of data structure containing the list of CRL segments
617SegmentedCrlList ::= SEQUENCE OF CertificateList
618
619-- Definition of data structure command for loading a CRL
620LoadCRLRequest ::= [53] SEQUENCE { -- Tag 'BF35'
621 -- A CRL
622 crl CertificateList
623}
624
625-- Definition of data structure response for loading a CRL
626LoadCRLResponse ::= [53] CHOICE { -- Tag 'BF35'
627 loadCRLResponseOk LoadCRLResponseOk,
628 loadCRLResponseError LoadCRLResponseError
629}
630
631LoadCRLResponseOk ::= SEQUENCE {
632 missingParts SEQUENCE OF INTEGER OPTIONAL
633}
634LoadCRLResponseError ::= INTEGER {invalidSignature(1), invalidCRLFormat(2),
635notEnoughMemorySpace(3), verificationKeyNotFound(4), fresherCrlAlreadyLoaded(5),
636baseCrlMissing(6), undefinedError(127)}
637
638-- Definition of the extension for Certificate Expiration Date
639id-rsp-expDate OBJECT IDENTIFIER ::= {id-rspExt 1}
640ExpirationDate ::= Time
641
642-- Definition of the extension id for total partial-CRL number
643id-rsp-totalPartialCrlNumber OBJECT IDENTIFIER ::= {id-rspExt 2}
644TotalPartialCrlNumber ::= INTEGER
645
646-- Definition of the extension id for the partial-CRL number
647id-rsp-partialCrlNumber OBJECT IDENTIFIER ::= {id-rspExt 3}
648PartialCrlNumber ::= INTEGER
649
650-- Definition for ES9+ ASN.1 Binding --------------------------
651RemoteProfileProvisioningRequest ::= [2] CHOICE { -- Tag 'A2'
652 initiateAuthenticationRequest [57] InitiateAuthenticationRequest, -- Tag 'BF39'
653 authenticateClientRequest [59] AuthenticateClientRequest, -- Tag 'BF3B'
654 getBoundProfilePackageRequest [58] GetBoundProfilePackageRequest, -- Tag 'BF3A'
655 cancelSessionRequestEs9 [65] CancelSessionRequestEs9, -- Tag 'BF41'
656 handleNotification [61] HandleNotification -- tag 'BF3D'
657}
658
659RemoteProfileProvisioningResponse ::= [2] CHOICE { -- Tag 'A2'
660 initiateAuthenticationResponse [57] InitiateAuthenticationResponse, -- Tag 'BF39'
661 authenticateClientResponseEs9 [59] AuthenticateClientResponseEs9, -- Tag 'BF3B'
662 getBoundProfilePackageResponse [58] GetBoundProfilePackageResponse, -- Tag 'BF3A'
663 cancelSessionResponseEs9 [65] CancelSessionResponseEs9, -- Tag 'BF41'
664 authenticateClientResponseEs11 [64] AuthenticateClientResponseEs11 -- Tag 'BF40'
665}
666
667InitiateAuthenticationRequest ::= [57] SEQUENCE { -- Tag 'BF39'
668 euiccChallenge [1] Octet16, -- random eUICC challenge
669 smdpAddress [3] UTF8String,
670 euiccInfo1 EUICCInfo1
671}
672
673InitiateAuthenticationResponse ::= [57] CHOICE { -- Tag 'BF39'
674 initiateAuthenticationOk InitiateAuthenticationOkEs9,
675 initiateAuthenticationError INTEGER {
676 invalidDpAddress(1),
677 euiccVersionNotSupportedByDp(2),
678 ciPKNotSupported(3)
679 }
680}
681
682InitiateAuthenticationOkEs9 ::= SEQUENCE {
683 transactionId [0] TransactionId, -- The TransactionID generated by the SM-DP+
684 serverSigned1 ServerSigned1, -- Signed information
685 serverSignature1 [APPLICATION 55] OCTET STRING, -- Server_Sign1, tag '5F37'
686 euiccCiPKIdToBeUsed SubjectKeyIdentifier, -- The curve CI Public Key to be used as required by ES10b.AuthenticateServer
687 serverCertificate Certificate
688}
689
690AuthenticateClientRequest ::= [59] SEQUENCE { -- Tag 'BF3B'
691 transactionId [0] TransactionId,
692 authenticateServerResponse [56] AuthenticateServerResponse -- This is the response from ES10b.AuthenticateServer
693}
694
695AuthenticateClientResponseEs9 ::= [59] CHOICE { -- Tag 'BF3B'
696 authenticateClientOk AuthenticateClientOk,
697 authenticateClientError INTEGER {
698 eumCertificateInvalid(1),
699 eumCertificateExpired(2),
700 euiccCertificateInvalid(3),
701 euiccCertificateExpired(4),
702 euiccSignatureInvalid(5),
703 matchingIdRefused(6),
704 eidMismatch(7),
705 noEligibleProfile(8),
706 ciPKUnknown(9),
707 invalidTransactionId(10),
708 insufficientMemory(11),
709 undefinedError(127)
710 }
711}
712
713AuthenticateClientOk ::= SEQUENCE {
714 transactionId [0] TransactionId,
715 profileMetaData [37] StoreMetadataRequest,
716 smdpSigned2 SmdpSigned2, -- Signed information
717 smdpSignature2 [APPLICATION 55] OCTET STRING, -- tag '5F37'
718 smdpCertificate Certificate -- CERT.DPpb.ECDSA
719}
720
721GetBoundProfilePackageRequest ::= [58] SEQUENCE { -- Tag 'BF3A'
722 transactionId [0] TransactionId,
723 prepareDownloadResponse [33] PrepareDownloadResponse
724}
725
726GetBoundProfilePackageResponse ::= [58] CHOICE { -- Tag 'BF3A'
727 getBoundProfilePackageOk GetBoundProfilePackageOk,
728 getBoundProfilePackageError INTEGER {
729 euiccSignatureInvalid(1),
730 confirmationCodeMissing(2),
731 confirmationCodeRefused(3),
732 confirmationCodeRetriesExceeded(4),
733 bppRebindingRefused(5),
734 downloadOrderExpired(6),
735 invalidTransactionId(95),
736 undefinedError(127)
737 }
738}
739
740GetBoundProfilePackageOk ::= SEQUENCE {
741 transactionId [0] TransactionId,
742 boundProfilePackage [54] BoundProfilePackage
743}
744
745HandleNotification ::= [61] SEQUENCE { -- Tag 'BF3D'
746 pendingNotification PendingNotification
747}
748
749CancelSessionRequestEs9 ::= [65] SEQUENCE { -- Tag 'BF41'
750 transactionId TransactionId,
751 cancelSessionResponse CancelSessionResponse -- data structure defined for ES10b.CancelSession function
752}
753
754CancelSessionResponseEs9 ::= [65] CHOICE { -- Tag 'BF41'
755 cancelSessionOk CancelSessionOk,
756 cancelSessionError INTEGER {
757 invalidTransactionId(1),
758 euiccSignatureInvalid(2),
759 undefinedError(127)
760 }
761}
762
763CancelSessionOk ::= SEQUENCE { -- This function has no output data
764}
765
766EuiccConfiguredAddressesRequest ::= [60] SEQUENCE { -- Tag 'BF3C'
767}
768
769EuiccConfiguredAddressesResponse ::= [60] SEQUENCE { -- Tag 'BF3C'
770 defaultDpAddress UTF8String OPTIONAL, -- Default SM-DP+ address as an FQDN
771 rootDsAddress UTF8String -- Root SM-DS address as an FQDN
772}
773
774ISDRProprietaryApplicationTemplate ::= [PRIVATE 0] SEQUENCE { -- Tag 'E0'
775 svn [2] VersionType, -- GSMA SGP.22 version supported (SVN)
776 lpaeSupport BIT STRING {
777 lpaeUsingCat(0), -- LPA in the eUICC using Card Application Toolkit
778 lpaeUsingScws(1) -- LPA in the eUICC using Smartcard Web Server
779 } OPTIONAL
780}
781
782LpaeActivationRequest ::= [66] SEQUENCE { -- Tag 'BF42'
783 lpaeOption BIT STRING {
784 activateCatBasedLpae(0), -- LPAe with LUIe based on CAT
785 activateScwsBasedLpae(1) -- LPAe with LUIe based on SCWS
786 }
787}
788
789LpaeActivationResponse ::= [66] SEQUENCE { -- Tag 'BF42'
790 lpaeActivationResult INTEGER {ok(0), notSupported(1)}
791}
792
793SetDefaultDpAddressRequest ::= [63] SEQUENCE { -- Tag 'BF3F'
794 defaultDpAddress UTF8String -- Default SM-DP+ address as an FQDN
795}
796
797SetDefaultDpAddressResponse ::= [63] SEQUENCE { -- Tag 'BF3F'
798 setDefaultDpAddressResult INTEGER { ok (0), undefinedError (127)}
799}
800
801AuthenticateClientResponseEs11 ::= [64] CHOICE { -- Tag 'BF40'
802 authenticateClientOk AuthenticateClientOkEs11,
803 authenticateClientError INTEGER {
804 eumCertificateInvalid(1),
805 eumCertificateExpired(2),
806 euiccCertificateInvalid(3),
807 euiccCertificateExpired(4),
808 euiccSignatureInvalid(5),
809 eventIdUnknown(6),
810 invalidTransactionId(7),
811 undefinedError(127)
812 }
813}
814
815AuthenticateClientOkEs11 ::= SEQUENCE {
816 transactionId TransactionId,
817 eventEntries SEQUENCE OF EventEntries
818}
819
820EventEntries ::= SEQUENCE {
821 eventId UTF8String,
822 rspServerAddress UTF8String
823}
824
825END