dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/onomondo-eim/+/43429?usp=email )
Change subject: es9p_client: use SGP.32 specific AuthenticateServerResponse type ......................................................................
es9p_client: use SGP.32 specific AuthenticateServerResponse type
SGP.32 re-defines the AuthenticateServerResponse type. This is in particular due to the SGP.32 specific EUICCInfo2 type, which is contained in this struct. This means we have to use the re-defined type for encoding. Since the RSPDefinitions have "EXTENSIBILITY IMPLIED", the extra fields added to EUICCInfo2 are ignored by the SM-DP+.
Change-Id: Ia550804d1d73f9704aa3135819926c7615379d1a Related: SYS#8100 --- M src/es9p_client.erl 1 file changed, 4 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/onomondo-eim refs/changes/29/43429/1
diff --git a/src/es9p_client.erl b/src/es9p_client.erl index ac89456..ce51a2e 100644 --- a/src/es9p_client.erl +++ b/src/es9p_client.erl @@ -224,9 +224,11 @@ request_json({authenticateClientRequest, AuthClientReq}, BaseUrl) -> Json = #{ <<"transactionId">> => utils:binary_to_hex(maps:get(transactionId, AuthClientReq)), + % The AuthenticateServerResponse type has been re-defined by SGP.32, in particular to accomodate for the SGP.32 + % specific EUICCInfo2 type (see also SGP.32, section 5.6.1). <<"authenticateServerResponse">> => enc_asn1_b64( - 'RSPDefinitions', - 'AuthenticateServerResponse', + 'SGP32Definitions', + 'SGP32-AuthenticateServerResponse', maps:get(authenticateServerResponse, AuthClientReq) ) },