laforge submitted this change.
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(-)
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,
To view, visit change 42874. To unsubscribe, or for help writing mail filters, visit settings.