Radio Interface changes to allow the modem to query the framework
for the key. We will now pass the ImsiEncryptionInfo object which includes mnc/mcc. BUG: 35606429 Test: manual Merged-In: Iae18382f1f244be6a756a47753f0345e1925ca4a Change-Id: Iae18382f1f244be6a756a47753f0345e1925ca4a
This commit is contained in:
parent
bf7dcd2adb
commit
fc5f3558fe
3 changed files with 61 additions and 13 deletions
|
@ -74,6 +74,25 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
|||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ImsiEncryptionInfo)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/radio/V1_1/ImsiEncryptionInfo.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.radio@1.1::types.ImsiEncryptionInfo
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (KeepaliveRequest)
|
||||
#
|
||||
|
@ -420,6 +439,25 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
|||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ImsiEncryptionInfo)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/radio/V1_1/ImsiEncryptionInfo.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.radio@1.1::types.ImsiEncryptionInfo
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (KeepaliveRequest)
|
||||
#
|
||||
|
|
|
@ -34,23 +34,13 @@ interface IRadio extends @1.0::IRadio {
|
|||
* switch and everytime the framework receives a new certificate.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
* @param carrierKey Carrier specific key to be used for encryption. It must
|
||||
* be opaque to the framework. This is the byte-stream representation
|
||||
* of the key. This is an external encoded form for the key used when
|
||||
* a standard representation of the key is needed outside the Java
|
||||
* Virtual Machine, as when transmitting the key to some other party.
|
||||
* The key is encoded according to a standard format
|
||||
* (such as X.509 SubjectPublicKeyInfo or PKCS#8), and is returned using
|
||||
* the getEncoded method.
|
||||
* @param keyIdentifier This is an opaque value we're given by the carrier
|
||||
* and is returned to the carrier. This is used by the server to
|
||||
* help it locate the private key to decrypt the permanent identity.
|
||||
* @param message ImsiEncryptionInfo as defined in types.hal.
|
||||
*
|
||||
*
|
||||
* Response callback is
|
||||
* IRadioResponse.setCarrierInfoForImsiEncryptionResponse()
|
||||
*/
|
||||
oneway setCarrierInfoForImsiEncryption(int32_t serial, vec<uint8_t> carrierKey,
|
||||
string keyIdentifier);
|
||||
oneway setCarrierInfoForImsiEncryption(int32_t serial, ImsiEncryptionInfo imsiEncryptionInfo);
|
||||
|
||||
/**
|
||||
* Set SIM card power state.
|
||||
|
|
|
@ -196,3 +196,23 @@ struct KeepaliveStatus {
|
|||
int32_t sessionHandle; // the sessionHandle provided by the api
|
||||
KeepaliveStatusCode code; // status for the given keepalive
|
||||
};
|
||||
|
||||
struct ImsiEncryptionInfo {
|
||||
string mcc; // MCC of the Carrier.
|
||||
string mnc; // MNC of the Carrier.
|
||||
vec<uint8_t> carrierKey; // Carrier specific key to be used for encryption. It must
|
||||
// be opaque to the framework. This is the byte-stream
|
||||
// representation of the key. This is an external encoded
|
||||
// form for the key used when a standard representation of
|
||||
// the key is needed outside the Java Virtual Machine, as
|
||||
// when transmitting the key to some other party.
|
||||
// The key is encoded according to a standard format
|
||||
// (such as X.509 SubjectPublicKeyInfo or PKCS#8), and is
|
||||
// returned using the getEncoded method as defined on the
|
||||
// java.security.Key interface.
|
||||
string keyIdentifier; // This is an opaque value we're given by the carrier
|
||||
// and is returned to the carrier. This is used by the server to
|
||||
// help it locate the private key to decrypt the permanent
|
||||
// identity.
|
||||
int64_t expirationTime; // date-time in UTC when the key will expire.
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue