Adding HW Crypto operations to IHwCryptoDeviceKeyAccess AIDL definition

Adding a IHwCryptoKey interface to IHwCryptoDeviceKeyAccess operate on
the generated device keys.

Bug: 284152719
Test: qemu android build
Change-Id: I1eee8c0fc36de4ad338945377373b28cb13756ff
This commit is contained in:
Orlando Arbildo
2024-01-03 18:45:40 +00:00
parent 0dccb6e265
commit 5fe91f4d09
2 changed files with 17 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ interface IHwCryptoKey {
android.hardware.security.see.hwcrypto.IHwCryptoKey.DiceCurrentBoundKeyResult deriveCurrentDicePolicyBoundKey(in android.hardware.security.see.hwcrypto.IHwCryptoKey.DiceBoundDerivationKey derivationKey);
android.hardware.security.see.hwcrypto.IHwCryptoKey.DiceBoundKeyResult deriveDicePolicyBoundKey(in android.hardware.security.see.hwcrypto.IHwCryptoKey.DiceBoundDerivationKey derivationKey, in byte[] dicePolicyForKeyVersion);
android.hardware.security.see.hwcrypto.IHwCryptoKey.DerivedKey deriveKey(in android.hardware.security.see.hwcrypto.IHwCryptoKey.DerivedKeyParameters parameters);
android.hardware.security.see.hwcrypto.IHwCryptoOperations getHwCryptoOperations();
enum DeviceKeyId {
DEVICE_BOUND_KEY,
BATCH_KEY,

View File

@@ -15,6 +15,7 @@
*/
package android.hardware.security.see.hwcrypto;
import android.hardware.security.see.hwcrypto.IHwCryptoOperations;
import android.hardware.security.see.hwcrypto.IOpaqueKey;
import android.hardware.security.see.hwcrypto.KeyPolicy;
@@ -183,4 +184,19 @@ interface IHwCryptoKey {
* <code>HalErrorCode</code> otherwise.
*/
DerivedKey deriveKey(in DerivedKeyParameters parameters);
/*
* getHwCryptoOperations() - Returns an interface used to work on opaque keys. This interface
* can also be used to operate on any opaque key generated by
* hwkeyDeriveVersioned, even if this key has been generated after
* retrieving a IHwCryptoOperations binder object, as long as the
* parent IHwCryptoDeviceKeyAccess is not dropped between retrieving
* the IHwCryptoOperations binder object and deriving the key.
* IHwCryptoOperations can also be used to create opaque keys that
* are not bound to the device.
*
* Return:
* IHwCryptoOperations on success
*/
IHwCryptoOperations getHwCryptoOperations();
}