feat: Adds AWS KMS signing.#609
feat: Adds AWS KMS signing.#609lukpueh merged 23 commits intosecure-systems-lab:mainfrom ianhundere:add-aws-support
Conversation
|
Very cool! Thanks for the contribution, @ianhundere! From a quick glance the code looks great. May I ask you to fix ci failures?
Your code looks fine for a prototype. We can polish later, e.g. with #594 and #593.
Did you test this somewhere? Would you mind providing some details about how to setup AWS KMS to use AWSSigner? |
…tent with the actual signing algorith being passed to aws kms.
|
Appreciate the feedback, @lukpueh. Just pushed a commit that ensures the keytype and scheme passed in import_ are consistent with the actual signing algorithm, tests were passing / correct signing algo was being passed, but the
Yeah, I ensured that all the appropriate values were where they should be and that all tests passed. I also tested both rsa and ecdsa keys. I'll implement your feedback over the weekend, cheers / thanks. 🍻 |
…S KMS to use AWSSigner.
…: Unpacking a string is disallowed [misc].
…g and adjusts test coverage to pass for windows builds.
…lib into add-aws-support
|
@lukpueh Okay, documentation updated and all |
…me and updates docstrings.
|
@lukpueh added one last change to cleanup |
|
Thanks again for the very valuable contribution! The AWS KMS interaction looks great. 💯 I did have a hard time, though, to follow your signing scheme detection code. It looks like you are putting a lot of effort into making the I have two comments about that:
Apologies, if I am missing something. Also, happy to discuss this in person. |
lukpueh
left a comment
There was a problem hiding this comment.
Here's a couple of docs and style -related comments. Definitely no blockers, but if you have time, it would be nice to fix them.
awesome, this is terrific feedback and was really helpful. i just implemented your suggestions above, but i'll go ahead and push the rest of your feedback in one commit, should have them up shortly. |
|
@lukpueh okay, all suggestions implemented, much prettier to look at now. 😅 thanks again for the feedback. 🙂 edit: i had some failing tests, resolved them...now it should be good. 🚀 |
…keytype_and_scheme.
lukpueh
left a comment
There was a problem hiding this comment.
Thanks for the quick updates, this looks great!
I like that you just let the user decide, which scheme to use. We can make enhancements later, like cross-check with the schemes that are actually supported, or pick a reasonable default from the supported schemes, etc.
I left a few final comments. Otherwise, I think this is ready to merge, and we can take a stab at testing in a follow-up PR (#612).
Description of the changes being introduced by the pull request:
This pull request adds AWS signer implementation.
though currently the func that gets the scheme and keytype just provides a default signing algorithm for each respective key spec specifically for RSA keys.I added logic to the sign func that parses the correct signing algorithm which is a bit messy, but I had trouble trying to pull the scheme in from the test elsewhere and didn't want to muddy the way things were done compared to the gcp/azure implementations.I also redacted the necessary information in the test, but I also see that the azure test isn't currently being used in pipelines.
Please verify and check that the pull request fulfils the following requirements: