From db8e09406bb54affcf50ed75e983727cba894f5b Mon Sep 17 00:00:00 2001 From: pkanwar Date: Fri, 17 Mar 2017 12:49:34 -0700 Subject: Radio Interface to query for the public key. This CL adds the 1.1 version of the HAL interface. It also introduces support for 2 new messags: 1. setCarrierInfoForImsiEncryption 2. carrierInfoForImsiEncryption BUG: 35606429 Test: manual Change-Id: I1d953914c23f8a1d94cc85e023ead3fd3c036ec5 --- include/telephony/ril.h | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/telephony/ril.h b/include/telephony/ril.h index 9faacc4..19afdb3 100644 --- a/include/telephony/ril.h +++ b/include/telephony/ril.h @@ -76,7 +76,9 @@ extern "C" { * RIL_UNSOL_MODEM_RESTART, * RIL_REQUEST_SEND_DEVICE_STATE, * RIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER, - * RIL_REQUEST_SET_SIM_CARD_POWER + * RIL_REQUEST_SET_SIM_CARD_POWER, + * RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION, + * RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION * The new parameters for RIL_REQUEST_SETUP_DATA_CALL, * Updated data structures: RIL_DataProfileInfo_v15, RIL_InitialAttachApn_v15 * New data structure RIL_DataRegistrationStateResponse, @@ -742,6 +744,16 @@ typedef struct { */ } RIL_CarrierRestrictions; +typedef struct { + const uint8_t * carrierKey; /* Public Key from the Carrier used to encrypt the + * IMSI/IMPI. + */ + const char * KeyIdentifier; /* The keyIdentifier Attribute value pair that helps + * a server locate the private key to decrypt the + * permanent identity. + */ +} RIL_CarrierInfoForImsiEncryption; + /* See RIL_REQUEST_LAST_CALL_FAIL_CAUSE */ typedef enum { CALL_FAIL_UNOBTAINABLE_NUMBER = 1, @@ -5340,6 +5352,28 @@ typedef struct { * INVALID_ARGUMENTS */ #define RIL_REQUEST_SET_SIM_CARD_POWER 140 + +/** + * RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION + * + * Provide Carrier specific information to the modem that will be used to + * encrypt the IMSI and IMPI. Sent by the framework during boot, carrier + * switch and everytime we receive a new certificate. + * + * "data" is the RIL_CarrierInfoForImsiEncryption * structure. + * + * "response" is NULL + * + * Valid errors: + * RIL_E_SUCCESS + * RIL_E_RADIO_NOT_AVAILABLE + * SIM_ABSENT + * RIL_E_REQUEST_NOT_SUPPORTED + * INVALID_ARGUMENTS + * MODEM_INTERNAL_FAILURE + */ +#define RIL_REQUEST_SET_CARRIER_INFO_IMSI_ENCRYPTION 141 + /***********************************************************************/ /** @@ -5994,6 +6028,17 @@ typedef struct { */ #define RIL_UNSOL_MODEM_RESTART 1047 +/** + * RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION + * + * Called when the modem needs Carrier specific information that will + * be used to encrypt IMSI and IMPI. + * + * "data" is NULL + * + */ +#define RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION 1048 + /***********************************************************************/ -- cgit v1.2.3