MRTD reread with auth

This commit is contained in:
Chris van Marle
2022-10-11 22:13:20 +02:00
parent 2c4e2b4aad
commit 6b968f7fea
3 changed files with 28 additions and 3 deletions
+16 -1
View File
@@ -277,7 +277,22 @@ void mrtd_test(MrtdApplication* app, MrtdData* mrtd_data) {
mrtd_data->auth.expiry_date = (MrtdDate){.year=94, .month=6, .day=23};
memcpy(mrtd_data->auth.doc_number, "L898902C<", 9);
*/
mrtd_bac(app, &mrtd_data->auth);
MrtdAuthMethod method = mrtd_data->auth.method;
FURI_LOG_D(TAG, "Auth method: %d", method);
switch(method) {
case MrtdAuthMethodAny:
//TODO: try PACE, then BAC
case MrtdAuthMethodBac:
mrtd_bac(app, &mrtd_data->auth);
break;
case MrtdAuthMethodPace:
FURI_LOG_E(TAG, "Auth method PACE not implemented");
break;
case MrtdAuthMethodNone:
default:
break;
}
}
MrtdApplication* mrtd_alloc_init(FuriHalNfcTxRxContext* tx_rx) {
+2
View File
@@ -15,6 +15,8 @@ typedef struct {
#define MRTD_DOCNR_MAX_LENGTH 21
typedef enum {
MrtdAuthMethodNone,
MrtdAuthMethodAny,
MrtdAuthMethodBac,
MrtdAuthMethodPace,
} MrtdAuthMethod;