Menu

#85 MRZ TD3 Personal Number Check Digit

v1.0_(example)
pending
nobody
None
1
2025-12-10
2025-10-15
Anonymous
No

Hello,

We are using JMRTD 0.7.37 and building a TD3 MRZ, we verify that when personalNumber checkdigit is 0 it is replaced by '<'.

We read Doc9303 part 4 8º edition and saw that this should only by done when personalNumber is empty and all data is replaced by '<'.

In our case, personalNumber wasn't empty but checkdigit is 0.

Also, we saw on MRZInfo.class, this comment on checkdigit calculation
*
if (documentType == DocumentType.TD3 && optionalData1.length() < 15) {
this.personalNumberCheckDigit = checkDigit(mrzFormat(optionalData1, 14), true); / FIXME: Uses '<' over '0'. Where specified? /
}*

When the calculation of checkdigit results to 0 and personal number is not empty, this value should not be replaced by '<'.

Thank you for your support.

Best regards,
Ivo Ferreira

Discussion

  • Martijn Oostdijk

    Hi Ivo,

    Version 0.7.37 is pretty old. Do you see the same behavior in 0.8.3?

     
  • Martijn Oostdijk

    • status: open --> pending
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB