Skip to content

Split out core logic from library dependencies#139

Open
preuss-adam wants to merge 9 commits intoeclipse-biscuit:mainfrom
preuss-adam:apreuss/split-modules
Open

Split out core logic from library dependencies#139
preuss-adam wants to merge 9 commits intoeclipse-biscuit:mainfrom
preuss-adam:apreuss/split-modules

Conversation

@preuss-adam
Copy link
Contributor

This PR is best reviewed commit by commit. At a high level, the goal is to split out the core biscuit logic from its crypto and regex dependencies so that users of the library can use their own implementations of these.

The library is split into two modules: biscuit and biscuit-core. Existing users of the library can continue to use the library as normal by simply depending on biscuit. Users wishing to implement/inject their own dependencies can do so using java's ServiceLoader.

Incidentally, with this change, we assume ECDSA is now always deterministic, as described in #135. A user can choose different behaviour now by adding their own crypto provider.

This requires an update to error handling for invalid key size.
This prepares for the eventual split into biscuit and biscuit-core.
Additionally, we remove support for nondeterministic nonce. Users that desire this
can implement their own KeyPairFactory.
- Use `ServiceProvider` to pull in default implementations.
- Add exports for the default factories.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant