dexter has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41235?usp=email )


Change subject: smdpp_Tests: simplify generation of smdpp_ConnHdlrPars (NIST 
vs. BRP)
......................................................................

smdpp_Tests: simplify generation of smdpp_ConnHdlrPars (NIST vs. BRP)

When we call f_init_pars() it will return a record with default parameters.
However, those parameters are only a suitable default when the NIST curve
is used. For the brainpool curve we will have to modify returned result.

Let's simlify this by adding a parameter to f_init_pars() that allows us to
switch between the defaults for NIST and BRP as needed.

Realated: SYS#7339
Change-Id: Ied4ffa6ff4b3efbbcfc9204ce8f21ea7ca4becf5
---
M smdpp/smdpp_Tests.ttcn
1 file changed, 22 insertions(+), 40 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/35/41235/1

diff --git a/smdpp/smdpp_Tests.ttcn b/smdpp/smdpp_Tests.ttcn
index 579f742..ddf094b 100644
--- a/smdpp/smdpp_Tests.ttcn
+++ b/smdpp/smdpp_Tests.ttcn
@@ -379,18 +379,14 @@
        ES9EncodingMode es9_encoding_mode optional
 };

-private function f_init_pars() runs on MTC_CT return smdpp_ConnHdlrPars {
+private function f_init_pars(boolean brainpool := false) runs on MTC_CT return 
smdpp_ConnHdlrPars {
        var smdpp_ConnHdlrPars pars := {
                /* Unfortunately the SMDP server FQDN cannot be made 
configurable via a module parameter since it always
                 * to match the FQDN in the test SSL certificates. To resolve 
the server FQDN to an IP address, an entry
                 * in /etc/hosts is sufficient. */
                smdp_server_fqdn := "testsmdpplus1.example.com",
-               smdp_es9p_server_port := mp_es9plus_server_port_nist,
                smdp_es2p_server_port := mp_es2plus_server_port,
                cert_path := "./sgp26/CertificateIssuer",
-               cert_name_filter := "",  // Load all certificates (both NIST 
and BRP) or "NIST" or "BRP"
-               euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_NIST.der",
-               euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_NIST.pem",
                confirmation_code := omit,  // No confirmation code by default
                err_injection := omit,
                test_name := omit,
@@ -402,6 +398,20 @@
                metadata_segments := 1,
                es9_encoding_mode := omit  /* Default to JSON mode */
        };
+
+       /* GSMA SGP.22 specifies two different certificate curves, which 
require different default parameters */
+       if (brainpool) {
+               pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;
+               pars.cert_name_filter := "BRP";
+               pars.euicc_cert_path := 
"./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
+               pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+       } else {
+               pars.smdp_es9p_server_port := mp_es9plus_server_port_nist;
+               pars.cert_name_filter := "NIST";
+               pars.euicc_cert_path := 
"./sgp26/eUICC/CERT_EUICC_ECDSA_NIST.der";
+               pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_NIST.pem";
+       }
+
        return pars;
 }

@@ -5570,11 +5580,7 @@


 testcase TC_SM_DP_ES9_InitiateAuthenticationBRP_01_Nominal() runs on MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := f_start_handler(refers(f_TC_InitiateAuth_01_Nominal), pars);
@@ -5583,11 +5589,7 @@
 }
 
 testcase TC_SM_DP_ES9_AuthenticateClientBRP_01_Nominal() runs on MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := f_start_handler(refers(f_TC_AuthenticateClient_01_Nominal), 
pars);
@@ -5596,11 +5598,7 @@
 }

 testcase TC_SM_DP_ES9_GetBoundProfilePackageBRP_01_Nominal() runs on MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := f_start_handler(refers(f_TC_GetBoundProfilePackage_01_Nominal), 
pars);
@@ -5609,11 +5607,7 @@
 }

 testcase TC_rsp_complete_flow_BRP() runs on MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := f_start_handler(refers(f_TC_rsp_complete_flow), pars);
@@ -5622,11 +5616,7 @@
 }

 testcase TC_SM_DP_ES9_HandleNotificationBRP() runs on MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := f_start_handler(refers(f_TC_HandleNotification_01_Nominal), 
pars);
@@ -5635,11 +5625,7 @@
 }

 testcase TC_SM_DP_ES9_CancelSession_After_AuthenticateClientBRP() runs on 
MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := 
f_start_handler(refers(f_TC_CancelSession_After_AuthenticateClient_01_End_User_Rejection),
 pars);
@@ -5648,11 +5634,7 @@
 }

 testcase TC_SM_DP_ES9_CancelSession_After_GetBoundProfilePackageBRP() runs on 
MTC_CT {
-    var smdpp_ConnHdlrPars pars := f_init_pars();
-    pars.smdp_es9p_server_port := mp_es9plus_server_port_brp;  /* BRP server 
port */
-    pars.cert_name_filter := "BRP";  /* Use Brainpool certificates */
-    pars.euicc_cert_path := "./sgp26/eUICC/CERT_EUICC_ECDSA_BRP.der";
-    pars.euicc_key_path := "./sgp26/eUICC/SK_EUICC_ECDSA_BRP.pem";
+    var smdpp_ConnHdlrPars pars := f_init_pars(brainpool := true);
     var smdpp_ConnHdlr vc_conn;
     f_init(testcasename());
     vc_conn := 
f_start_handler(refers(f_TC_CancelSession_After_GetBoundProfilePackage_01), 
pars);

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41235?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: Ied4ffa6ff4b3efbbcfc9204ce8f21ea7ca4becf5
Gerrit-Change-Number: 41235
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <[email protected]>

Reply via email to