1e50c676f6
This CL merely duplicates all of the Keymaster V3.0 functionality and VTS tests, and provides a pure software implementation of the 4.0 HAL, which passes the VTS tests. Future CLs will remove some cruft and unused features, then add new features and accompanying tests. Note that the reason that this is V4.0 rather than V3.1 is because V4.0 will not be fully backward compatible with V3.0. Specifically, V4.0 will allow for "StrongBox" implementations, which will only provide a subset of Keymaster functionality. StrongBox versions of Keymaster will be implemented in discrete, special-purpose hardware which will generally be much less powerful (slower, less RAM, etc.) than is needed to support a full Keymaster implementation. So, while the V4.0 interface will be a strict superset of the V3.0 interface, which could normally be best implemented as an extension, it will allow StrongBox implementations which are unable to pass the V3.0 test suite, which means that it will not be true that a V4.0 impementation IS-A V3.0 implementation, as would be expected of a V3.1 implementation. The V4.0 test suite will distinguish between StrongBox and non-StrongBox implementations and enforce appropriately-reduced requirements on the former. In addition to the duplication, 4.0 also cleans up some cruft from 3.0: - Removes tags and types which were in previous versions but never used; - Removes support for wrapping pre-Treble keymaster HALs with KM4, since they'll only be wrapped by the default KM3 implementation; - Renames the ROLLBACK_RESISTANT tag to ROLLBACK_RESISTANCE and defines new semantics for it; - Changes auth token handling to use the HardwareAuthToken struct passed in as an explicit argument to the relevant methods, rather than an opaque byte vector provided as a KeyParameter; - Updates the VTS tests to use a gtest "environment" for better integration with VTS test infrastructure; - Adds a test for upgradeKey. - Makes comment formatting more consistent, including using the correct two-space typographical convention to separate sentences. Bug: 63931634 Test: VtsHalKeymasterV4_0TargetTest Change-Id: I3f01a4991beaa5c4332f72c91e8878a3bf0dec67
28 lines
576 B
Text
28 lines
576 B
Text
// This file is autogenerated by hidl-gen -Landroidbp.
|
|
|
|
hidl_interface {
|
|
name: "android.hardware.keymaster@4.0",
|
|
root: "android.hardware",
|
|
vndk: {
|
|
enabled: true,
|
|
},
|
|
srcs: [
|
|
"types.hal",
|
|
"IKeymaster.hal",
|
|
],
|
|
interfaces: [
|
|
"android.hardware.keymaster@3.0",
|
|
"android.hidl.base@1.0",
|
|
],
|
|
types: [
|
|
"HardwareAuthToken",
|
|
"HardwareAuthTokenMacMethod",
|
|
"KeyCharacteristics",
|
|
"KeyParameter",
|
|
"KeyPurpose",
|
|
"Tag",
|
|
"TagType",
|
|
],
|
|
gen_java: false,
|
|
}
|
|
|