-
Notifications
You must be signed in to change notification settings - Fork 213
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
multiple collaborators per certificate #944
base: develop
Are you sure you want to change the base?
Conversation
possible TODOs:
|
Signed-off-by: hasan7n <hasankassim7@hotmail.com>
@@ -225,7 +227,7 @@ def valid_collaborator_cn_and_id(self, cert_common_name, | |||
# FIXME: '' instead of None is just for protobuf compatibility. | |||
# Cleaner solution? | |||
if self.single_col_cert_common_name == '': | |||
return (cert_common_name == collaborator_common_name | |||
return (cert_common_name == self.cn_mapping[collaborator_common_name] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: handle error
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
possible key error
Hi @hasan7n, Great work on enabling multiple collaborators to use a shared certificate. To ensure everything works as expected, could you add unit tests for both the new dictionary mapping in cols.yaml and the backward-compatible list format? Additionally, could you outline how we might manually test this feature to verify its functionality? Thanks for your efforts! Best, Manuel Santana |
This PR adds the possibility of having multiple collaborator nodes use the same certificate for communication with the aggregator. The goal is to separate the dataset "identity" from its owner identity. We can think of "collaborator name" now as a "dataset name/ID".
cols.yaml
'scollaborators
key is now expected to have one of the following two structures:In the code, the
Plan
object will now have both theauthorized_cols
property and a new propertycn_mapping
. I kept theauthoized_cols
property to minimize changes to the codebase since it is used in many places as a list of strings.