ehn-dcc-development/eu-dcc-business-rules

[CertLogic spec.] clarify that dates -also partial dates- have to be ISO 8601-compliant

dslmeinte opened this issue · 2 comments

There have been reports that CertLogic (at least the Swift implementation of it) crashes when plusTime was called with a date string like "2021-09-99". According to the EU DCC Schema spec. date strings (in whatever format, also partial) should be ISO 8601-compliant, which such a date string isn't. So, the business rules should not be run at all but the DCC should be rejected because it's not technically valid. The CertLogic specification should state explicitly that all date strings must be ISO 8601-compliant.

The JSON Schema doesn't declare this in an executable way, though, so verifier apps should put additional technical validations in place.

It's not advisable that plusTime be made more lenient, because that would mean that running the business rules could accept a DCC that's technically invalid.

=subject of PR #131

fixed by PR #131