laforge submitted this change.

View Change


Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve
RSPDefinitions: add separate template for serverSigned1

The field serverSigned1 is used in many messages, so it might be helpful
to add a separate template for it.

Change-Id: Ic50676ac2863173b72765afc44794a56d03413a5
Related: SYS#6824
---
M library/euicc/RSPDefinitions_EncDec.cc
M library/euicc/RSPDefinitions_Templates.ttcn
M library/euicc/RSPDefinitions_Types.ttcn
M library/euicc/SGP32Definitions_Templates.ttcn
4 files changed, 75 insertions(+), 13 deletions(-)

diff --git a/library/euicc/RSPDefinitions_EncDec.cc b/library/euicc/RSPDefinitions_EncDec.cc
index 6441201..b46a73c 100644
--- a/library/euicc/RSPDefinitions_EncDec.cc
+++ b/library/euicc/RSPDefinitions_EncDec.cc
@@ -278,4 +278,38 @@
return msg;
}

+OCTETSTRING enc__RemoteProfileProvisioningResponse(const RemoteProfileProvisioningResponse &msg) {
+ TTCN_Buffer buf;
+
+ buf.clear();
+ msg.encode(RemoteProfileProvisioningResponse_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER);
+ return OCTETSTRING(buf.get_len(), buf.get_data());
+}
+
+RemoteProfileProvisioningResponse dec__RemoteProfileProvisioningResponse(const OCTETSTRING &stream) {
+ TTCN_Buffer buf;
+ RemoteProfileProvisioningResponse msg;
+ buf.put_os(stream);
+
+ msg.decode(RemoteProfileProvisioningResponse_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
+ return msg;
+}
+
+OCTETSTRING enc__RemoteProfileProvisioningRequest(const RemoteProfileProvisioningRequest &msg) {
+ TTCN_Buffer buf;
+
+ buf.clear();
+ msg.encode(RemoteProfileProvisioningRequest_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER);
+ return OCTETSTRING(buf.get_len(), buf.get_data());
+}
+
+RemoteProfileProvisioningRequest dec__RemoteProfileProvisioningRequest(const OCTETSTRING &stream) {
+ TTCN_Buffer buf;
+ RemoteProfileProvisioningRequest msg;
+ buf.put_os(stream);
+
+ msg.decode(RemoteProfileProvisioningRequest_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
+ return msg;
+}
+
}
diff --git a/library/euicc/RSPDefinitions_Templates.ttcn b/library/euicc/RSPDefinitions_Templates.ttcn
index 86cdb0c..52e1788 100644
--- a/library/euicc/RSPDefinitions_Templates.ttcn
+++ b/library/euicc/RSPDefinitions_Templates.ttcn
@@ -74,6 +74,25 @@
'515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151'O}
}

+template (present) ServerSigned1 tr_serverSigned1(template (present) octetstring transactionId := ?,
+ template (present) octetstring euiccChallenge := ?,
+ template (present) universal charstring serverAddress := ?,
+ template (present) octetstring serverChallenge := ?) := {
+ transactionId := transactionId,
+ euiccChallenge := euiccChallenge,
+ 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) := {
+ transactionId := transactionId,
+ euiccChallenge := euiccChallenge,
+ serverAddress := serverAddress,
+ serverChallenge := serverChallenge
+}
+
/* GSMA SGP.22, section 2.5.6 */
template (present) ProfileInstallationResult
tr_profileInstallationResult := {
@@ -576,4 +595,4 @@
eidValue := eidValue
}

-}
\ No newline at end of file
+}
diff --git a/library/euicc/RSPDefinitions_Types.ttcn b/library/euicc/RSPDefinitions_Types.ttcn
index b031aa3..5bb3925 100644
--- a/library/euicc/RSPDefinitions_Types.ttcn
+++ b/library/euicc/RSPDefinitions_Types.ttcn
@@ -51,4 +51,10 @@
external function dec_SmdpSigned2(in octetstring stream) return SmdpSigned2;
external function enc_SmdpSigned2(in SmdpSigned2 msg) return octetstring;

+external function dec_RemoteProfileProvisioningResponse(in octetstring stream) return RemoteProfileProvisioningResponse;
+external function enc_RemoteProfileProvisioningResponse(in RemoteProfileProvisioningResponse msg) return octetstring;
+
+external function dec_RemoteProfileProvisioningRequest(in octetstring stream) return RemoteProfileProvisioningRequest;
+external function enc_RemoteProfileProvisioningRequest(in RemoteProfileProvisioningRequest msg) return octetstring;
+
}
diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn
index 86c2055..98a2bba 100644
--- a/library/euicc/SGP32Definitions_Templates.ttcn
+++ b/library/euicc/SGP32Definitions_Templates.ttcn
@@ -28,12 +28,7 @@
initiateAuthenticationResponseEsipa := {
initiateAuthenticationOkEsipa := {
transactionId := *,
- serverSigned1 := {
- transactionId := ?,
- euiccChallenge := euiccChallenge,
- serverAddress := serverAddress,
- serverChallenge := ?
- },
+ serverSigned1 := tr_serverSigned1(euiccChallenge := euiccChallenge, serverAddress := serverAddress),
serverSignature1 := ?,
euiccCiPKIdToBeUsed := ?,
serverCertificate := ?,
@@ -49,12 +44,7 @@
initiateAuthenticationResponseEsipa := {
initiateAuthenticationOkEsipa := {
transactionId := omit,
- serverSigned1 := {
- transactionId := 'ABCDEF'O,
- euiccChallenge := euiccChallenge,
- serverAddress := "smdp.example.com",
- serverChallenge := '01020304050607080910111213141516'O
- },
+ serverSigned1 := ts_serverSigned1(euiccChallenge := euiccChallenge, serverAddress := serverAddress),
serverSignature1 := '01020304'O,
euiccCiPKIdToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O, /* NIST */
serverCertificate := ts_cert_s_sm_dpauth_nist,

To view, visit change 36671. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ic50676ac2863173b72765afc44794a56d03413a5
Gerrit-Change-Number: 36671
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged