Handle invalid verified boot key (#55)
Treat the `verifiedBootKey` as null if it consists entirely of zero bytes, as some devices return this invalid value. Additionally, this commit adds missing KDoc comments to the `AttestationData` class for better documentation.
This commit is contained in:
@@ -43,6 +43,9 @@ object DeviceAttestationService {
|
||||
* @property attestVersion The attestation version (e.g., 400 for KeyMint 4.0).
|
||||
* @property keymasterVersion The Keymaster or KeyMint HAL version.
|
||||
* @property osVersion The Android OS version integer.
|
||||
* @property osPatchLevel The Android security patch level (e.g., 202511).
|
||||
* @property vendorPatchLevel The vendor-specific security patch level.
|
||||
* @property bootPatchLevel The bootloader's security patch level.
|
||||
*/
|
||||
data class AttestationData(
|
||||
val moduleHash: ByteArray?,
|
||||
@@ -252,6 +255,10 @@ object DeviceAttestationService {
|
||||
}
|
||||
}
|
||||
|
||||
if (verifiedBootKey?.all { it == 0.toByte() } == true) {
|
||||
verifiedBootKey = null
|
||||
}
|
||||
|
||||
SystemLogger.info(
|
||||
"Successfully extracted attestation data: version=$attestVersion, osVersion=$osVersion, osPatch=$osPatchLevel, vendorPatch=$vendorPatchLevel, bootPatch=$bootPatchLevel, moduleHash=${moduleHash?.toHex()}, bootKey=${verifiedBootKey?.toHex()}, bootHash=${verifiedBootHash?.toHex()}"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user