Я пытаюсь следовать этой документации: https://source.android.com/security/keystore/attestation#hardware -идентификаторы
Но это очень вводит меня в заблуждение.
Я реализовал следующую keyPairGenerator и цепочку сертификатов:
val keyPairGenerator = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore")
keyPairGenerator.initialize(
KeyGenParameterSpec.Builder("Key1", KeyProperties.PURPOSE_SIGN)
.setAlgorithmParameterSpec(RSAKeyGenParameterSpec(2048, RSAKeyGenParameterSpec.F4))
.setDigests(
KeyProperties.DIGEST_SHA256,
KeyProperties.DIGEST_SHA384,
KeyProperties.DIGEST_SHA512)
.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
.setAttestationChallenge("hello world".toByteArray())
.build()
)
val keyPair = keyPairGenerator.genKeyPair()
val keyStore = KeyStore.getInstance("AndroidKeyStore")
keyStore.load(null)
val certs = keyStore.getCertificateChain("Key1")
Работает нормально. Но я хотел бы включить идентификаторы оборудования в мой сертификат. Я прочитал упомянутый документ сто раз, но не понимаю, как это возможно.
Наше устройство должно поддерживать эту функцию. Мне нужно только запросить аттестацию с идентификаторами устройств
Может ли кто-нибудь помочь мне или перейти к некоторым примерам или лучшей документации?