1*9860b763SAndroid Build Coastguard Worker# Changelog 2*9860b763SAndroid Build Coastguard Worker 3*9860b763SAndroid Build Coastguard WorkerThis file attempts to list significant changes to the Rust reference implementation of KeyMint, 4*9860b763SAndroid Build Coastguard Workerwhere "significant" means things that are likely to affect vendors whose KeyMint implementations are 5*9860b763SAndroid Build Coastguard Workerbased on this codebase. 6*9860b763SAndroid Build Coastguard Worker 7*9860b763SAndroid Build Coastguard Worker- The `sign_info` field in `kmr_ta::device::Implementation` is now an `Option`, reflecting that 8*9860b763SAndroid Build Coastguard Worker batch attestation is now optional (devices can be RKP-only, as indicated by the 9*9860b763SAndroid Build Coastguard Worker `remote_provisioning.tee.rkp_only` system property). 10*9860b763SAndroid Build Coastguard Worker- The `BootInfo` structure passed to `kmr_ta::KeyMintTa::set_boot_info()` method did not make clear 11*9860b763SAndroid Build Coastguard Worker what the contents of the `verified_boot_key` field should be: the key itself, or a SHA-256 hash of 12*9860b763SAndroid Build Coastguard Worker the key. The KeyMint implementation has been modified to cope with either, using a SHA-256 hash 13*9860b763SAndroid Build Coastguard Worker in places where the value is externally visible (key attestations and root-of-trust transfer) when 14*9860b763SAndroid Build Coastguard Worker it appears that the full key has been provided. However, this requires that **vendor 15*9860b763SAndroid Build Coastguard Worker implementations provide an implementation of the new `Sha256`** trait (from 16*9860b763SAndroid Build Coastguard Worker <https://r.android.com/2786540>). A sample implementation based on BoringSSL is available in 17*9860b763SAndroid Build Coastguard Worker `boringssl/src/sha256.rs`. 18*9860b763SAndroid Build Coastguard Worker- Addition of features to indicate support for different HAL versions. Vendors targetting the 19*9860b763SAndroid Build Coastguard Worker current version of the KeyMint HAL **should ensure that all `hal_v2`, `hal_v3` etc. features are 20*9860b763SAndroid Build Coastguard Worker enabled** in their build system (from <https://r.android.com/2777607>). Vendors using the Soong 21*9860b763SAndroid Build Coastguard Worker build system are unaffected (because the Soong targets have been updated). 22