Digitaler-Impfnachweis / covpass-android

The official CovPass(-Check) Android apps and SDK.
https://digitaler-impfnachweis-app.de
Apache License 2.0
185 stars 59 forks source link

Dots in a person's name cause older vaccine certificates to be incompatible with newly created certificates #163

Closed benho93 closed 2 years ago

benho93 commented 2 years ago

Technical details

Describe the bug

Dots as part of a person's surname (for instance to include a person's maiden name with "geb." for "geboren" or to include "gen." for "genannt") in certificates cause incompatibility between older (e.g. certificates for first and second vaccine) and recently created certificates (e.g. certificates for booster shots) despite matching names (including whitespaces etc.) and matching date of birth.

The newly created certificate doesn't connect to the prior certificate(s) and is shown on a separate slide.

It seems like the dot is represented differently in the standardized personal data if you compare certificates created early to mid 2021 to certificates created in late 2021 or later. This appears to cause a mismatch of personal details.

According to my own troubleshooting, the change must have taken place in or around November 2021.

Recreating the certificates that were created prior to the change fixes the issue, but causes unnecessary overhead.

Steps to reproduce the issue

Screenshot of standardized data from certificates for first (1/2) and second (2/2) Biontech/Pfizer shot created in early-mid 2021 (please notice how the dot in the surname translates to one additional "<" in the standardized data)

Screenshot_2022-01-11-01-37-03-533_de rki covpass app

Screenshot of standardized data from certificate for Biontech/Pfizer booster shot (3/3) created on January 10th 2022 (please notice how the dot doesn't translate to an additional "<" in the standardized data)

Screenshot_2022-01-11-01-37-14-983_de rki covpass app

Expected behaviour

The old certificate version should be compatible with the latest version. All vaccines of a series should be listed on one slide.

Possible Fix

Make sure the app interprets dots represented in the old version and the new version the same way.

Additional context

We haven't seen this bug on the iOS version as of now.

Ein-Tim commented 2 years ago

@Goldrush12

Are you sure that there's not just one whitespace more after "geb." in the 2/2 certificate than in the new 3/3 certificate?

Example:

2/2 is "Musterperson geb. Mustermann, Tim"

and

3/3 is "Musterperson geb.Mustermann, Tim"

Also I'm not sure whether the "geb." name should be added to the certificate, AFAIK the name on the "Personalausweis" should be used.

benho93 commented 2 years ago

@Ein-Tim

I first suspected whitespace to be the issue as well, but it's not. The names match 100%. I have copied and pasted the data to confirm and there's also no visual difference. If there's additional whitespace, you can usually easily spot it on the certificates. They are definitely the same.

It's up for debate whether or not the "geb." should be included. The instructions aren't clear on this. The "geb." name is usually included on the "Personalausweis", so you could think it has to be included on the certificate as well. We have had customers requesting it, because they were turned away at a border passing due to the fact that the certificate did not include the "geb." name. There's also the "genannt", which can be part of the surname and is sometimes abbreviated with "gen." (think "Mustermann gen. Meier") on the "Personalausweis". This should cause the same error to happen.

timokoenig commented 2 years ago

There was an issue with the dots in old certificates that has been fixed https://github.com/Digitaler-Impfnachweis/certification-apis/issues/209

Your only way to match those certificates is to reissue your previous certificates in the pharmacy

benho93 commented 2 years ago

@timokoenig

Thank you! Are there any plans to include compatibility for these certificates? We literally created hundreds of them and would have to redo them all. Apparently, they sometimes work fine on the iOS version, but I would have to do more testing to confirm this.

timokoenig commented 2 years ago

I don't know if there is anything planned but from a technical perspective this should be possible. @alexcimander is this something you are already aware of?

alexcimander commented 2 years ago

Hey everyone,

we are working on an extended name matching which will search for at least one match within the last name and the first name (standardized). If one match per field is found and the date of birth is the same we will have a match. With this "geb." should not be an issue anymore.

We will keep you updated about the release-schedule for the name matching 🚧

timokoenig commented 2 years ago

Should be fixed with the newest version 1.19

pucherd commented 2 years ago

Hello @Goldrush12, have you tried it with 1.19 release?

benho93 commented 2 years ago

@pucherd Yes, the issue is resolved with the new version. No customer complaints anymore. Thank you!

pucherd commented 2 years ago

@benho93 Thank you for your feedback. Can you please close this issue?