dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43780?usp=email )
Change subject: esipa_Types_JSON: encode/decode euiccCiPKIdentifierToBeUsed as octetstring ......................................................................
esipa_Types_JSON: encode/decode euiccCiPKIdentifierToBeUsed as octetstring
The SGP.32 ASN.1 object InitiateAuthenticationOkEsipa defines the member euiccCiPKIdentifierToBeUsed as OCTET STRING. The JSON bindings for ESipa, also handle euiccCiPKIdentifierToBeUsed the same way by encoding/decoding it with BASE64 without further encoding on top.
This means that it is not correct to apply an extra enc/dec_SubjectKeyIdentifier function call when encoding/decoding euiccCiPKIdentifierToBeUsed to/from JSON. From the perspective of InitiateAuthenticationOkEsipa, euiccCiPKIdentifierToBeUsed is just a plain octetstring without further context.
Related: SYS#8203 Change-Id: I1f38c5a864c168f1fac0742a72b60de2abd25d49 --- M library/euicc/esipa_Types_JSON.ttcn 1 file changed, 2 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved
diff --git a/library/euicc/esipa_Types_JSON.ttcn b/library/euicc/esipa_Types_JSON.ttcn index 132aaa8..18f28ce 100644 --- a/library/euicc/esipa_Types_JSON.ttcn +++ b/library/euicc/esipa_Types_JSON.ttcn @@ -379,7 +379,7 @@ transactionId, dec_ServerSigned1(decode_base64(json_pdu.initiateAuthenticationResponse.serverSigned1)), decode_base64(json_pdu.initiateAuthenticationResponse.serverSignature1), - dec_SubjectKeyIdentifier(decode_base64(json_pdu.initiateAuthenticationResponse.euiccCiPKIdentifierToBeUsed)), + decode_base64(json_pdu.initiateAuthenticationResponse.euiccCiPKIdentifierToBeUsed), dec_Certificate(decode_base64(json_pdu.initiateAuthenticationResponse.serverCertificate)), matchingId, ctxParams1)); @@ -481,7 +481,7 @@ json_pdu.initiateAuthenticationResponse.serverSignature1 := encode_base64(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.serverSignature1); json_pdu.initiateAuthenticationResponse.euiccCiPKIdentifierToBeUsed := - encode_base64(enc_SubjectKeyIdentifier(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.euiccCiPKIdentifierToBeUsed)); + encode_base64(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.euiccCiPKIdentifierToBeUsed); json_pdu.initiateAuthenticationResponse.serverCertificate := encode_base64(enc_Certificate(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.serverCertificate)); if (ispresent(asn1_pdu_dec.initiateAuthenticationResponseEsipa.initiateAuthenticationOkEsipa.matchingId)) {