certificates icon indicating copy to clipboard operation
certificates copied to clipboard

Allow CA interface to control validation of Client Identifiers for device-attest-01 acme requests

Open venkyg-sec opened this issue 1 year ago β€’ 1 comments

Name of feature:

Propagate attested client identifiers (serial and attestation object) to CA interface & allow global API level bypass of a) Client Identitifer to UUID/Serial association b) CSR CN to Client Identifier association.
This allows organizations to specify arbitrary values in Apple's ClientIdentifier field as part of the MDM ACME payload and defer validation of that identifier to the Certificate Authority.

The API level global bypass is not great, but I created to add more concreteness to the ask.

Pain or issue this feature alleviates:

Allows us to specify any arbitrary values (such as a one time token like JWT, etc in the ClientIdentifier field in the MDM payload. This is crucial for organizations to be able to use this payload for different types of attested certificates having different user authentication requirements.

Why is this important to the project (if not answered above):

Allows adoption of device-attest-01 in ACME for different types of Attested certificates in Enterprises.

Supporting links/other PRs/issues:

Tests

[certificates]$ make test
βœ“  api/render (9ms) (coverage: 83.7% of statements)
βœ“  api/read (16ms) (coverage: 100.0% of statements)
βœ“  api/log (28ms) (coverage: 52.9% of statements)
βœ“  acme/db/nosql (64ms) (coverage: 97.0% of statements)
βœ“  acme/api (699ms) (coverage: 92.4% of statements)
βˆ…  authority/admin
βœ“  authority/admin/api (61ms) (coverage: 88.3% of statements)
βˆ…  authority/administrator
βœ“  authority/admin/db/nosql (35ms) (coverage: 94.8% of statements)
βœ“  authority/config (21ms) (coverage: 67.5% of statements)
βœ“  authority/policy (19ms) (coverage: 41.7% of statements)
βœ“  authority/internal/constraints (40ms) (coverage: 81.6% of statements)
βœ“  authority (1.234s) (coverage: 46.4% of statements)
βœ“  api (2.249s) (coverage: 76.9% of statements)
βœ“  cas/apiv1 (14ms) (coverage: 97.4% of statements)
βœ“  cas (21ms) (coverage: 95.0% of statements)
βœ“  ca/identity (57ms) (coverage: 93.3% of statements)
βœ“  cas/cloudcas (135ms) (coverage: 96.4% of statements)
βœ“  cas/vaultcas/auth/approle (20ms) (coverage: 86.4% of statements)
βœ“  cas/vaultcas (24ms) (coverage: 79.7% of statements)
βœ“  cas/softcas (542ms) (coverage: 91.3% of statements)
βœ“  cas/vaultcas/auth/kubernetes (10ms) (coverage: 87.5% of statements)
βˆ…  commands
βˆ…  cmd/step-ca
βˆ…  examples/basic-client
βˆ…  examples/basic-federation/client
βœ“  errs (6ms) (coverage: 7.6% of statements)
βœ“  db (9ms) (coverage: 26.6% of statements)
βˆ…  examples/basic-federation/server
βˆ…  examples/bootstrap-client
βˆ…  examples/bootstrap-mtls-server
βˆ…  examples/bootstrap-tls-server
βˆ…  monitoring
βœ“  logging (10ms) (coverage: 31.1% of statements)
βˆ…  scep
βœ“  policy (35ms) (coverage: 93.0% of statements)
βœ“  pki (188ms) (coverage: 17.3% of statements)
βˆ…  scripts/badger-migration
βˆ…  server
βœ“  scep/api (26ms) (coverage: 15.4% of statements)
βœ“  templates (25ms) (coverage: 93.5% of statements)
βœ“  webhook (8ms) (coverage: 71.1% of statements)
βœ“  acme (6.517s) (coverage: 64.4% of statements)
βœ“  cas/stepcas (5.343s) (coverage: 95.9% of statements)
βœ“  authority/provisioner (17.583s) (coverage: 81.4% of statements)
βœ“  ca (27.536s) (coverage: 43.0% of statements)

DONE 4318 tests in 31.048s
βœ“  acme (9.128s) (coverage: 73.1% of statements)

DONE 302 tests in 10.734s

πŸ’”Thank you!

venkyg-sec avatar Sep 08 '23 12:09 venkyg-sec

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

:white_check_mark: venkyg-sec
:x: Venkatesh Gopal


Venkatesh Gopal seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Sep 08 '23 12:09 CLAassistant