import v2.2

SIMalliance-eUICC-Profile-Package-Interoperable-Format-Technical-Specification-v2.2-and-ASN-Module.zip
This commit is contained in:
Harald Welte 2023-12-08 21:40:58 +01:00
parent 6288eed7e8
commit 2b0c7f7014
1 changed files with 518 additions and 459 deletions

View File

@ -11,8 +11,8 @@ maxUInt15 INTEGER ::= 32767
UInt15 ::= INTEGER (0..maxUInt15)
maxUInt16 INTEGER ::= 65535
UInt16 ::= INTEGER (0..maxUInt16)
-- maxUInt31 INTEGER ::= 2147483647
-- UInt31 ::= INTEGER (0..maxUInt31)
maxUInt31 INTEGER ::= 2147483647
UInt31 ::= INTEGER (0..maxUInt31)
ApplicationIdentifier ::= OCTET STRING (SIZE(5..16))
@ -54,6 +54,7 @@ ProfileElement ::= CHOICE {
gsm-access PE-GSM-ACCESS,
csim PE-CSIM,
opt-csim PE-OPT-CSIM,
eap PE-EAP,
...
}
@ -62,13 +63,17 @@ PE-Dummy ::= SEQUENCE {
ProfileHeader ::= SEQUENCE {
major-version UInt8, -- set to 2 for this version of the specification
minor-version UInt8, -- set to 1 for this version of the specification
minor-version UInt8, -- set to 2 for this version of the specification
profileType UTF8String OPTIONAL, -- Profile type
iccid OCTET STRING (SIZE (10)), -- ICCID of the Profile
pol OCTET STRING OPTIONAL,
eUICC-Mandatory-services ServicesList,
eUICC-Mandatory-GFSTEList SEQUENCE OF OBJECT IDENTIFIER,
connectivityParameters OCTET STRING OPTIONAL
connectivityParameters OCTET STRING OPTIONAL,
eUICC-Mandatory-AIDs SEQUENCE OF SEQUENCE {
aid ApplicationIdentifier,
version OCTET STRING (SIZE(2))
} OPTIONAL
}
ServicesList ::= SEQUENCE {
@ -89,7 +94,10 @@ cave NULL OPTIONAL,
gba-usim NULL OPTIONAL,
gba-isim NULL OPTIONAL,
mbms NULL OPTIONAL,
/* EAP service */
eap NULL OPTIONAL,
/* Application Runtime environment */
javacard NULL OPTIONAL,
multos NULL OPTIONAL,
@ -107,8 +115,10 @@ usim-test-algorithm NULL OPTIONAL,
ber-tlv NULL OPTIONAL,
/* Linked files */
dfLink NULL OPTIONAL
dfLink NULL OPTIONAL,
/* Support of CAT_TP */
cat-tp NULL OPTIONAL
}
ProprietaryInfo ::= SEQUENCE {
@ -145,9 +155,11 @@ Fcp ::= SEQUENCE {
/* securityAttributesReferenced
Either containing EF ARR ID[2] + record number[1] or
record number[1] only and EF ARR ID implicitly known from the
context, i.e. '2F06' within the MF and '6F06' otherwise
context: File ID 2F06 is automatically applied for ADFs,
the MF and all files directly located under the MF
'6F06' for any other files
*/
securityAttributesReferenced [11] OCTET STRING OPTIONAL,
securityAttributesReferenced [11] OCTET STRING (SIZE (1..3)) OPTIONAL,
/* efFileSize
Mandatory for EF file types
@ -167,9 +179,10 @@ Fcp ::= SEQUENCE {
/* shortEFID
Not allowed for DF files
Optional for EF file types / equivalent to ETSI TS 102 222
shortEFID not available: in case of a template file, SFI is set according to the respective file specification. For files created by using GenericFileManagement, SFI is calculated from FID
shortEFID available but not value: no SFI is supported
for this EF
shortEFID not provided: in case of a template file, SFI
is set according to Annex A.
For files created by using GenericFileManagement, SFI is calculated from FID
shortEFID provided with no value: no SFI is supported for this EF
shortEFID available with a length of 1 byte:
The Short File Identifier is coded from bits b8 to b4.
Bits b3,b2,b1 = 000.
@ -540,6 +553,20 @@ ef-mmsconfig File OPTIONAL,
ef-jdl File OPTIONAL
}
PE-EAP ::= SEQUENCE {
eap-header PEHeader,
templateID OBJECT IDENTIFIER,
df-eap File,
ef-eapkeys File OPTIONAL,
ef-eapstatus File,
ef-puid File OPTIONAL,
ef-ps File OPTIONAL,
ef-curid File OPTIONAL,
ef-reid File OPTIONAL,
ef-realm File OPTIONAL
}
/* Create GenericFileManagement
*/
PE-GenericFileManagement ::= SEQUENCE {
@ -619,17 +646,17 @@ Bytes 9..16: value if shared secret data B
Shared Secrets for HRPD access authentication
Includes the shared secret data. This field is coded as defined in section 4.5.7.10 HRPD Access Authentication CHAP SS Parameters of [S0016].
*/
hrpdAccessAuthenticationData OCTET STRING (SIZE (9..32)) OPTIONAL,
hrpdAccessAuthenticationData OCTET STRING (SIZE (2..32)) OPTIONAL,
/*
Parameters for simple IP authentication are coded as defined in section 4.5.7.7 SimpleIP CHAP SS Parameters of [S0016].
*/
simpleIPAuthenticationData OCTET STRING (SIZE (10..483)) OPTIONAL,
simpleIPAuthenticationData OCTET STRING (SIZE (3..483)) OPTIONAL,
/*
Parameters for mobile IP authentication are coded as defined in section 4.5.7.8 MobileIP SS Parameters of [S0016].
*/
mobileIPAuthenticationData OCTET STRING (SIZE (19..957)) OPTIONAL
mobileIPAuthenticationData OCTET STRING (SIZE (12..957)) OPTIONAL
}
PINKeyReferenceValue ::= INTEGER {
@ -662,8 +689,23 @@ adm10(142) -- Administrative Key 10
}
PINConfiguration ::= SEQUENCE {
/*
For every value defined in PINKeyReferenceValue only one entry may be included per PE-PINCodes.
Within the PE-PINCodes sent in the context of the MF only global PIN key references shall be used.
For PINs in any ADF/DF only local PINs shall be defined: secondPINAppl1 secondPINAppl8.
It is allowed to define the same PINKeyReferenceValue in multiple directories
(e.g. secondPINAppl1 may be defined in the ISIM NAA and within the USIM NAA).
Provided they are not linked they shall be handled as two independent PIN values which also may
reference different PUK references.
*/
keyReference PINKeyReferenceValue,
pinValue OCTET STRING (SIZE (8)),
/*
In case no unblockingPINReference is set, no PUK applies for the corresponding PIN.
In case a PUKKeyReferenceValue is defined the related PUKKeyReferenceValue shall exist within the PE-PUKCodes list.
Any value defined in PUKKeyReferenceValue may be applied for any PINKeyReferenceValue.
*/
unblockingPINReference PUKKeyReferenceValue OPTIONAL,
pinAttributes UInt8 DEFAULT 7,
maxNumOfAttemps-retryNumLeft UInt8 DEFAULT 51
@ -683,25 +725,28 @@ PE-PINCodes ::= SEQUENCE {
}
PUKKeyReferenceValue ::= INTEGER {
pukAppl1(1), -- PUK global of App 1
pukAppl2(2), -- PUK global of App 2
pukAppl3(3), -- PUK global of App 3
pukAppl4(4), -- PUK global of App 4
pukAppl5(5), -- PUK global of App 5
pukAppl6(6), -- PUK global of App 6
pukAppl7(7), -- PUK global of App 7
pukAppl8(8), -- PUK global of App 8
secondPUKAppl1(129), -- PUK local of App 1
secondPUKAppl2(130), -- PUK local of App 2
secondPUKAppl3(131), -- PUK local of App 3
secondPUKAppl4(132), -- PUK local of App 4
secondPUKAppl5(133), -- PUK local of App 5
secondPUKAppl6(134), -- PUK local of App 6
secondPUKAppl7(135), -- PUK local of App 7
secondPUKAppl8(136) -- PUK local of App 8
pukAppl1(1), -- PUK Reference 1
pukAppl2(2), -- PUK Reference 2
pukAppl3(3), -- PUK Reference 3
pukAppl4(4), -- PUK Reference 4
pukAppl5(5), -- PUK Reference 5
pukAppl6(6), -- PUK Reference 6
pukAppl7(7), -- PUK Reference 7
pukAppl8(8), -- PUK Reference 8
secondPUKAppl1(129), -- PUK Reference 9
secondPUKAppl2(130), -- PUK Reference 10
secondPUKAppl3(131), -- PUK Reference 11
secondPUKAppl4(132), -- PUK Reference 12
secondPUKAppl5(133), -- PUK Reference 13
secondPUKAppl6(134), -- PUK Reference 14
secondPUKAppl7(135), -- PUK Reference 15
secondPUKAppl8(136) -- PUK Reference 16
}
PUKConfiguration ::= SEQUENCE {
/*
Any PUKKeyReferenceValue shall only be defined once within PE-PUKCodes.
*/
keyReference PUKKeyReferenceValue,
pukValue OCTET STRING (SIZE (8)),
maxNumOfAttemps-retryNumLeft UInt8 DEFAULT 170
@ -717,7 +762,16 @@ PE-SecurityDomain ::= SEQUENCE {
sd-Header PEHeader,
instance ApplicationInstance, -- see section 8.7.3
keyList SEQUENCE (SIZE (1..MAX)) OF KeyObject OPTIONAL, -- see section 8.6.3
sdPersoData SEQUENCE (SIZE (1..MAX)) OF OCTET STRING OPTIONAL -- see section 8.6.4
sdPersoData SEQUENCE (SIZE (1..MAX)) OF OCTET STRING OPTIONAL, -- see section 8.6.4
openPersoData SEQUENCE {
restrictParameter [PRIVATE 25] OCTET STRING OPTIONAL,
contactlessProtocolParameters OCTET STRING OPTIONAL
} OPTIONAL, /* see section 8.6.6 */
catTpParameters SEQUENCE
{
catTpMaxSduSize UInt16,
catTpMaxPduSize UInt16
} OPTIONAL -- see section 8.6.7
}
KeyObject::= SEQUENCE {
@ -765,16 +819,18 @@ processData SEQUENCE (SIZE (1..MAX)) OF OCTET STRING OPTIONAL
}
ApplicationSystemParameters ::= SEQUENCE{
volatileMemoryQuotaC7 [PRIVATE 7] OCTET STRING OPTIONAL,
nonVolatileMemoryQuotaC8 [PRIVATE 8] OCTET STRING OPTIONAL,
volatileMemoryQuotaC7 [PRIVATE 7] OCTET STRING (SIZE (2..4)) OPTIONAL,
nonVolatileMemoryQuotaC8 [PRIVATE 8] OCTET STRING (SIZE (2..4)) OPTIONAL,
globalServiceParameters [PRIVATE 11] OCTET STRING OPTIONAL,
implicitSelectionParameter [PRIVATE 15] OCTET STRING OPTIONAL,
volatileReservedMemory [PRIVATE 23] OCTET STRING OPTIONAL,
nonVolatileReservedMemory [PRIVATE 24] OCTET STRING OPTIONAL,
volatileReservedMemory [PRIVATE 23] OCTET STRING (SIZE (2..4)) OPTIONAL,
nonVolatileReservedMemory [PRIVATE 24] OCTET STRING (SIZE (2..4)) OPTIONAL,
ts102226SIMFileAccessToolkitParameter [PRIVATE 10] OCTET STRING OPTIONAL,
ts102226AdditionalContactlessParameters [0] TS102226AdditionalContactlessParameters OPTIONAL,
contactlessProtocolParameters [PRIVATE 25] OCTET STRING OPTIONAL, /* Coded according to Contactless Protocol Parameters Structure as defined in GP Amd. C */
userInteractionContactlessParameters [PRIVATE 26] OCTET STRING OPTIONAL /* Coded according to User Interaction Parameters Structure as defined in GP Amd. C */
userInteractionContactlessParameters [PRIVATE 26] OCTET STRING OPTIONAL, /* Coded according to User Interaction Parameters Structure as defined in GP Amd. C */
cumulativeGrantedVolatileMemory [2] OCTET STRING (SIZE (2..4)) OPTIONAL, /* Coded according to Contactless Specific Parameters as defined in GP Amd. C */
cumulativeGrantedNonVolatileMemory [3] OCTET STRING (SIZE (2..4)) OPTIONAL /* Coded according to Contactless Specific Parameters as defined in GP Amd. C */
}
UICCApplicationParameters ::= SEQUENCE {
@ -834,6 +890,7 @@ ok(0), pe-not-supported(1), memory-failure(2),bad-values(3),
not-enough-memory(4),invalid-request-format(5), invalid-parameter(6),
runtime-not-supported (7), lib-not-supported (8),
template-not-supported (9), feature-not-supported (10),
pin-code-missing (11),
unsupported-profile-version(31)
/* ISO 7816 standard status values apply in the range of [24576...28671]
and [36864…40959] for reporting status values '6xxx'H and '9xxx'H
@ -842,8 +899,10 @@ proprietary values apply in the range [40960...65535]
},
identification UInt15 OPTIONAL,
-- Identification number of the PE triggering the error
additional-information UInt8 OPTIONAL
additional-information UInt8 OPTIONAL,
-- Additional information related to the status code
offset UInt31 OPTIONAL
-- Position of the part of the PE generating this status code
}
EUICCResponse ::= SEQUENCE {
@ -858,7 +917,7 @@ Test Profile
headerVal ProfileElement ::= header : {
major-version 2,
minor-version 1,
minor-version 2,
profileType "SIMalliance Sample Profile",
iccid '89019990001234567893'H,
eUICC-Mandatory-services {