Add carrier config for carrier key

Give carriers the option of including a backup IMSI encryption key as a
carrier config.

Bug: 175801497
Test: manual and atest TelephonyManagerTest
Change-Id: I89d88daf2022672bf27125baae0247b75638bb6e
This commit is contained in:
Jordan Liu
2021-01-14 13:00:06 -08:00
parent 71a2c83af6
commit 762fe4b0e0
2 changed files with 28 additions and 2 deletions

View File

@@ -2811,6 +2811,30 @@ public class CarrierConfigManager {
*/
public static final String IMSI_KEY_DOWNLOAD_URL_STRING = "imsi_key_download_url_string";
/**
* String representation of a carrier's public key used for IMSI encryption for ePDG. If this
* is provided, the device will use it as a fallback when no key exists on device, but the key
* download will still initiate.
* Example string:
* "-----BEGIN CERTIFICATE-----\nabcde12345abcde12345abcde12345abcde1234
* 5abcde12345abcde12345\nabcde12345abcde12345abcde12345abcde12345a\n-----END CERTIFICATE-----"
* @hide
*/
public static final String IMSI_CARRIER_PUBLIC_KEY_EPDG_STRING =
"imsi_carrier_public_key_epdg_string";
/**
* String representation of a carrier's public key used for IMSI encryption for WLAN. If this
* is provided, the device will use it as a fallback when no key exists on device, but the key
* download will still initiate.
* Example string:
* "-----BEGIN CERTIFICATE-----\nabcde12345abcde12345abcde12345abcde1234
* 5abcde12345abcde12345\nabcde12345abcde12345abcde12345abcde12345a\n-----END CERTIFICATE-----"
* @hide
*/
public static final String IMSI_CARRIER_PUBLIC_KEY_WLAN_STRING =
"imsi_carrier_public_key_wlan_string";
/**
* Identifies if the key is available for WLAN or EPDG or both. The value is a bitmask.
* 0 indicates that neither EPDG or WLAN is enabled.
@@ -5003,6 +5027,8 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_DISABLE_VOICE_BARRING_NOTIFICATION_BOOL, false);
sDefaults.putInt(IMSI_KEY_AVAILABILITY_INT, 0);
sDefaults.putString(IMSI_KEY_DOWNLOAD_URL_STRING, null);
sDefaults.putString(IMSI_CARRIER_PUBLIC_KEY_EPDG_STRING, null);
sDefaults.putString(IMSI_CARRIER_PUBLIC_KEY_WLAN_STRING, null);
sDefaults.putBoolean(KEY_CONVERT_CDMA_CALLER_ID_MMI_CODES_WHILE_ROAMING_ON_3GPP_BOOL,
false);
sDefaults.putStringArray(KEY_NON_ROAMING_OPERATOR_STRING_ARRAY, null);

View File

@@ -163,8 +163,8 @@ public final class ImsiEncryptionInfo implements Parcelable {
public String toString(){
return "[ImsiEncryptionInfo "
+ "mcc=" + mcc
+ "mnc=" + mnc
+ "publicKey=" + publicKey
+ " mnc=" + mnc
+ " publicKey=" + publicKey
+ ", keyIdentifier=" + keyIdentifier
+ ", keyType=" + keyType
+ ", expirationTime=" + expirationTime