Hello, I cloned your project and ran it on my phone. Everything seems to work except the Chip Authentication that fails. When I use other passport readers, it tells me my Chip Authentication succeeded. I saw this in your code:
val doEACCA = ps.doEACCA(chipAuthenticationInfo!!.keyId, chipAuthenticationInfo.objectIdentifier, chipAuthenticationInfo.protocolOIDString, authenticationPublicKeyInfo.subjectPublicKey)
But isn't protocolOIDString a human-readable representation of objectIdentifier?
If yes then aren't you giving twice the same thing to the function?
In my app when I do the following it works
BigInteger keyId = publicKeyInfo.getKeyId();
PublicKey publicKey = publicKeyInfo.getSubjectPublicKey();
String oid = publicKeyInfo.getObjectIdentifier();
service.doEACCA(keyId, ChipAuthenticationPublicKeyInfo.ID_CA_ECDH_AES_CBC_CMAC_256, oid, publicKey);
Thanks for your help.
Hello, I cloned your project and ran it on my phone. Everything seems to work except the Chip Authentication that fails. When I use other passport readers, it tells me my Chip Authentication succeeded. I saw this in your code:
But isn't
protocolOIDStringa human-readable representation ofobjectIdentifier?If yes then aren't you giving twice the same thing to the function?
In my app when I do the following it works
Thanks for your help.