feat: adds cert-utility.#1870
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1870 +/- ##
==========================================
- Coverage 57.93% 52.08% -5.85%
==========================================
Files 50 73 +23
Lines 3119 5646 +2527
==========================================
+ Hits 1807 2941 +1134
- Misses 1154 2431 +1277
- Partials 158 274 +116 ☔ View full report in Codecov by Sentry. |
|
i think this is ready for 👀 now. just a couple of notes.
i think that about covers it. cc @haydentherapper |
|
Thanks @ianhundere, I’ll take a look at this later this week. |
|
a nudge for 👀 cc @haydentherapper / @bobcallaway |
|
@bobcallaway thanks for the fb especially w/ the
createCmd.Flags().StringVar(&kmsType, "kms-type", "", "KMS provider type (awskms, gcpkms, azurekms)")
createCmd.Flags().StringVar(&kmsTenantID, "azure-tenant-id", "", "Azure KMS tenant ID")
createCmd.Flags().StringVar(&kmsCredsFile, "gcp-credentials-file", "", "Path to credentials file for GCP KMS")
createCmd.Flags().StringVar(&kmsRegion, "aws-region", "", "AWS KMS region")
AWS_REGION
AZURE_TENANT_ID
GCP_CREDENTIALS_FILE
i'll implement the same fb w/ tsa. cc @haydentherapper ps also updated the readme/docs above. let me know if i should include that in some shape way or form in the repo itself. |
|
another nudge for 👀 / thanks y'all cc @haydentherapper / @bobcallaway |
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…ignore. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…ore consistent w/ tsa cert-utility. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…escriptive. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
… consistent w/ flags. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…e flag to gcp-credentials-file. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…son error. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…per, and other PR fb. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
|
@haydentherapper okidoki, i implemented all your suggested feedback including templating. the behavior now is that templates will be included via the embed package which are used as defaults / a user can still use their own templates to take advantage of https://pkg.go.dev/go.step.sm/crypto/x509util for advanced use-cases. |
…vements. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
…mplates. Signed-off-by: ianhundere <138915+ianhundere@users.noreply.github.com>
Hayden-IO
left a comment
There was a problem hiding this comment.
Thank you for the great work on this!
absolutely, the tsa PR is also up for review. have a good wknd! |
|
@ianhundere Just realized one thing when reviewing the TSA PR. Should we remove the leaf certificate template processing from Fulcio? For the TSA, this is needed, as the leaf certificate signs timestamps. For Fulcio, Fulcio is the CA so it issues leaf certificates. |
|
@haydentherapper ah, good point / so just to confirm, essentially remove all elements associated w/ leaf cert creation (e.g. leaf template, flags etc), correct ? and should i do that in a separate PR ? |
|
Sorry for two separate threads! I just replied on the TSA PR as well. I'd suggest that we make the leaf cert creation optional, and then point TSA operators to this repo, which will reduce code duplication. The only thing we need in the TSA repo then is the TSA templates for root/intermediate/leaf and a README. |
closes #1869
Summary
currently, there is no standard method for creating cert chains for fulcio or tsa. the community has used an assortment of open source scripts/tools, but i thought it would be nice to have a small cloud agnostic go app to create/sign (via awskms, gcpkms, or azurekms) certificates. the smallstep crypto library is fairly comprehensive in its kms/cert capabilities.
@haydentherapper / @bobcallaway gave the go ahead in proceeding w/ this work.
Release Note
Documentation
added docs to
./docsfolder and updatedREADME.mdto point to docs.