Repository navigation
Check unique elementIds and device functions in the HTML view - #31
Merged
Merged
Conversation
element_ids (DPP-DAT-017, DPP-DAT-021): in the expanded full serialization, elementIds are compared within each array of data elements, or across the whole passport with the items of a MultiValuedDataElement counted as one place. In the compressed serialization the level check reads the passport as delivered (the response, or the posted body) and reports member names repeated within one JSON object; the passport-wide check is skipped there. html with device_features: forbidden (DPP-SEC-021): without running any script, the inline scripts, event handler attributes and javascript: URLs of the HTML view and the scripts it loads from its own host are searched for browser interfaces that use functions of the reader's device, and the markup for frames granted device permissions, file inputs with capture and permission elements. Test vectors for the three criteria under test/fixtures/files; the image is built with the dpp-criteria commit that adds them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Runs three new passport criteria of dpp-criteria, all
proposed.element_ids(DPP-DAT-017, DPP-DAT-021)unique: level). These arrays are theelementsof the passport, of a DataElementCollection and of a MultiValuedDataElement, and thevalueof a MultiValuedDataElement whose items carry an elementId. A repeated elementId fails, and the message names the level.unique: passport): an elementId used at two places gives a warning. Places that differ only in the item of a MultiValuedDataElement count as one, and an elementId already repeated within one level is not reported again.levelreads the passport as delivered (the response bytes, or the posted body) with a small scanner (JsonDuplicates). It reports any member name that occurs twice in one JSON object, with its normalized path.passportis skipped. A compressed passport without its bytes is skipped as well.htmlwithdevice_features: forbidden(DPP-SEC-021)The check is static and runs no script.
javascript:URLs of the HTML view for browser interfaces that use functions of the reader's device. It also fetches up to 10 scripts that the page loads from its own host and searches the first 2 MB of each.capture, andpermissionandgeolocationelements.Test vectors
test/fixtures/files/element_ids/)test/fixtures/files/element_ids/)test/fixtures/files/html/)The unit tests run every vector. Integration tests cover the posted reference passport and changed copies of it, and a compressed passport with a repeated member name.
Both reference passports pass all three criteria.
The image is built with the dpp-criteria commit that adds the criteria.
kubernetes/deployment.yamlnames its digest.