-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ordering of subtypes and query string parameters in URI form #4
Comments
I'd prefer having a standard canonicalization, so that you can just string compare. That way you can also use it as an index. Although I'm starting to think it would be better to just index it using the DER which is already canonical. |
+1 - URI comparisons is already well defined, I'd prefer to leverage it rather than force people to treat the URI as a string. We may find that has advantages in future |
There is no standard for arrays as query string parameter values. We have gone with a comma separated list for the subtypes parameter which means we should either define a strict ordering or say that ordering must be ignored when comparing. |
I propose a strict ordering to allow for string based matching on query string parameters which would work for any generic URI matching algorithms |
* Changes in crypto-conditions.md: * Clarify ordering of all parameters in condition URIs * Add examples for parameter ordering in condition URIs * Fix broken parser values in author’s portion of “NIST - Recommendation for Key Management” * Add special formatting to URI parameter names like `fmt` and `cost`, etc. * Changes in README.md * Fix typo in grunt kramdown command.
I have created a PR (#25) that further clarifies the canonical ordering that we all seem to have agreed upon in this issue, including the ordering of subtype values as well as the ordering of all query-params in the URI. |
Bump... |
* Fixes test vectors to accomadate (rfcs/crypto-conditions#4) * Adds improved test coverage for RFC test vectors.
Resolved in #25 |
* Fix Build Tests * Remove gradle in favor of maven. * Update pom for Nexus staging and deploy. * Fix test coverage and artifact generation. * Fix Checkstyle checks. * Remove HexDump.java * Update README * Add new Tests and Test Vectors * Fixes test vectors to accomadate (rfcs/crypto-conditions#4) * Adds improved test coverage for RFC test vectors. * Fix URI ordering for test vector * Update guava * Improve ignored threshold test. * Made all Conditions Immutable. * Made all Fulfillments Immutable. * Extracted encoding and URI generation to classes external to main Condition and Fulfillment classes. * Misc formatting improvements. * Add and cleanuip Javadoc * Update all fulfillments to be immutable * Limit Guava to test scope only… * Enable paremeterized RSA signature tests * Introduce Base Fulfillment * Fix equals, hashcode, and toString for all fulfillments. * Remove TODOs * Fix Checkstyle Errors * Reduce the number of default threads for test purposes
* Fixes #4 (Ordering of subtypes and query string parameters). * Fix various typos.
The URI form of conditions should probably define some rules for determining equality. A direct string comparison is not appropriate because there are no rules that define the order of URI query strings nor the order of the subtypes.
The RFC should be explicit that URI normalization and comparison follow the rules as defined in RFC 3986 and the tests should folllow these rules for testing too
The text was updated successfully, but these errors were encountered: