laforge has submitted this change. ( https://gerrit.osmocom.org/c/onomondo-eim/+/42874?usp=email )
Change subject: es9p_client: convert InitiateAuthenticationOkEsipa to match SGP.32 V.1.2 ......................................................................
es9p_client: convert InitiateAuthenticationOkEsipa to match SGP.32 V.1.2
In SGP.32 V.1.0.1, InitiateAuthenticationOkEsipa is almost identical to SGP.22 InitiateAuthenticationOkEs9. However, in SGP.32 V.1.2, the member euiccCiPKIdToBeUsed is renamed to euiccCiPKIdentifierToBeUsed. This means it is no longer possible to pass InitiateAuthenticationOkEsipa as InitiateAuthenticationOkEs9 to ES9+ directly. Instead we have to re-build the the InitiateAuthenticationOkEs9 from the contents of InitiateAuthenticationOkEsipa.
Change-Id: I44c60a2f0d1129093ea67908d2eed167643a4a87 Related: SYS#8100 --- M src/esipa_asn1_handler.erl 1 file changed, 8 insertions(+), 1 deletion(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified
diff --git a/src/esipa_asn1_handler.erl b/src/esipa_asn1_handler.erl index e816ee3..ff35a12 100644 --- a/src/esipa_asn1_handler.erl +++ b/src/esipa_asn1_handler.erl @@ -48,7 +48,14 @@ % FIXME). Otherwise we would have to add a ctxParams1 field and populate it with the matchingId and the % deviceInfo. The deviceInfo can be retrieved via an eUICC data request. % (see GSMA SGP.32, section 3.1.2.3). - {initiateAuthenticationOkEsipa, InitAuthOk}; + InitAuthOkEsipa = #{ + transactionId => maps:get(transactionId, InitAuthOk), + serverSigned1 => maps:get(serverSigned1, InitAuthOk), + serverSignature1 => maps:get(serverSignature1, InitAuthOk), + euiccCiPKIdentifierToBeUsed => maps:get(euiccCiPKIdToBeUsed, InitAuthOk), + serverCertificate => maps:get(serverCertificate, InitAuthOk) + }, + {initiateAuthenticationOkEsipa, InitAuthOkEsipa}; {initiateAuthenticationError, InitAuthErr} -> ok = mnesia_db:work_finish( Pid,