dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43841?usp=email )
Change subject: SGP23_Constants: collect constants at a central place ......................................................................
SGP23_Constants: collect constants at a central place
The modules RSPDefinitions_Templates and SGP32Definitions_Templates have inline constants all over the place. Some of those constants even interact with each other (e.g. it is important to use the same transactionId value consistently). This is difficult difficult to maintain and the constants currently in use also do not follow any specification.
Let's collect those constants and re-define them in a central module. Fortunately SGP.23 already defines a lot of those constants and values we can use.
Related: SYS#8203 Change-Id: I00e3de0b20156993b8e15b5bbd4734faa20b66cf --- M eim/gen_links.sh M ipad/gen_links.sh M library/euicc/RSPDefinitions_Templates.ttcn A library/euicc/SGP23_Constants.ttcn M library/euicc/SGP32Definitions_Templates.ttcn M smdpp/gen_links.sh 6 files changed, 316 insertions(+), 161 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/43841/1
diff --git a/eim/gen_links.sh b/eim/gen_links.sh index 91a67ea..5f92fb7 100755 --- a/eim/gen_links.sh +++ b/eim/gen_links.sh @@ -35,7 +35,8 @@ FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn esipa_Types_JSON.ttcn " -FILES+="es9p_Types_JSON.ttcn esx_header_Types_JSON.ttcn" +FILES+="es9p_Types_JSON.ttcn esx_header_Types_JSON.ttcn SGP23_Constants.ttcn" + gen_links $DIR $FILES
DIR=../library diff --git a/ipad/gen_links.sh b/ipad/gen_links.sh index 29bda02..ba27ca4 100755 --- a/ipad/gen_links.sh +++ b/ipad/gen_links.sh @@ -34,7 +34,8 @@ FILES="PEDefinitions.asn PKIX1Explicit88.asn PKIX1Implicit88.asn RSPDefinitions.asn SGP32Definitions.asn " FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " -FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn " +FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn SGP23_Constants.ttcn" + gen_links $DIR $FILES
DIR=../library diff --git a/library/euicc/RSPDefinitions_Templates.ttcn b/library/euicc/RSPDefinitions_Templates.ttcn index 1d696b2..87b3ca5 100644 --- a/library/euicc/RSPDefinitions_Templates.ttcn +++ b/library/euicc/RSPDefinitions_Templates.ttcn @@ -19,6 +19,7 @@ import from PKIX1Explicit88_Types all;
import from PKIX1Implicit88 all; +import from SGP23_Constants all;
/* GSMA SGP.22, section 2.5.4 */ template (present) BoundProfilePackage @@ -47,14 +48,14 @@ ts_boundProfilePackage := { initialiseSecureChannelRequest := { remoteOpId := 1, - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, controlRefTemplate := { keyType := '88'O, /* AES */ keyLen := '10'O, /* 16 byte key-length */ - hostId := '01020304050607080910111213141516'O + hostId := SGP23_HOST_ID }, - smdpOtpk := '1122334455667788'O, - smdpSign := 'AABBCCDDEEFF0000'O + smdpOtpk := SGP23_OTPK_SM_DPp_ECKA, + smdpSign := SGP23_SM_DPp_SIGN }, /* ES8+.ConfigureISDP */ firstSequenceOf87 := {'B318A07DA7C25DCEB6537E6A38E46CB71110BD7AA61AF693'O}, @@ -465,19 +466,21 @@ serverAddress := serverAddress, serverChallenge := serverChallenge } -template (value) ServerSigned1 ts_serverSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) octetstring euiccChallenge := '00112233445566778899AABBCCDDEEFF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O) := { +template (value) ServerSigned1 ts_serverSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE) := { transactionId := transactionId, euiccChallenge := euiccChallenge, serverAddress := serverAddress, serverChallenge := serverChallenge }
-template (present) CtxParams1 tr_ctxParams1 := { +template (present) CtxParams1 tr_ctxParams1(template universal charstring matchingId := *, + template octetstring imei := *, + template (present) octetstring tac := ?) := { ctxParamsForCommonAuthentication := { - matchingId := *, + matchingId := matchingId, deviceInfo := { tac := ?, deviceCapabilities := { @@ -497,24 +500,26 @@ euiccFormFactorType := *, deviceAdditionalFeatureSupport := * }, - imei := * + imei := imei } } } -template (value) CtxParams1 ts_ctxParams1 := { +template (value) CtxParams1 ts_ctxParams1(template (omit) universal charstring matchingId := omit, + template (omit) octetstring imei := omit, + template (value) octetstring tac := SGP23_S_TAC) := { ctxParamsForCommonAuthentication := { - matchingId := omit, + matchingId := matchingId, deviceInfo := { - tac := '12345678'O, + tac := SGP23_S_TAC, deviceCapabilities := { - gsmSupportedRelease := omit, - utranSupportedRelease := omit, - cdma2000onexSupportedRelease := omit, - cdma2000hrpdSupportedRelease := omit, - cdma2000ehrpdSupportedRelease := omit, - eutranEpcSupportedRelease := omit, - contactlessSupportedRelease := omit, - rspCrlSupportedVersion := omit, + gsmSupportedRelease := '050000'O, /* See also GSMA SGP.23, annex A, section A1 */ + utranSupportedRelease := '080000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000onexSupportedRelease := '010000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000hrpdSupportedRelease := '010000'O, /* See also GSMA SGP.23, annex A, section A1 */ + cdma2000ehrpdSupportedRelease := '020000'O, /* See also GSMA SGP.23, annex A, section A1 */ + eutranEpcSupportedRelease := '020000'O, /* See also GSMA SGP.23, annex A, section A1 */ + contactlessSupportedRelease := '090000'O, /* See also GSMA SGP.23, annex A, section A1 */ + rspCrlSupportedVersion := SGP23_RSP_SVN_H, nrEpcSupportedRelease := omit, nr5gcSupportedRelease := omit, eutran5gcSupportedRelease := omit, @@ -523,7 +528,7 @@ euiccFormFactorType := omit, deviceAdditionalFeatureSupport := omit }, - imei := omit + imei := imei } } } @@ -539,9 +544,9 @@ euiccInfo2 := euiccInfo2, ctxParams1 := ctxParams1 } -template (value) EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O, +template (value) EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, template (value) EUICCInfo2 euiccInfo2 := ts_EUICCInfo2, template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { transactionId := transactionId, @@ -565,7 +570,7 @@ serviceSpecificDataNotStoredInEuicc := * } template (value) StoreMetadataRequest ts_storeMetadataRequest := { - iccid := '123456789ABCDEFFAAAA'O, + iccid := SGP23_ICCID_OP_PROF1, serviceProviderName := "testsuite", profileName := "testprofile", iconType := omit, @@ -584,7 +589,7 @@ ccRequiredFlag := ccRequiredFlag, bppEuiccOtpk := * } -template (value) SmdpSigned2 ts_smdpSigned2(template (value) octetstring transactionId := 'ABCDEF'O, +template (value) SmdpSigned2 ts_smdpSigned2(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) boolean ccRequiredFlag := false) := { transactionId := transactionId, ccRequiredFlag := ccRequiredFlag, @@ -612,19 +617,19 @@ finalResult := ? } template (value) ProfileInstallationResultData -ts_profileInstallationResultData(template (value) charstring notificationAddress := "smdp.example.com") := { - transactionId := 'ABCDEF'O, +ts_profileInstallationResultData(template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1) := { + transactionId := SGP23_S_TRANSACTION_ID, notificationMetadata := { seqNumber := 1234, profileManagementOperation := '01'B, /* is this correct? (notificationInstall) */ notificationAddress := notificationAddress, - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 }, smdpOid := id_rsp, /* random OBJECT IDENTIFIER for testing */ finalResult := { successResult := { - aid := '0102030405'O, - simaResponse := '4141414141414141414141414141414141414141414141414141'O + aid := SGP23_ISD_P_AID, + simaResponse := SGP23_SIMA_RESULT_OK } } } @@ -636,7 +641,7 @@ template (value) ProfileInstallationResult ts_profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData, - euiccSignPIR := '00112233445566778899AABBCCDDEEFF'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR }
/* GSMA SGP.22, section 5.6.1 (ES9+) */ @@ -651,8 +656,8 @@ } } template (value) RemoteProfileProvisioningRequest -ts_initiateAuthenticationRequest(template (value) octetstring euiccChallenge := '00112233445566778899aabbccddeeff'O, - template (value) charstring smdpAddress := "smdp.example.com", +ts_initiateAuthenticationRequest(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (value) charstring smdpAddress := SGP23_TEST_DP_ADDRESS1, template (value) EUICCInfo1 euiccInfo1 := ts_EUICCInfo1) := { initiateAuthenticationRequest := { euiccChallenge := euiccChallenge, @@ -677,10 +682,10 @@ } } template (value) RemoteProfileProvisioningResponse -ts_initiateAuthenticationResponse(template (value) octetstring transactionId := 'ABCDEF'O, +ts_initiateAuthenticationResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) ServerSigned1 serverSigned1 := ts_serverSigned1, - template (value) octetstring serverSignature1 := '01020304'O, - template (value) SubjectKeyIdentifier euiccCiPKIdToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O, /* NIST */ + template (value) octetstring serverSignature1 := SGP23_SERVER_SIGNATURE1, + template (value) SubjectKeyIdentifier euiccCiPKIdToBeUsed := SGP23_EUICC_CI_PK_ID_TO_BE_USED, template (value) Certificate serverCertificate := ts_cert_s_sm_dpauth_nist) := { initiateAuthenticationResponse := { initiateAuthenticationOk := { @@ -703,7 +708,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_getBoundProfilePackageRequest(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageRequest(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) PrepareDownloadResponse prepareDownloadResponse := ts_prepareDownloadResponse) := { getBoundProfilePackageRequest := { transactionId := transactionId, @@ -721,7 +726,7 @@ } } template (value) RemoteProfileProvisioningResponse -ts_getBoundProfilePackageResponse(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) BoundProfilePackage boundProfilePackage := ts_boundProfilePackage) := { getBoundProfilePackageResponse := { getBoundProfilePackageOk := { @@ -741,7 +746,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_authenticateClientRequest(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientRequest(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) AuthenticateServerResponse authenticateServerResponse := ts_authenticateServerResponse) := { authenticateClientRequest := { transactionId := transactionId, @@ -765,10 +770,10 @@ } } template (value) RemoteProfileProvisioningResponse -ts_authenticateClientResponseEs9(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientResponseEs9(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) StoreMetadataRequest profileMetaData := ts_storeMetadataRequest, template (value) SmdpSigned2 smdpSigned2 := ts_smdpSigned2, - template (value) octetstring smdpSignature2 := 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'O, + template (value) octetstring smdpSignature2 := SGP23_SMDP_SIGNATURE2, template (value) Certificate smdpCertificate := ts_cert_s_sm_dpauth_nist) := { authenticateClientResponseEs9 := { authenticateClientOk := { @@ -805,7 +810,7 @@ } } template (value) RemoteProfileProvisioningRequest -ts_cancelSessionRequestEs9(template (value) octetstring transactionId := 'ABCDEF'O, +ts_cancelSessionRequestEs9(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) CancelSessionResponse cancelSessionResponse := ts_cancelSessionResponse) := { cancelSessionRequestEs9 := { transactionId := transactionId, @@ -834,8 +839,8 @@ } template (value) EuiccConfiguredAddressesResponse ts_euiccConfiguredAddressesResponse := { - defaultDpAddress := "smdp.example.com", - rootDsAddress := "smds.example.com" + defaultDpAddress := SGP23_TEST_DEFAULT_DP_ADDRESS_1, + rootDsAddress := SGP23_TEST_DS_ADDRESS1 }
/* GSMA SGP.22, section 5.7.5 (ES10x) */ @@ -851,11 +856,11 @@ template (value) PrepareDownloadResponseOk ts_prepareDownloadResponseOk := { euiccSigned2 := { - transactionId := 'ABCDEF'O, - euiccOtpk := 'AABBCCDDEEFF'O, + transactionId := SGP23_S_TRANSACTION_ID, + euiccOtpk := SGP23_OTPK_EUICC_ECKA, hashCc := omit }, - euiccSignature2 := 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'O + euiccSignature2 := SGP23_EUICC_SIGNATURE1 } template (present) PrepareDownloadResponse tr_prepareDownloadResponse := { @@ -873,7 +878,7 @@ } template (value) PrepareDownloadResponseError ts_prepareDownloadResponseError := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, downloadErrorCode := 127 // undefinedError } template (present) PrepareDownloadResponse @@ -891,7 +896,7 @@ euiccChallenge := ? } template (value) GetEuiccChallengeResponse -ts_GetEuiccChallengeResponse(template (value) octetstring euiccChallenge := '00112233445566778899AABBCCDDEEFF'O) := { +ts_GetEuiccChallengeResponse(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE) := { euiccChallenge := euiccChallenge }
@@ -904,10 +909,8 @@ euiccCiPKIdListForSigning := euiccCiPKIdListForSigning } template (value) EUICCInfo1 -ts_EUICCInfo1(template (value) record of octetstring euiccCiPKIdListForVerification := {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}, - template (value) record of octetstring euiccCiPKIdListForSigning := {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}) := { +ts_EUICCInfo1(template (value) record of octetstring euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + template (value) record of octetstring euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1) := { svn := '020200'O, euiccCiPKIdListForVerification := euiccCiPKIdListForVerification, euiccCiPKIdListForSigning := euiccCiPKIdListForSigning @@ -937,26 +940,20 @@ } template (value) EUICCInfo2 ts_EUICCInfo2 := { - profileVersion := '414243'O, - svn := '02000C'O, - euiccFirmwareVer := '414243'O, - extCardResource := '414243'O, + profileVersion := SGP23_PROFILE_VERSION, + svn := SGP23_RSP_SVN_V2_2_1, + euiccFirmwareVer := SGP23_EUICC_FIRMWARE_VER, + extCardResource := SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE, uiccCapability := '1111111111111111111'B, ts102241Version := omit, globalplatformVersion := omit, rspCapability := '1111'B, - euiccCiPKIdListForVerification := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, - euiccCiPKIdListForSigning := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, + euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1, euiccCategory := omit, forbiddenProfilePolicyRules := omit, - ppVersion := '414243'O, - sasAcreditationNumber := "123456", + ppVersion := SGP23_PP_VERSION, + sasAcreditationNumber := SGP23_SAS_ACREDITATION_NUMBER, certificationDataObject := omit, treProperties := omit, treProductReference := omit, @@ -970,7 +967,7 @@ { profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData, - euiccSignPIR := 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR } } } @@ -1001,36 +998,45 @@
/* GSMA SGP.22, section 5.7.13 (ES10x) */ template (present) AuthenticateServerResponse -tr_authenticateServerResponse := { +tr_authenticateServerResponse(template (present) octetstring transactionId := ?, + template (present) charstring serverAddress := ?, + template (present) octetstring serverChallenge := ?, + template (present) CtxParams1 ctxParams1 := tr_ctxParams1, + template (present) octetstring euiccSignature1 := ?, + template (present) Certificate euiccCertificate := ?, + template (present) Certificate eumCertificate := ?) := { authenticateResponseOk := { euiccSigned1 := { - transactionId := ?, - serverAddress := ?, - serverChallenge := ?, + transactionId := transactionId, + serverAddress := serverAddress, + serverChallenge := serverChallenge, euiccInfo2 := ?, ctxParams1 := tr_ctxParams1 }, - euiccSignature1 := ?, - euiccCertificate := ?, - eumCertificate := ? + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } } template (value) AuthenticateServerResponse -ts_authenticateServerResponse := { +ts_authenticateServerResponse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, + template (value) CtxParams1 ctxParams1 := ts_ctxParams1, + template (value) octetstring euiccSignature1 := SGP23_EUICC_SIGNATURE1, + template (value) Certificate euiccCertificate := ts_cert_euicc_nist, + template (value) Certificate eumCertificate := ts_cert_eum_nist) := { authenticateResponseOk := { euiccSigned1 := { - transactionId := 'ABCDEF'O, - serverAddress := "smdp.example.com", - serverChallenge := '01020304050607080910111213141516'O, + transactionId := transactionId, + serverAddress := serverAddress, + serverChallenge := serverChallenge, euiccInfo2 := ts_EUICCInfo2, ctxParams1 := ts_ctxParams1 }, - euiccSignature1 := '12345678'O, - euiccCertificate := ts_cert_euicc_nist, -// euiccCertificate := ts_cert_euicc_brp, - eumCertificate := ts_cert_eum_nist -// eumCertificate := ts_cert_eum_brp - + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } }
@@ -1042,7 +1048,7 @@ } template (value) CancelSessionRequest ts_cancelSessionRequest := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, reason := 127 // undefinedReason }
@@ -1058,11 +1064,11 @@ template (value) CancelSessionResponseOk ts_cancelSessionResponseOk := { euiccCancelSessionSigned := { - transactionId := 'ABCDEF'O, + transactionId := SGP23_S_TRANSACTION_ID, smdpOid := id_rspRole_euicc, reason := 5 }, - euiccCancelSessionSignature := '1234567890'O + euiccCancelSessionSignature := SGP23_EUICC_CANCEL_SESSION_SIGNATURE } template (present) CancelSessionResponse tr_cancelSessionResponse := { @@ -1079,7 +1085,7 @@ eidValue := ? } template (value) GetEuiccDataResponse -ts_getEuiccDataResponse(template (value) octetstring eidValue := '000102030405060708090A0B0C0D0E0F'O) := { +ts_getEuiccDataResponse(template (value) octetstring eidValue := SGP23_EID1) := { eidValue := eidValue }
@@ -1097,7 +1103,7 @@ template (value) NotificationMetadata ts_notificationMetadata(template (value) integer seqNumber := 1, template (value) NotificationEvent profileManagementOperation := '1000'B, - template (value) charstring notificationAddress := "smdp.example.com", + template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1, template (omit) octetstring iccid := omit) := { seqNumber := seqNumber, profileManagementOperation := profileManagementOperation, @@ -1118,7 +1124,7 @@ } template (value) OtherSignedNotification ts_otherSignedNotification(template (value) NotificationMetadata tbsOtherNotification := ts_notificationMetadata, - template (value) octetstring euiccNotificationSignature := '0123456789ABCDEF'O, + template (value) octetstring euiccNotificationSignature := SGP23_TBS_EUICC_NOTIF_SIG, template (value) Certificate euiccCertificate, template (value) Certificate eumCertificate) := { tbsOtherNotification := tbsOtherNotification, diff --git a/library/euicc/SGP23_Constants.ttcn b/library/euicc/SGP23_Constants.ttcn new file mode 100644 index 0000000..ab487bc --- /dev/null +++ b/library/euicc/SGP23_Constants.ttcn @@ -0,0 +1,152 @@ +/* eUICC Constants in TTCN-3 + * + * This module implements a set of constants which are used by the eUICC related templates provided in this directory. + * + * The constants follow the naming scheme of the SGP.23 test specification and wherever possible the constant values + * also match the contents as specified. Unfortunately SGP.23 does not specify expected values for dynamic content, + * even though in many test situations constants would be sufficient. For that reason, this module also defines a + * constant for each of those dynamic content values as well. + * + * Author: Philipp Maier pmaier@sysmocom.de / sysmocom - s.f.m.c. GmbH + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module SGP23_Constants { + +/* Generic Constants (see also: SGP.23, annex A, section A1) */ +const octetstring SGP23_EID1 := '89049032123451234512345678901235'O; +const octetstring SGP23_EID2 := '89049032112341234012345678901375'O; +const record of octetstring SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1 := + {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}; +const record of octetstring SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1 := + {'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O}; +function f_SGP23_ACTIVATION_CODE_1(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_1) return charstring { + return "1$#" & test_dp_address & "$" & matching_id; +} +function f_SGP23_ACTIVATION_CODE_2(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_2, + charstring sm_dp_oid := "foo") return charstring { + return "1$#" & test_dp_address & "$" & matching_id & "$" & sm_dp_oid; +} +function f_SGP23_ACTIVATION_CODE_3(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_3) return charstring { + return "1$#" & test_dp_address & "$" & matching_id & "$$1"; +} +function f_SGP23_ACTIVATION_CODE_3_NO_CC(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_3) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +function f_SGP23_ACTIVATION_CODE_4(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_4) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +function f_SGP23_ACTIVATION_CODE_5(charstring test_dp_address := SGP23_TEST_DP_ADDRESS1, + charstring matching_id := SGP23_MATCHING_ID_EMPTY) return charstring { + return f_SGP23_ACTIVATION_CODE_1(test_dp_address, matching_id); +} +const octetstring SGP23_ICCID_OP_PROF1 := '989209012143658709F5'O; +const octetstring SGP23_ICCID_OP_PROF1_NON_SWAP := '8929901012345678905F'O; +const octetstring SGP23_ICCID_OP_PROF2 := '989209013254769810F9'O; +const octetstring ICCID_OP_PROF2_NON_SWAP := '8929901023456789019F'O; +const octetstring SGP23_HOST_ID := '47534D4120534D2D5858'O; +const octetstring SGP23_ICCID_OP_PROF3 := '989209014365870921F5'O; +const octetstring SGP23_ICCID_OP_PROF4 := '989209015476981032F9'O; +const octetstring SGP23_ICCID_OP_PROF5 := '989209016587092143F5'O; +const octetstring SGP23_ICCID_OP_PROF6 := '989209017698103254F9'O; +const octetstring SGP23_ICCID_OP_PROF7 := '989209018709214365F5'O; +const octetstring SGP23_ICCID_OP_PROF8 := '989209019810325476F9'O; +const octetstring SGP23_ICCID_OP_PROF9 := '989209012143658776F5'O; +const octetstring SGP23_ICCID_OP_PROFX := '9892090143658709FFFF'O; +const octetstring SGP23_ICCID_OP_PROF10 := '98109909002143658779'O; +const octetstring SGP23_ICCID_UNKNOWN := '9892010A2143658709F8'O; +const octetstring SGP23_INSTALLED_PROFILES := '00'O; +const charstring SGP23_MATCHING_ID_1 := "04386-AGYFT-A74Y8-3F815"; +const charstring SGP23_MATCHING_ID_2 := "04386-AGYFT-A74Y8-3F816"; +const charstring SGP23_MATCHING_ID_3 := "04386-AGYFT-A74Y8-3F817"; +const charstring SGP23_MATCHING_ID_4 := "04386-AGYFT-A74Y8-3F818"; +const octetstring SGP23_MCC_MNC_WILDCARD := '92F9EE'O; +const octetstring SGP23_MCC_MNC1 := '92F918'O; +const octetstring SGP23_MCC_MNC2 := '92F928'O; +const octetstring SGP23_MCC_MNC4 := '92F948'O; +const octetstring SGP23_MCC_MNC9 := '92F998'O; +const octetstring SGP23_RSP_SVN := '020100'O; +const octetstring SGP23_RSP_SVN_H := '020100'O; +const octetstring SGP23_RSP_SVN_V2_2_1 := '020201'O; +const octetstring SGP23_RSP_SVN_V2_2_2 := '020202'O; +const octetstring SGP23_RSP_SVN_V2_3 := '020300'O; +const octetstring SGP23_S_EUICC_CHALLENGE := '01020304050607080102030405060708'O; +const octetstring SGP23_S_EUICC_CHALLENGE_2 := '21222324252627282122232425262728'O; +const octetstring SGP23_S_IMEI := '0000000011111111'O; +const objid SGP23_S_SM_DPp_OID := objid {2 999 10}; +const objid SGP23_S_SM_DPp_OID2 := objid {2 999 12}; +const objid SGP23_S_SM_DPp_OID4 := objid {2 999 14}; +const objid SGP23_S_SM_DPp_OID8 := objid {2 999 18}; +const objid SGP23_S_SM_DS_OID := objid {2 999 15}; +const octetstring SGP23_S_TAC := '00000000'O; +const octetstring SGP23_SIMA_RESULT_OK := '3007A0053003800100'O; +const octetstring SGP23_SSD_AID := 'A00000055910100102736456616C7565'O; +const charstring SGP23_TEST_ALT_DS_ADDRESS := "testaltsmds.example.com"; +const charstring SGP23_TEST_DEFAULT_DP_ADDRESS_1 := "testdefaultsmdpplus1.example.com"; +const charstring SGP23_TEST_DP_ADDRESS1 := "testsmdpplus1.example.com"; +const charstring SGP23_TEST_DP_ADDRESS2 := "testsmdpplus2.example.com"; +const charstring SGP23_TEST_DP_ADDRESS3 := "testsmdpplus3.example.com"; +const charstring SGP23_TEST_DP_ADDRESS4 := "testsmdpplus4.example.com"; +const charstring SGP23_TEST_DP_ADDRESS8 := "testsmdpplus8.example.com"; +const charstring SGP23_TEST_DS_ADDRESS1 := "testsmds1.example.com"; +const charstring SGP23_TEST_ROOT_DS_ADDRESS := "testrootsmds.example.com"; +const octetstring SGP23_UNKNOWN_BPP_SEGMENT := 'C9050102030405'O; +const charstring SGP23_UNKNOWN_SERVER_ADDRESS := "unknownserver.example.com"; +const octetstring SGP23_USIM_AID := 'A0000000871002FF33FF018900000100'O; + +/* Dynamic Content (see also: SGP.23, annex B) */ +const octetstring SGP23_EUICC_CI_PK_ID_TO_BE_USED := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O; +const octetstring SGP23_S_TRANSACTION_ID := '5454434e332d54455354535549544521'O; +const octetstring SGP23_EUICC_CANCEL_SESSION_SIGNATURE := + '53475032335F45554943435F43414E43454C5F53455353494F4E5F5349472052 + 53475032335F45554943435F43414E43454C5F53455353494F4E5F5349472053'O; +const octetstring SGP23_EUICC_SIGNATURE1 := + '53475032335F45554943435F5349474E41545552453120202020202020202052 + 53475032335F45554943435F5349474E41545552453120202020202020202053'O; +const octetstring SGP23_SMDP_CHALLENGE := '21534D44505F4348414C4C454E474521'O; +const octetstring SGP23_SM_DPp_SIGN := + '53475032335F534D5F4450705F5349474E202020202020202020202020202052 + 53475032335F534D5F4450705F5349474E202020202020202020202020202053'O; +const octetstring SGP23_SERVER_SIGNATURE1 := + '53475032335F5345525645525F5349474E415455524531202020202020202052 + 53475032335F5345525645525F5349474E415455524531202020202020202053'O; +const octetstring SGP23_EUICC_SIGN_PIR := + '53475032335F45554943435F5349474E5F504952202020202020202020202052 + 53475032335F45554943435F5349474E5F504952202020202020202020202053'O; +const octetstring SGP23_OTPK_EUICC_ECKA := + '53475032335F4F54504B5F45554943435F45434B412020202020202020202052 + 53475032335F4F54504B5F45554943435F45434B412020202020202020202053'O; +const octetstring SGP23_OTPK_SM_DPp_ECKA := + '53475032335F4F54504B5F534D5F4450705F45434B4120202020202020202052 + 53475032335F4F54504B5F534D5F4450705F45434B4120202020202020202053'O; +const octetstring SGP23_SMDP_SIGNATURE2 := + '53475032335F534D44505F5349474E4154555245322020202020202020202052 + 53475032335F534D44505F5349474E4154555245322020202020202020202053'O; +const octetstring SGP23_TBS_EUICC_NOTIF_SIG := + '53475032335F5442535F45554943435F4E4F5449465F53494720202020202052 + 53475032335F5442535F45554943435F4E4F5449465F53494720202020202053'O; +const octetstring SGP23_ISD_P_AID := 'A0000005591010FFFFFFFF8900001000'O; + +/* ES9+ Requests And Responses (see also SGP.23, annex D, section D.2) */ +const octetstring SGP23_EUICC_FIRMWARE_VER := '010000'O; +const octetstring SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE := + '81'O & int2oct(lengthof(SGP23_INSTALLED_PROFILES), 8) & SGP23_INSTALLED_PROFILES & + '82'O & int2oct(lengthof(SGP23_NON_VOLATILE_MEM_LIMITED_SPACE), 8) & SGP23_NON_VOLATILE_MEM_LIMITED_SPACE & + '83'O & int2oct(lengthof(SGP23_S_VOLATILE_MEM), 8) & SGP23_S_VOLATILE_MEM; +const octetstring SGP23_PP_VERSION := '010000'O; +const octetstring SGP23_PROFILE_VERSION := '020100'O; +const charstring SGP23_MATCHING_ID_EMPTY := ""; +const octetstring SGP23_NON_VOLATILE_MEM_LIMITED_SPACE := '0001'O; +const octetstring SGP23_S_VOLATILE_MEM := '0100'O; +const charstring SGP23_SAS_ACREDITATION_NUMBER := "GSMA_SAS_123456789"; + +} diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index 363a84f..1911515 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -21,6 +21,8 @@ import from PKIX1Explicit88_Templates all; import from PKIX1Explicit88_Types all;
+import from SGP23_Constants all; + /* GSMA SGP.32, section 5.9.2 (ES10x) */ template (present) SGP32_EUICCInfo2 tr_SGP32_EUICCInfo2 := { @@ -50,26 +52,20 @@ } template (value) SGP32_EUICCInfo2 ts_SGP32_EUICCInfo2 := { - profileVersion := '414243'O, - svn := '02000C'O, - euiccFirmwareVer := '414243'O, - extCardResource := '414243'O, + profileVersion := SGP23_PROFILE_VERSION, + svn := SGP23_RSP_SVN_V2_2_1, + euiccFirmwareVer := SGP23_EUICC_FIRMWARE_VER, + extCardResource := SGP23_EXT_CARD_RESOURCE_LIMITED_SPACE, uiccCapability := '1111111111111111111'B, ts102241Version := omit, globalplatformVersion := omit, rspCapability := '1111'B, - euiccCiPKIdListForVerification := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, - euiccCiPKIdListForSigning := { - 'C0BC70BA36929D43B467FF57570530E57AB8FCD8'O, - 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O - }, + euiccCiPKIdListForVerification := SGP23_EUICC_CI_PK_ID_LIST_FOR_VERIFICATION_1, + euiccCiPKIdListForSigning := SGP23_EUICC_CI_PK_ID_LIST_FOR_SIGNING_1, euiccCategory := omit, forbiddenProfilePolicyRules := omit, - ppVersion := '414243'O, - sasAcreditationNumber := "123456", + ppVersion := SGP23_PP_VERSION, + sasAcreditationNumber := SGP23_SAS_ACREDITATION_NUMBER, certificationDataObject := omit, treProperties := omit, treProductReference := omit, @@ -105,9 +101,8 @@ template (value) EsipaMessageFromEimToIpa ts_initiateAuthenticationResponseEsipa(template (omit) octetstring transactionId := omit, template (value) ServerSigned1 serverSigned1 := ts_serverSigned1, - template (value) octetstring serverSignature1 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, - template (value) octetstring euiccCiPKIdentifierToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O /* NIST */, + template (value) octetstring serverSignature1 := SGP23_SERVER_SIGNATURE1, + template (value) octetstring euiccCiPKIdentifierToBeUsed := SGP23_EUICC_CI_PK_ID_TO_BE_USED, template (value) Certificate serverCertificate := ts_cert_s_sm_dpauth_nist, template (omit) universal charstring matchingId := omit, template (omit) CtxParams1 ctxParams1 := omit) := { @@ -138,8 +133,8 @@ } } template (value) EsipaMessageFromIpaToEim -ts_initiateAuthenticationRequestEsipa(template (value) octetstring euiccChallenge := '00112233445566778899aabbccddeeff'O, - template (omit) charstring smdpAddress := "smdp.example.com", +ts_initiateAuthenticationRequestEsipa(template (value) octetstring euiccChallenge := SGP23_S_EUICC_CHALLENGE, + template (omit) charstring smdpAddress := SGP23_TEST_DP_ADDRESS1, template (omit) EUICCInfo1 euiccInfo1 := ts_EUICCInfo1, template (omit) octetstring eimTransactionId := omit) := { initiateAuthenticationRequestEsipa := { @@ -151,22 +146,22 @@ }
/* GSMA SGP.32, section 6.3.2.2 */ -template (present) SGP32_EuiccSigned1 tr_euiccSigned1(template (present) octetstring transactionId := ?, - template (present) universal charstring serverAddress := ?, - template (present) octetstring serverChallenge := ?, - template (present) SGP32_EUICCInfo2 euiccInfo2 := ?, - template (present) CtxParams1 ctxParams1 := ?) := { +template (present) SGP32_EuiccSigned1 tr_SGP32_euiccSigned1(template (present) octetstring transactionId := ?, + template (present) universal charstring serverAddress := ?, + template (present) octetstring serverChallenge := ?, + template (present) SGP32_EUICCInfo2 euiccInfo2 := ?, + template (present) CtxParams1 ctxParams1 := ?) := { transactionId := transactionId, serverAddress := serverAddress, serverChallenge := serverChallenge, euiccInfo2 := euiccInfo2, ctxParams1 := ctxParams1 } -template (value) SGP32_EuiccSigned1 ts_euiccSigned1(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) universal charstring serverAddress := "smdp.example.com", - template (value) octetstring serverChallenge := '01020304050607080910111213141516'O, - template (value) SGP32_EUICCInfo2 euiccInfo2 := ts_SGP32_EUICCInfo2, - template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { +template (value) SGP32_EuiccSigned1 ts_SGP32_euiccSigned1(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) universal charstring serverAddress := SGP23_TEST_DP_ADDRESS1, + template (value) octetstring serverChallenge := SGP23_SMDP_CHALLENGE, + template (value) SGP32_EUICCInfo2 euiccInfo2 := ts_SGP32_EUICCInfo2, + template (value) CtxParams1 ctxParams1 := ts_ctxParams1) := { transactionId := transactionId, serverAddress := serverAddress, serverChallenge := serverChallenge, @@ -176,20 +171,22 @@ template (present) SGP32_AuthenticateServerResponse tr_SGP32_authenticateServerResponse := { authenticateResponseOk := { - euiccSigned1 := tr_euiccSigned1, + euiccSigned1 := tr_SGP32_euiccSigned1, euiccSignature1 := ?, euiccCertificate := ?, eumCertificate := ? } } template (value) SGP32_AuthenticateServerResponse -ts_SGP32_authenticateServerResponse := { +ts_SGP32_authenticateServerResponse(template (value) SGP32_EuiccSigned1 euiccSigned1 := ts_SGP32_euiccSigned1, + template (value) octetstring euiccSignature1 := SGP23_EUICC_SIGNATURE1, + template (value) Certificate euiccCertificate := ts_cert_euicc_nist, + template (value) Certificate eumCertificate := ts_cert_eum_nist) := { authenticateResponseOk := { - euiccSigned1 := ts_euiccSigned1, - euiccSignature1 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, - euiccCertificate := ts_cert_euicc_nist, - eumCertificate := ts_cert_eum_nist + euiccSigned1 := euiccSigned1, + euiccSignature1 := euiccSignature1, + euiccCertificate := euiccCertificate, + eumCertificate := eumCertificate } } template (present) EsipaMessageFromIpaToEim @@ -201,7 +198,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_authenticateClientRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_authenticateClientRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_AuthenticateServerResponse authenticateServerResponse := ts_SGP32_authenticateServerResponse) := { authenticateClientRequestEsipa := { transactionId := transactionId, @@ -226,8 +223,8 @@ } } template (value) EsipaMessageFromEimToIpa -ts_authenticateClientResponseEsipa_dse(template (value) octetstring transactionId := 'ABCDEF'O, - template (value) charstring activationCode := "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746") := { +ts_authenticateClientResponseEsipa_dse(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, + template (value) charstring activationCode := f_SGP23_ACTIVATION_CODE_1()) := { authenticateClientResponseEsipa := { authenticateClientOkDSEsipa := { transactionId := transactionId, @@ -264,8 +261,7 @@ ts_authenticateClientResponseEsipa_dpe(template (omit) octetstring transactionId := omit, template (omit) SGP32_StoreMetadataRequest profileMetaData := omit, template (value) SmdpSigned2 smdpSigned2 := ts_smdpSigned2, - template (value) octetstring smdpSignature2 := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O, + template (value) octetstring smdpSignature2 := SGP23_SMDP_SIGNATURE2, template (value) Certificate smdpCertificate := ts_cert_s_sm_dpauth_nist, template (omit) octetstring hashCc := omit) := { authenticateClientResponseEsipa := { @@ -305,7 +301,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_getEimPackageRequest(template (value) octetstring eidValue, +ts_getEimPackageRequest(template (value) octetstring eidValue := SGP23_EID1, template (omit) AsnNull notifyStateChange := omit, template (omit) integer stateChangeCause := omit, template (omit) octetstring rPLMN := omit) := { @@ -327,7 +323,7 @@ eimTransactionId := eimTransactionId } template (value) ProfileDownloadTriggerRequest -ts_profileDownloadTriggerRequest(template (value) charstring activationCode := "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746", +ts_profileDownloadTriggerRequest(template (value) charstring activationCode := f_SGP23_ACTIVATION_CODE_1(), template (omit) octetstring eimTransactionId := omit) := { profileDownloadData := { activationCode := activationCode @@ -419,7 +415,7 @@ psmoList := { { enable := { - iccid := '123456789ABCDEFFAAAA'O, + iccid := SGP23_ICCID_OP_PROF1, rollbackFlag := NULL } } @@ -440,7 +436,7 @@ psmoList := { { disable := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -460,7 +456,7 @@ psmoList := { { delete := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -485,12 +481,12 @@ psmoList := { { disable := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } }, { delete := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF2 } } } @@ -512,7 +508,7 @@ { listProfileInfo := { searchCriteria := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 }, tagList := '92'O /* profileName */ } @@ -553,8 +549,8 @@ { configureImmediateEnable := { immediateEnableFlag := NULL, - defaultSmdpOid := objid {1 2 3}, - defaultSmdpAddress := "smdp.example.com" + defaultSmdpOid := SGP23_S_SM_DS_OID, + defaultSmdpAddress := SGP23_TEST_DP_ADDRESS1 } } } @@ -574,7 +570,7 @@ psmoList := { { setFallbackAttribute := { - iccid := '123456789ABCDEFFAAAA'O + iccid := SGP23_ICCID_OP_PROF1 } } } @@ -610,7 +606,7 @@ psmoList := { { setDefaultDpAddress := { - defaultDpAddress := "smdp.example.com" + defaultDpAddress := SGP23_TEST_DP_ADDRESS1 } } } @@ -698,7 +694,7 @@ ts_euiccPackageSigned(template (value) EuiccPackage euiccPackage := ts_euiccPackage_enablePsmo, template (omit) octetstring eimTransactionId := omit) := { eimId := "myEim", - eidValue := '00112233445566778899AABBCCDDEEFF'O, + eidValue := SGP23_EID1, counterValue := 123, eimTransactionId := eimTransactionId, euiccPackage := euiccPackage @@ -746,7 +742,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_cancelSessionRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_cancelSessionRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_CancelSessionResponse cancelSessionResponse := ts_SGP32_cancelSessionResponse) := { cancelSessionRequestEsipa := { transactionId := transactionId, @@ -798,7 +794,7 @@ } } template (value) EsipaMessageFromIpaToEim -ts_getBoundProfilePackageRequestEsipa(template (value) octetstring transactionId := 'ABCDEF'O, +ts_getBoundProfilePackageRequestEsipa(template (value) octetstring transactionId := SGP23_S_TRANSACTION_ID, template (value) SGP32_PrepareDownloadResponse prepareDownloadResponse := ts_SGP32_prepareDownloadResponse) := { getBoundProfilePackageRequestEsipa := { transactionId := transactionId, @@ -890,11 +886,10 @@ euiccSignPIR := ? } } -template (value) SGP32_PendingNotification ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring notificationAddress := "smdp.example.com") := { +template (value) SGP32_PendingNotification ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1) := { profileInstallationResult := { profileInstallationResultData := ts_profileInstallationResultData(notificationAddress), - euiccSignPIR := '5252525252525252525252525252525252525252525252525252525252525252 - 5353535353535353535353535353535353535353535353535353535353535353'O + euiccSignPIR := SGP23_EUICC_SIGN_PIR } } template (present) SGP32_PendingNotification @@ -1119,8 +1114,8 @@ listProfileInfoResult := { profileInfoListOk := { { - iccid := '123456789ABCDEFFAAAA'O, - isdpAid := omit, + iccid := SGP23_ICCID_OP_PROF1, + isdpAid := SGP23_ISD_P_AID, profileState := 1, /* enabled */ profileNickname := omit, serviceProviderName := omit, @@ -1178,7 +1173,7 @@ pprIds := '000'B, allowedOperators := { { - mccMnc := '001F01'O, + mccMnc := SGP23_MCC_MNC1, gid1 := omit, gid2 := omit } @@ -1560,11 +1555,11 @@ ipaEuiccDataResponse := { ipaEuiccData := { notificationsList := omit, - defaultSmdpAddress := "smdp.example.com", + defaultSmdpAddress := SGP23_TEST_DP_ADDRESS1, euiccPackageResultList := omit, euiccInfo1 := ts_EUICCInfo1, euiccInfo2 := ts_SGP32_EUICCInfo2, - rootSmdsAddress := "smds.example.com", + rootSmdsAddress := SGP23_TEST_DS_ADDRESS1, associationToken := 1, eumCertificate := ts_cert_eum_nist, euiccCertificate := ts_cert_euicc_nist, diff --git a/smdpp/gen_links.sh b/smdpp/gen_links.sh index 1b1b27f..77fd33a 100755 --- a/smdpp/gen_links.sh +++ b/smdpp/gen_links.sh @@ -29,7 +29,7 @@ FILES="PEDefinitions.asn PKIX1Explicit88.asn PKIX1Implicit88.asn RSPDefinitions.asn SGP32Definitions.asn " FILES+="PKIX1Explicit88_Templates.ttcn PKIX1Explicit88_Types.ttcn PKIX1Implicit88_Templates.ttcn " FILES+="PKIX1Implicit88_Types.ttcn RSPDefinitions_Templates.ttcn RSPDefinitions_Types.ttcn " -FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn " +FILES+="SGP32Definitions_Templates.ttcn SGP32Definitions_Types.ttcn SGP23_Constants.ttcn " FILES+="es9p_Types_JSON.ttcn es2p_Types_JSON.ttcn es12_Types_JSON.ttcn esx_header_Types_JSON.ttcn" gen_links $DIR $FILES