| /* SGP32 Templates in TTCN-3 |
| * |
| * 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 SGP32Definitions_Templates { |
| |
| import from SGP32Definitions all; |
| import from SGP32Definitions_Types all; |
| |
| import from RSPDefinitions all; |
| import from RSPDefinitions_Types all; |
| import from RSPDefinitions_Templates all; |
| |
| import from PKIX1Explicit88 all; |
| import from PKIX1Explicit88_Templates all; |
| import from PKIX1Explicit88_Types all; |
| |
| /* GSMA SGP.32, section 6.3.2.1 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_initiateAuthenticationResponseEsipa(template (present) octetstring euiccChallenge := ?, |
| template (present) universal charstring serverAddress := ?) := { |
| initiateAuthenticationResponseEsipa := { |
| initiateAuthenticationOkEsipa := { |
| transactionId := *, |
| serverSigned1 := { |
| transactionId := ?, |
| euiccChallenge := euiccChallenge, |
| serverAddress := serverAddress, |
| serverChallenge := ? |
| }, |
| serverSignature1 := ?, |
| euiccCiPKIdToBeUsed := ?, |
| serverCertificate := ?, |
| matchingId := *, |
| ctxParams1 := * |
| } |
| } |
| } |
| |
| template (value) EsipaMessageFromEimToIpa |
| ts_initiateAuthenticationResponseEsipa(template (value) octetstring euiccChallenge := '00112233445566778899AABBCCDDEEFF'O, |
| template (value) universal charstring serverAddress := "smdp.example.com") := { |
| initiateAuthenticationResponseEsipa := { |
| initiateAuthenticationOkEsipa := { |
| transactionId := omit, |
| serverSigned1 := { |
| transactionId := 'ABCDEF'O, |
| euiccChallenge := euiccChallenge, |
| serverAddress := "smdp.example.com", |
| serverChallenge := '01020304050607080910111213141516'O |
| }, |
| serverSignature1 := '01020304'O, |
| euiccCiPKIdToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O, /* NIST */ |
| serverCertificate := ts_cert_s_sm_dpauth_nist, |
| // serverCertificate := ts_cert_s_sm_dpauth_brp, |
| // serverCertificate := ts_cert_s_sm_dp2auth_nist, |
| // serverCertificate := ts_cert_s_sm_dp2auth_brp, |
| matchingId := omit, |
| ctxParams1 := omit |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.1 */ |
| template (present) EsipaMessageFromIpaToEim |
| tr_initiateAuthenticationRequestEsipa(template (present) octetstring euiccChallenge := ?) := { |
| initiateAuthenticationRequestEsipa := { |
| euiccChallenge := euiccChallenge, |
| smdpAddress := *, |
| euiccInfo1 := * |
| } |
| } |
| template (value) EsipaMessageFromIpaToEim |
| ts_initiateAuthenticationRequestEsipa(template (value) octetstring euiccChallenge := '00112233445566778899aabbccddeeff'O) := { |
| initiateAuthenticationRequestEsipa := { |
| euiccChallenge := euiccChallenge, |
| smdpAddress := omit, |
| euiccInfo1 := omit |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.2 */ |
| template (present) EsipaMessageFromIpaToEim |
| tr_authenticateClientRequestEsipa := { |
| authenticateClientRequestEsipa := { |
| transactionId := ?, |
| authenticateServerResponse := { |
| authenticateResponseOk := ? |
| } |
| } |
| } |
| /* TODO: create coresponding ts_ template */ |
| |
| /* GSMA SGP.32, section 6.3.2.2 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_authenticateClientResponseEsipa_dse(template (present) octetstring transactionId := ?, |
| template (present) charstring activationCode := ?) := { |
| authenticateClientResponseEsipa := { |
| authenticateClientOkDSEsipa := { |
| transactionId := transactionId, |
| profileDownloadTrigger := { |
| profileDownloadData := { |
| activationCode := ? |
| }, |
| eimTransactionId := * |
| } |
| } |
| } |
| } |
| 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") := { |
| authenticateClientResponseEsipa := { |
| authenticateClientOkDSEsipa := { |
| transactionId := transactionId, |
| profileDownloadTrigger := { |
| profileDownloadData := { |
| activationCode := activationCode |
| }, |
| eimTransactionId := omit |
| } |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.2 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_authenticateClientResponseEsipa_dpe(template (present) octetstring transactionId := ?) := { |
| authenticateClientResponseEsipa := { |
| authenticateClientOkDPEsipa := { |
| transactionId := transactionId, |
| profileMetaData := *, |
| smdpSigned2 := { |
| transactionId := ?, |
| ccRequiredFlag := ?, |
| bppEuiccOtpk := * |
| }, |
| smdpSignature2 := ?, |
| smdpCertificate := ?, |
| hashCc := * |
| } |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_authenticateClientResponseEsipa_dpe(template (value) octetstring transactionId := 'ABCDEF'O) := { |
| authenticateClientResponseEsipa := { |
| authenticateClientOkDPEsipa := { |
| transactionId := transactionId, |
| profileMetaData := omit, |
| smdpSigned2 := { |
| transactionId := transactionId, |
| ccRequiredFlag := false, |
| bppEuiccOtpk := omit |
| }, |
| smdpSignature2 := 'AAAAAAAAAAAAAAAAAAAAAAAA'O, |
| smdpCertificate := ts_cert_s_sm_dpauth_nist, |
| // smdpCertificate := ts_cert_s_sm_dpauth_brp, |
| // smdpCertificate := ts_cert_s_sm_dp2auth_nist, |
| // smdpCertificate := ts_cert_s_sm_dp2auth_brp, |
| hashCc := omit |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.6 */ |
| template (present) EsipaMessageFromIpaToEim |
| tr_getEimPackageRequest(template (present) octetstring eidValue := ?) := { |
| getEimPackageRequest := { |
| eidValue := eidValue, |
| notifyStateChange := *, |
| rPLMN := * |
| } |
| } |
| template (value) EsipaMessageFromIpaToEim |
| ts_getEimPackageRequest(template (value) octetstring eidValue) := { |
| getEimPackageRequest := { |
| eidValue := eidValue, |
| notifyStateChange := omit, |
| rPLMN := omit |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.6 and 2.11.1.3 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_getEimPackageResponse_dnlTrigReq(template (present) charstring activationCode := ?) := { |
| getEimPackageResponse := { |
| profileDownloadTriggerRequest := { |
| profileDownloadData := { |
| activationCode := activationCode |
| }, |
| eimTransactionId := * |
| } |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_getEimPackageResponse_dnlTrigReq(template (value) charstring activationCode := "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746") := { |
| getEimPackageResponse := { |
| profileDownloadTriggerRequest := { |
| profileDownloadData := { |
| activationCode := activationCode |
| }, |
| eimTransactionId := omit |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.6 and 2.11.1.2 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_getEimPackageResponse_euiccDataReq := { |
| getEimPackageResponse := { |
| ipaEuiccDataRequest := { |
| tagList := ?, |
| euiccCiPKId := *, |
| searchCriteria := * |
| } |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_getEimPackageResponse_euiccDataReq := { |
| getEimPackageResponse := { |
| ipaEuiccDataRequest := { |
| tagList := '80BF20BF228384A5A688A9BF2B'O, |
| euiccCiPKId := omit, |
| searchCriteria := omit |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.6 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_getEimPackageResponse_eimPkgErrUndef := { |
| getEimPackageResponse := { |
| eimPackageError := ? |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_getEimPackageResponse_eimPkgErrUndef := { |
| getEimPackageResponse := { |
| eimPackageError := 127 |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.6 */ |
| template (value) EsipaMessageFromEimToIpa |
| ts_getEimPackageResponse_euiccPkgReq := { |
| getEimPackageResponse := { |
| euiccPackageRequest := { |
| euiccPackageSigned := { |
| eimId := "myEim", |
| eidValue := '00112233445566778899AABBCCDDEEFF'O, |
| counterValue := 123, |
| transactionId := omit, |
| euiccPackage := { |
| psmoList := { |
| { |
| configureAutoEnable := { |
| autoEnableFlag := NULL, |
| smdpOid := omit, |
| smdpAddress := omit |
| } |
| } |
| } |
| } |
| }, |
| eimSignature := '1234567890'O |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.5 */ |
| template (present) EsipaMessageFromIpaToEim |
| tr_cancelSessionRequestEsipa := { |
| cancelSessionRequestEsipa := { |
| transactionId := ?, |
| cancelSessionResponse := { |
| cancelSessionResponseOk := tr_cancelSessionResponseOk |
| } |
| } |
| } |
| template (value) EsipaMessageFromIpaToEim |
| ts_cancelSessionRequestEsipa := { |
| cancelSessionRequestEsipa := { |
| transactionId := 'AABBCC'O, |
| cancelSessionResponse := { |
| cancelSessionResponseOk := ts_cancelSessionResponseOk |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.5 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_cancelSessionResponseEsipa := { |
| cancelSessionResponseEsipa := { |
| cancelSessionOk := { |
| /* This function has no output data */ |
| } |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_cancelSessionResponseEsipa := { |
| cancelSessionResponseEsipa := { |
| cancelSessionOk := { |
| /* This function has no output data */ |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.3 */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_getBoundProfilePackageResponseEsipa := { |
| getBoundProfilePackageResponseEsipa := { |
| getBoundProfilePackageOkEsipa := { |
| transactionId := *, |
| boundProfilePackage := tr_boundProfilePackage |
| } |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_getBoundProfilePackageResponseEsipa := { |
| getBoundProfilePackageResponseEsipa := { |
| getBoundProfilePackageOkEsipa := { |
| transactionId := omit, |
| boundProfilePackage := ts_boundProfilePackage |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 5.9.1 */ |
| template (present) EuiccPackageResult |
| tr_euiccPackageResult := { |
| euiccPackageResultSigned := { |
| euiccPackageResultDataSigned := { |
| eimId := ?, |
| counterValue := ?, |
| transactionId := *, |
| seqNumber := ?, |
| euiccResult := ? |
| }, |
| euiccSignEPR := ? |
| } |
| } |
| template (value) EuiccPackageResult |
| ts_euiccPackageResult := { |
| euiccPackageResultSigned := { |
| euiccPackageResultDataSigned := { |
| eimId := "myEim", |
| counterValue := 333, |
| transactionId := omit, |
| seqNumber := 1234, |
| euiccResult := { |
| { |
| configureAutoEnableResult := 0 |
| } |
| } |
| }, |
| euiccSignEPR := 'AABBCCDDEEFF'O |
| } |
| } |
| |
| /* GSMA SGP.32, section 6.3.2.7 */ |
| /* TODO rename tr_provideEimPackageResultResponse to something like tr_provideEimPackageResultResponse_eimAck */ |
| template (present) EsipaMessageFromEimToIpa |
| tr_provideEimPackageResultResponse := { |
| provideEimPackageResultResponse := { |
| eimAcknowledgements := * |
| } |
| } |
| template (value) EsipaMessageFromEimToIpa |
| ts_provideEimPackageResultResponse(template (value) EimAcknowledgements eimAcknowledgements := {}) := { |
| provideEimPackageResultResponse := { |
| eimAcknowledgements := eimAcknowledgements |
| } |
| } |
| |
| /* GSMA SGP.32, section 2.11.1.2 */ |
| template (present) GetCertsResponse |
| tr_getCertsResponse := { |
| certs := { |
| eumCertificate := ?, |
| euiccCertificate := ? |
| } |
| } |
| template (value) GetCertsResponse |
| ts_getCertsResponse := { |
| certs := { |
| eumCertificate := ts_cert_s_sm_dpauth_nist, |
| euiccCertificate := ts_cert_eum_nist |
| } |
| } |
| |
| /* GSMA SGP.32, section 5.9.18 */ |
| template (present) GetEimConfigurationDataResponse |
| tr_getEimConfigurationDataResponse := { |
| eimConfigurationDataList := ? |
| } |
| template (value) GetEimConfigurationDataResponse |
| ts_getEimConfigurationDataResponse(template (value) charstring eimFqdn := "127.0.0.1") := { |
| eimConfigurationDataList := { |
| { |
| eimId := "myEIM", |
| eimFqdn := eimFqdn, |
| eimIdType := omit, |
| counterValue := omit, |
| associationToken := 123, |
| eimPublicKeyData := omit, |
| trustedPublicKeyDataTls := omit, |
| eimSupportedProtocol := omit, |
| euiccCiPKId := omit |
| } |
| } |
| } |
| |
| /* GSMA SGP.32, section 5.9.4 */ |
| template (present) AddInitialEimResponse |
| tr_addInitialEimResponse := { |
| addInitialEimOk := ? |
| } |
| template (value) AddInitialEimResponse |
| ts_addInitialEimResponse(template (value) charstring eimFqdn := "127.0.0.1") := { |
| addInitialEimOk := { |
| { |
| addOk := NULL |
| } |
| } |
| } |
| |
| } |