-
Notifications
You must be signed in to change notification settings - Fork 42
Add RFC 1022 & 1023 for asynchronous enrollment #11762
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
base: master
Are you sure you want to change the base?
Conversation
876aad7 to
327136c
Compare
875cf3b to
cd0c0d2
Compare
cd0c0d2 to
22f6195
Compare
| - An asynchronous enrollment is created by the submitter (while a synchronous one is created | ||
| by the greeter). |
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.
| - An asynchronous enrollment is created by the submitter (while a synchronous one is created | |
| by the greeter). | |
| - When the submitter creates an enrollment it is asynchronous, whereas when an accepter creates the enrollment, it is synchronous. |
It kinda sounded like the people involved could choose what kind of enrollment they wanted, but maybe it's just me. (Also greeter -> accepter)
| 0. Alice wants to join CoolOrg organization. | ||
| 1. Alice uses the organization submission link to submit a request. This submission link | ||
| is specific to the organization and is common to all submit request (typically this | ||
| link can be pinned to a newcomer guide documentation). |
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.
| link can be pinned to a newcomer guide documentation). | |
| link can be referenced in a newcomer guide documentation). |
| 1. Alice uses the organization submission link to submit a request. This submission link | ||
| is specific to the organization and is common to all submit request (typically this | ||
| link can be pinned to a newcomer guide documentation). | ||
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses his smartcard containing a PKI identity). |
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.
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses his smartcard containing a PKI identity). | |
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses their smartcard containing a PKI identity). |
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses his smartcard containing a PKI identity). | |
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses her smartcard containing a PKI identity). |
| link can be pinned to a newcomer guide documentation). | ||
| 2. Alice authenticates with an external identity system (either connect trough OIDC or uses his smartcard containing a PKI identity). | ||
| 3. Alice creates a user encryption key pair and a device signing key pair. | ||
| 4. Alice saves the private parts of the user & device keys pairs on his machine's filesystem. |
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.
| 4. Alice saves the private parts of the user & device keys pairs on his machine's filesystem. | |
| 4. Alice saves the private parts of the user & device keys pairs on their machine's filesystem. |
| 4. Alice saves the private parts of the user & device keys pairs on his machine's filesystem. | |
| 4. Alice saves the private parts of the user & device keys pairs on her machine's filesystem. |
| } | ||
| ``` | ||
|
|
||
| ### 3.2 - List the pending request |
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.
Does this lists only valid, still waiting for approval enrollments ?
If yes, should we add a list_untrusted like here #11841?
(it's for the admin to be able to see all enrollments, even if they are invalid)
| "status": "enrollment_not_found" | ||
| }, | ||
| { | ||
| // The request is no longer in pending state (either accepted or rejected) |
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.
| // The request is no longer in pending state (either accepted or rejected) | |
| // The request is no longer in pending state (either accepted, cancelled or rejected) |
| "status": "active_users_limit_reached" | ||
| }, | ||
| { | ||
| // The user already exist in the organization |
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.
| // The user already exist in the organization | |
| // The user already exist in the organization (aka email already in use) |
I'm not sure about that though, this could be about the user_id too.
| "type": "Bytes" | ||
| }, | ||
| { | ||
| // Optional list of intermediate certificates needed to |
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.
What happens if it's not provided ? The trustchain is not verified ?
| { | ||
| // Certificate here refers to the X509 certificate that describes what is | ||
| // in the smartcard. | ||
| "name": "certificate_ref", |
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.
| "name": "certificate_ref", | |
| "name": "submitter_certificate_ref", |
| > The server validation is not strictly needed from a security standpoint, but it | ||
| > prevents ending up with bad request in the list of pending enrollments that then | ||
| > have to be manually rejected. |
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.
The invalid requests still need to be visible (they can be hidden) but the admin must be able to kind them to be able to debug the case where a legitimate user submits unknowingly an invalid certificate. So a manual action would still be needed to clean up those certificates
22f6195 to
7fa7fd0
Compare
Question:
pki_prefix for everything related to PKI, except for the local device protection that is namedsmartcard. I think we should settle on eitherpkiorsmartcardfor all code related to PKI (so most likely just renameDeviceFileSmartcard->DeviceFilePKI).