jolly has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43280?usp=email )
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(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks
refs/changes/80/43280/1
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn
index 91f160f..2e289d1 100644
--- a/ipad/IPAd_Tests.ttcn
+++ b/ipad/IPAd_Tests.ttcn
@@ -572,22 +572,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, "Unexprected 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 da3ac16..8be8b88 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 := {
{
@@ -898,12 +900,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 := {
{
@@ -915,12 +917,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 := {
{
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43280?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I04b456edbb1cbae4f1ec0e3a2e9c2e28b787af6b
Gerrit-Change-Number: 43280
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <[email protected]>