Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couldn't read mdoc that supports only “peripheral_server_mode” connection method #728

Open
joseph03pr907 opened this issue Aug 28, 2024 · 2 comments

Comments

@joseph03pr907
Copy link

We encountered an issue when attempting to read an mdoc that supports only the “peripheral_server_mode” connection method. The “central_client_mode” works perfectly fine, but when using the peripheral server mode, we received the following exception on the samples.age-verifier-mdl: “Error reading initial NDEF message.”

Any assistance or guidance on this matter would be greatly appreciated.

Details:

• Presenter: Scytales ID app for mdoc (available in play store, use demo mode for sample mdoc - https://play.google.com/store/apps/details?id=com.scytales.mid.app&hl=en_US)

• Reader: appverifier and samples.age-verifier-mdl

@davidz25
Copy link
Contributor

I just tried installing this and I can reproduce the problem from appverifier.

2024-09-11 11:30:49.452 22307-22317 VerificationHelper      com.android.mdl.appreader            D  Tag discovered!
2024-09-11 11:30:49.452 22307-22317 VerificationHelper      com.android.mdl.appreader            I  Starting NFC handover thread
2024-09-11 11:30:49.454 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 12 bytes of data: 00a4040007d2760000850101
2024-09-11 11:30:49.503 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 2 bytes of data: 9000
2024-09-11 11:30:49.503 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 7 bytes of data: 00a4000c02e103
2024-09-11 11:30:49.513 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 2 bytes of data: 9000
2024-09-11 11:30:49.513 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 5 bytes of data: 00b000000f
2024-09-11 11:30:49.525 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 17 bytes of data: 000f20ffffffff0406e104fffe00ff9000
2024-09-11 11:30:49.525 22307-22931 VerificationHelper      com.android.mdl.appreader            D  NDEF file id: 0xe104
2024-09-11 11:30:49.525 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 7 bytes of data: 00a4000c02e104
2024-09-11 11:30:49.532 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 2 bytes of data: 9000
2024-09-11 11:30:49.532 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 5 bytes of data: 00b0000002
2024-09-11 11:30:49.540 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 4 bytes of data: 01409000
2024-09-11 11:30:49.540 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Sending APDU: 7 bytes of data: 00b00002000140
2024-09-11 11:30:49.554 22307-22931 VerificationHelper      com.android.mdl.appreader            D  transceive: Received APDU: 2 bytes of data: 9000
2024-09-11 11:30:49.554 22307-22931 VerificationHelper      com.android.mdl.appreader            E  Malformed response for second READ_BINARY command for payload, ret: 2 bytes of data: 9000
2024-09-11 11:30:49.555 22307-22931 VerificationHelper      com.android.mdl.appreader            D  reportError: error: java.lang.IllegalStateException: Error reading initial NDEF message
2024-09-11 11:30:49.555 22307-22931 System.err              com.android.mdl.appreader            W  java.lang.IllegalStateException: Error reading initial NDEF message
2024-09-11 11:30:49.555 22307-22931 System.err              com.android.mdl.appreader            W  	at com.android.identity.android.mdoc.deviceretrieval.VerificationHelper$startNfcHandover$transceiverThread$1.run(VerificationHelper.kt:564)
2024-09-11 11:30:49.556 22307-22307 TransferManager         com.android.mdl.appreader            E  onError: Error reading initial NDEF message

I don't think it has anything to do with BLE peripheral server mode, just looks like this app isn't implementing mdoc NFC engagement correctly (or at least not in the way our app expects). I would reach out to the vendor, looks like they haven't updated the app since Oct 9, 2023...

@davidz25 davidz25 reopened this Sep 11, 2024
@joseph03pr907
Copy link
Author

joseph03pr907 commented Sep 13, 2024

Thank you, David.

Get Mobile Verify Reader (https://play.google.com/store/apps/details?id=com.getgroupna.mdl.pol&hl=en_US) was able to read Scytales ID app for mdoc (https://play.google.com/store/apps/details?id=com.scytales.mid.app&hl=en_US), I think both of these apps are from the same vendor.

Do you if there is any another app like Scytales ID that support BLE peripheral server mode as a presenter?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants