Skip to content

Failing to get anything using keystore working #292

Description

@ArchangeGabriel

Hi there,

I’m trying to get fr.gouv.franceidentite to work on my phone (Sony Xperia 1 II, unlocked, Lineage OS 23.2, microG 0.3.16, Magisk 30.7, NeoZygisk 2.4, Vector 2.2). Currently the behaviour after the first two screens (« Accepter et continuer » then « S’inscrire ou se connecter ») is a forever spinning loader.

Looking at a logcat, I saw this:

09-07 23:37:56.543   737   737 E KeyMasterHalDevice: Attest key send cmd failed
09-07 23:37:56.543   737   737 E KeyMasterHalDevice: ret: 0
09-07 23:37:56.543   737   737 E KeyMasterHalDevice: resp->status: -10003
09-07 23:37:56.547   781   781 E keystore2: system/security/keystore2/src/error.rs:184 - system/security/keystore2/src/security_level.rs:680
09-07 23:37:56.547   781   781 E keystore2: 
09-07 23:37:56.547   781   781 E keystore2: Caused by:
09-07 23:37:56.547   781   781 E keystore2:     0: system/security/keystore2/src/security_level.rs:674: While generating without a provided attestation key and params: [KeyParameter { tag: r#KEY_SIZE, value: Integer(256) }, KeyParameter { tag: r#ALGORITHM, value: Algorithm(r#EC) }, KeyParameter { tag: r#EC_CURVE, value: EcCurve(r#P_256) }, KeyParameter { tag: r#PURPOSE, value: KeyPurpose(r#SIGN) }, KeyParameter { tag: r#DIGEST, value: Digest(r#SHA_2_256) }, KeyParameter { tag: r#NO_AUTH_REQUIRED, value: BoolValue(true) }, KeyParameter { tag: r#CERTIFICATE_NOT_AFTER, value: DateTime(2461449600000) }, KeyParameter { tag: r#CERTIFICATE_NOT_BEFORE, value: DateTime(0) }, KeyParameter { tag: r#CERTIFICATE_SERIAL, value: Blob([1]) }, KeyParameter { tag: r#CERTIFICATE_SUBJECT, value: Blob([48, 31, 49, 29, 48, 27, 6, 3, 85, 4, 3, 19, 20, 65, 110, 100, 114, 111, 105, 100, 32, 75, 101, 121, 115, 116, 111, 114, 101, 32, 75, 101, 121]) }, KeyParameter { tag: r#ATTESTATION_CHALLENGE, value: Blob([207, 211, 196, 252, 173, 93, 188, 229, 86, 46, 198, 131, 172, 120, 94, 61, 0, 243, 126, 171, 45, 178, 218, 242, 142, 142, 254, 94, 168, 15, 130, 72]) }, KeyParameter { tag: r#ATTESTATION_APPLICATION_ID, value: Blob([48, 69, 49, 31, 48, 29, 4, 22, 102, 114, 46, 103, 111, 117, 118, 46, 102, 114, 97, 110, 99, 101, 105, 100, 101, 110, 116, 105, 116, 101, 2, 3, 15, 203, 23, 49, 34, 4, 32, 106, 122, 32, 168, 125, 38, 144, 103, 5, 36, 223, 71, 147, 89, 149, 12, 223, 203, 233, 105, 134, 216, 38, 31, 94, 90, 18, 249, 254, 8, 117, 83]) }].
09-07 23:37:56.547   781   781 E keystore2:     1: Error::Km(-10003)
09-07 23:37:56.550     0     0 I servicemanager: Caller(pid=781,uid=1017,sid=u:r:keystore:s0) Could not find android.hardware.security.keymint.IRemotelyProvisionedComponent/default in the VINTF manifest. No alternative instances declared in VINTF.
09-07 23:37:56.551   781   781 W keystore2: system/security/keystore2/src/remote_provisioning.rs:98 - Failed to get rkpd key: system/security/keystore2/src/remote_provisioning.rs:132: Trying to get IRPC name.
09-07 23:37:56.551   781   781 W keystore2: 
09-07 23:37:56.551   781   781 W keystore2: Caused by:
09-07 23:37:56.551   781   781 W keystore2:     0: system/security/keystore2/src/globals.rs:446: Failed to get rpc for sec level r#TRUSTED_ENVIRONMENT
09-07 23:37:56.551   781   781 W keystore2:     1: Error::Km(r#HARDWARE_TYPE_UNAVAILABLE)

This brought me to the world of the keystore and related issues. I read that, being unlocked with root, I need to add something like TEESimulator or TrickyStore to get a working keystore. Being already using several of your projects, I chose this one, but it did not solve the issue. I have of course added a keybox.xml file from somewhere lots of people recommended to get it, and added fr.gouv.franceidentite to the app list of the config.json file. I’ve also tried https://github.com/VisionR1/KeyAttestation/ (and added it to the config.json), but it basically gives the same error message.

Anyway, I’m pretty sure this is not an issue with TEESimulator itself, but I’m asking here for advice.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions