jolly has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43280?usp=email )
(
7 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: IPAd: Add eimTransactionId to TC_proc_euicc_pkg_dwnld_exec ......................................................................
IPAd: Add eimTransactionId to TC_proc_euicc_pkg_dwnld_exec
As we now have an optional transaction ID within euiccPackageSigned, check if the same transaction ID is received with the euiccPackageResultDataSigned.
Also check if the euiccPackageRequest towards the eUICC also contains the same transaction ID.
Related: SYS#8101 Change-Id: I04b456edbb1cbae4f1ec0e3a2e9c2e28b787af6b --- M ipad/IPAd_Tests.ttcn M library/euicc/SGP32Definitions_Templates.ttcn 2 files changed, 24 insertions(+), 15 deletions(-)
Approvals: osmith: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn index b18861d..1dfe90a 100644 --- a/ipad/IPAd_Tests.ttcn +++ b/ipad/IPAd_Tests.ttcn @@ -587,22 +587,29 @@ /* A testcase to try out an the Generic eUICC Package Download and Execution Procedure, * See also: GSMA SGP.32, section 3.3.1: Generic eUICC Package Download and Execution */ private function f_TC_proc_euicc_pkg_dwnld_exec(charstring id) runs on IPAd_ConnHdlr { + template (value) EuiccPackageSigned euiccPackageSigned := ts_euiccPackageSigned(eimTransactionId := '42'O); + template (present) EuiccPackageRequest euiccPackageRequest := ts_euiccPackageRequest(euiccPackageSigned); + f_exec_ipad(); f_es10x_init(); f_http_register();
/* Step #1-#2 */ - f_esipa_transceive(valueof(ts_getEimPackageResponse_euiccPkgReq), tr_getEimPackageRequest); + f_esipa_transceive(valueof(ts_getEimPackageResponse_euiccPkgReq(euiccPackageRequest)), tr_getEimPackageRequest);
/* Step #3-#8 */ - f_vpcd_transceive(enc_EuiccPackageResult(valueof(ts_euiccPackageResult))); + var octetstring asn := f_vpcd_transceive(enc_EuiccPackageResult(valueof(ts_euiccPackageResult(eimTransactionId := '42'O))), ''O); + var EuiccPackageRequest req := dec_EuiccPackageRequest(asn); + if (not match(req, tr_euiccPackageRequest(ts_euiccPackageSigned(eimTransactionId := '42'O)))) { + setverdict(fail, "Unexpected ES10b request: ", req); + }
/* Step #9 */ f_vpcd_transceive(enc_RetrieveNotificationsListResponse(valueof(ts_retrieveNotificationsListResponse_prfleInstRes)));
/* Step #10-14 */ f_esipa_transceive(valueof(ts_provideEimPackageResultResponse_eimAck(eimAcknowledgements := {1,2,3,4})), - tr_provideEimPackageResult(*, tr_eimPackageResult_ePRAndNotif)); + tr_provideEimPackageResult(*, tr_eimPackageResult_ePRAndNotif(tr_euiccPackageResultSigned_enablePsmo(eimTransactionId := '42'O))));
/* Step #15-17 */ f_vpcd_transceive(enc_NotificationSentResponse(valueof(ts_notificationSentResponse))); diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index 16388a4..0a708f9 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -671,20 +671,22 @@
/* GSMA SGP.32, section 6.3.2.6 */ template (present) EuiccPackageSigned -tr_euiccPackageSigned(template (present) EuiccPackage euiccPackage := tr_euiccPackage_enablePsmo) := { +tr_euiccPackageSigned(template (present) EuiccPackage euiccPackage := tr_euiccPackage_enablePsmo, + template octetstring eimTransactionId := *) := { eimId := ?, eidValue := ?, counterValue := ?, - eimTransactionId := *, + eimTransactionId := eimTransactionId, euiccPackage := euiccPackage }
template (value) EuiccPackageSigned -ts_euiccPackageSigned(template (value) EuiccPackage euiccPackage := ts_euiccPackage_enablePsmo) := { +ts_euiccPackageSigned(template (value) EuiccPackage euiccPackage := ts_euiccPackage_enablePsmo, + template (omit) octetstring eimTransactionId := omit) := { eimId := "myEim", eidValue := '00112233445566778899AABBCCDDEEFF'O, counterValue := 123, - eimTransactionId := omit, + eimTransactionId := eimTransactionId, euiccPackage := euiccPackage }
@@ -806,12 +808,12 @@
/* GSMA SGP.32, section 5.9.1 */ template (present) EuiccPackageResult -tr_euiccPackageResult := { +tr_euiccPackageResult(template octetstring eimTransactionId := *) := { euiccPackageResultSigned := { euiccPackageResultDataSigned := { eimId := ?, counterValue := ?, - eimTransactionId := *, + eimTransactionId := eimTransactionId, seqNumber := ?, euiccResult := ? }, @@ -819,12 +821,12 @@ } } template (value) EuiccPackageResult -ts_euiccPackageResult := { +ts_euiccPackageResult(template (omit) octetstring eimTransactionId := omit) := { euiccPackageResultSigned := { euiccPackageResultDataSigned := { eimId := "myEim", counterValue := 333, - eimTransactionId := omit, + eimTransactionId := eimTransactionId, seqNumber := 1234, euiccResult := { { @@ -900,12 +902,12 @@
/* GSMA SGP.32, section 6.3.2.7 */ template (present) EuiccPackageResult -tr_euiccPackageResultSigned_enablePsmo := { +tr_euiccPackageResultSigned_enablePsmo(template octetstring eimTransactionId := *) := { euiccPackageResultSigned := { euiccPackageResultDataSigned := { eimId := ?, counterValue := ?, - eimTransactionId := *, + eimTransactionId := eimTransactionId, seqNumber := ?, euiccResult := { { @@ -917,12 +919,12 @@ } } template (value) EuiccPackageResult -ts_euiccPackageResultSigned_enablePsmo := { +ts_euiccPackageResultSigned_enablePsmo(template (omit) octetstring eimTransactionId := omit) := { euiccPackageResultSigned := { euiccPackageResultDataSigned := { eimId := "myEIM", counterValue := 1, - eimTransactionId := omit, + eimTransactionId := eimTransactionId, seqNumber := 123, euiccResult := { {