Skip to content
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

Investigate Rustacean crypto APIs #6

Open
ionut-arm opened this issue Mar 20, 2020 · 5 comments
Open

Investigate Rustacean crypto APIs #6

ionut-arm opened this issue Mar 20, 2020 · 5 comments
Labels
enhancement New feature or request medium Effort label question Further information is requested
Projects

Comments

@ionut-arm
Copy link
Member

No proper work has been done to identify solid trends within the Rust development community as to how cryptography APIs should be defined. Time invested in this would be worthwhile, especially with a plan to update our core client (and any future abstract clients).

If possible, the outcome of the investigation should be to improve our APIs. Additionally, the findings should be summarised as a markdown page presenting the ideas behind/"philosophy of" our APIs.

@ionut-arm ionut-arm added enhancement New feature or request question Further information is requested labels Mar 20, 2020
@ionut-arm ionut-arm added this to To do in Parsec via automation Mar 20, 2020
@ionut-arm
Copy link
Member Author

My opinion is still that we could benefit from integrating the RustCrypto Developers crates into this client. More precisely, for signing we could implement the traits defined here.

@ionut-arm
Copy link
Member Author

If we do this, we should probably split the implementations into different files to make it more scalable. Also, looking at those traits, they're fairly abstracted, so they would be used at least one layer above CoreClient, more likely at the "last level", where user involvement would be quite low ("just sign this data, please, don't care with what or how")

@hug-dev
Copy link
Member

hug-dev commented Aug 28, 2020

For integration with Rustls it would also be nice to investigate implementing their traits for siging with a key that is managed by Parsec: https://docs.rs/rustls/0.18.1/rustls/manual/_03_howto/index.html#customising-private-key-usage

@hug-dev hug-dev removed this from the Parsec production ready milestone Sep 2, 2020
@ionut-arm
Copy link
Member Author

Google also released a crate that is "difficult to misuse": https://crates.io/crates/mundane

They don't have any dependents, though, don't know if it's just something they use internally.

@hug-dev
Copy link
Member

hug-dev commented Apr 29, 2021

I don't know if it makes sense to keep this issue open. We can add specific ones for the specific things we would like to add in the future, if there is a need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request medium Effort label question Further information is requested
Projects
Parsec
All issues
Development

No branches or pull requests

2 participants