Mariano Cano
5bfe96d8c7
Send X5C leaf certificate to webhooks
...
This commit adds a new property that will be sent to authorizing and
enriching webhooks when signing certificates using the X5C provisioner.
1 year ago
Mariano Cano
7fa97bedec
Remove OIDC user regexp check
...
This commit removes the regular expression check on OIDC usernames.
Although it is not recommended to use any character in a username,
it is possible to create and use them. The tool useradd has the flag
--badname and adduser has --allow-badname and --allow-all-names to
create new users with any character.
Moreover, it is possible to create any username with the rest of
provisioners.
Fixes #1436
1 year ago
Herman Slatman
b2bf2c330b
Simplify SCEP provisioner context handling
1 year ago
Herman Slatman
8fc3a46387
Refactor the SCEP authority initialization
...
Instead of relying on an intermediate `scep.Service` struct,
initialize the `scep.Authority` directly. This removes one redundant
layer of indirection.
1 year ago
Herman Slatman
6985b4be62
Clean up the SCEP authority and provisioner
1 year ago
Herman Slatman
a1f187e3df
Merge branch 'master' into herman/scep-provisioner-decrypter
1 year ago
Herman Slatman
180162bd6a
Refactor SCEP provisioner and decrypter
1 year ago
Herman Slatman
0377fe559b
Add basic version of provisioner specific SCEP decrypter
1 year ago
Mariano Cano
71fcdf8a0a
Fix linter errors from #1404
1 year ago
Ruslan Nugmanov
1031324273
add AWS public certificates for me-central-1 and ap-southeast-3
...
As per https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/verify-signature.html
1 year ago
max furman
8b256f0351
address linter warning for go 1.19
1 year ago
Herman Slatman
8c53dc9029
Use `require.NoError` where appropriate in provisioner tests
1 year ago
Herman Slatman
0153ff4377
Remove superfluous `GetChallengePassword`
1 year ago
Herman Slatman
f9ec62f46c
Merge branch 'master' into herman/improve-scep-marshaling
1 year ago
Herman Slatman
c73f157ea4
Remove unused error from challenge validation controller creator
1 year ago
Herman Slatman
4bb88adf63
Move SCEP checks after reload of provisioners in CA initialization
1 year ago
Herman Slatman
e8c1e8719d
Refactor SCEP webhook validation
1 year ago
Herman Slatman
ad4d8e6c68
Add `SCEPCHALLENGE` as valid webhook type in admin API
1 year ago
Herman Slatman
419478d1e5
Make SCEP webhook validation look better
1 year ago
Herman Slatman
dfc56f21b8
Merge branch 'master' into herman/acme-da-tpm
2 years ago
Mariano Cano
ac35f3489c
Remove unused certificate validators and modifiers
...
With the introduction of certificate templates some certificate
validators and modifiers are not used anymore. This commit deletes the
ones that are not used.
2 years ago
Remi Vichery
09cbe8ba65
fixup! Add identity token for all Azure cloud environments
2 years ago
Herman Slatman
6297bace1a
Merge branch 'master' into herman/acme-da-tpm
2 years ago
Remi Vichery
b2c2eec76b
Add identity token for all Azure cloud environments
...
* Azure Public Cloud (default)
* Azure China Cloud
* Azure US Gov Cloud
* Azure German Cloud
2 years ago
LarsBingBong
0d5c40e059
Mark the IDP critical in the generated CRL data.
...
Trying to get CRL to work on my environment I've been reading up on [RFC5280](https://www.rfc-editor.org/rfc/rfc5280#section-5.2.5 ) ... and the IDP to be marked as `Critical`. I hope I'm correct and that my understanding on how to mark the IDP is critical.
Looking at e.g. `3470b1ec57/x509util/extensions_test.go (L48)
` makes me think so.
---
Hopefully the above change - if accepted - can get CRL's to work on my environment. If not we're at least one step closer.
2 years ago
Herman Slatman
59462e826c
Improve testing errors for OIDC `authorizeToken` function
2 years ago
Herman Slatman
10958a124b
Add email address to error message returned for OIDC validation
2 years ago
max furman
7c1c32d86b
Fix linting errors
2 years ago
Carl Tashian
cfcc95de93
Update policy test
2 years ago
Carl Tashian
96c6613739
Clarify policy lockout error message
2 years ago
Herman Slatman
f1724ea8c5
Merge branch 'master' into herman/acme-da-tpm
2 years ago
Mariano Cano
5d87201abc
Ignore principals validations with OIDC
...
This commit will ignore principals validation when an OIDC provisioner
is used. When the principals in the server does not match the principals
given the validation was failing, even if the proper principals were set
by templates or webhooks. With this change OIDC will not validate the
principals and just set the default ones (name, name@example.org ) plus
the ones in the templates.
This commit also includes a change in the templates to allow to pass
a provisioner to the $(step path)/ssh/config template
Related to #807
2 years ago
Herman Slatman
c365d8580e
Move provisioner marshaling logic to api package
2 years ago
Herman Slatman
f2e1c56c6c
Improve SCEP provisioner marshaling
2 years ago
Mariano Cano
002a058807
Use idpURL in json
2 years ago
Mariano Cano
be4cd17b40
Add omit empty to IDPurl
2 years ago
foleyjohnm
d6f9b3336d
Update config.go
2 years ago
foleyjohnm
c79d4e9316
adding CRLIDP config
2 years ago
Mariano Cano
ddd5057f63
Allow root and federated root bundles
...
This commit changes the parsing of root and federated roots to support
a bundle of certificates, this makes easier to configure a root rotation
when using helm charts, just appending the old root.
2 years ago
Mariano Cano
07c56f577a
Add support for linked RA renewals
2 years ago
Herman Slatman
85cd9a1277
Fix some ACME DA doc strings (slightly)
2 years ago
Herman Slatman
c169defc73
Merge pull request #1136 from smallstep/herman/ignore-empty-acme-meta
2 years ago
Herman Slatman
920c4f02c5
Add additional properties to provisioner converters
2 years ago
Herman Slatman
02d679e160
Merge branch 'master' into herman/ignore-empty-acme-meta
2 years ago
Mariano Cano
c7f226bcec
Add support for renew when using stepcas
...
It supports renewing X.509 certificates when an RA is configured with stepcas.
This will only work when the renewal uses a token, and it won't work with mTLS.
The audience cannot be properly verified when an RA is used, to avoid this we
will get from the database if an RA was used to issue the initial certificate
and we will accept the renew token.
Fixes #1021 for stepcas
2 years ago
Mariano Cano
2d582e5694
Remove use of time.Duration.Abs
...
time.Duration.Abs() was added in Go 1.19
2 years ago
Mariano Cano
89c8c6d0a0
Fix package name in tls test
2 years ago
Mariano Cano
51c7f56030
Truncate time to the second
2 years ago
Mariano Cano
812fee7630
Start crl generator before setting initOnce
2 years ago
Mariano Cano
59775fff0c
Merge branch 'master' into crl-support
2 years ago
Mariano Cano
8200d19894
Improve CRL implementation
...
This commit adds some changes to PR #731 , some of them are:
- Add distribution point to the CRL
- Properly stop the goroutine that generates the CRLs
- CRL config validation
- Remove expired certificates from the CRL
- Require enable set to true to generate a CRL
This last point is the principal change in behaviour from the previous
implementation. The CRL will not be generated if it's not enabled, and
if it is enabled it will always be regenerated at some point, not only
if there is a revocation.
2 years ago
Herman Slatman
b9f238ad4d
Add additional ACME `meta` properties to provisioner configuration
2 years ago
Herman Slatman
9d04e7d1dc
Remove period in log output
2 years ago
Herman Slatman
54c560f620
Improve configuration file initialization log output
2 years ago
Herman Slatman
fd38dd34f9
Fix PR comments
2 years ago
Herman Slatman
49718f1bbb
Fix some comments
2 years ago
Herman Slatman
70da534893
Merge branch 'master' into herman/remote-management-helm
2 years ago
Mariano Cano
aefdfc7be7
Use RawSubject on renew and rekey
...
Renew was not replicating exactly the subject because extra names
gets decoded into pkix.Name.Names, the non-default ones should be
added to pkix.Name.ExtraNames. Instead of doing that, this commit
sets the RawSubject that will also keep the order.
Fixes #1106
2 years ago
Herman Slatman
cbc0864370
Remove TODO and clarify ACME revoke authorization method docs
2 years ago
Herman Slatman
d981b9e0dc
Add `--admin-subject` flag to `ca init`
...
The first super admin subject can now be provided through the
`--admin-subject` flag when initializing a CA.
It's not yet possible to configure the subject of the first
super admin when provisioners are migrated from `ca.json` to the
database. This effectively limits usage of the flag to scenarios
in which the provisioners are written to the database immediately,
so when `--remote-management` is enabled. It currently also doesn't
work with Helm deployments, because there's no mechanism yet to
pass this type of option to the Helm chart.
This commit partially addresses https://github.com/smallstep/cli/issues/697
2 years ago
Herman Slatman
da5d2b405c
Merge branch 'master' into herman/remote-management-helm
2 years ago
max furman
7203739369
Fix err assert linter warnings - upgrade outdated package
2 years ago
Herman Slatman
674206320c
Write updated CA configuration after migrating provisioners
2 years ago
Herman Slatman
b5837f20c9
Merge branch 'master' into herman/remote-management-helm
2 years ago
Herman Slatman
c9ee4a9f9d
Disable initialization log output if started with `--quiet`
2 years ago
Raal Goff
f7df865687
refactor crl config, add some tests
2 years ago
Mariano Cano
bd1938b0da
Add support for storing or sending attestation data to linkedca
2 years ago
Herman Slatman
cebb7d7ef0
Add automatic migration of provisioners
...
Provisioners stored in the CA configuration file are
automatically migrated to the database.
Currently no cleanup of the provisioners in the
configuration file yet. In certain situations this
may not work as expected, for example if the CA can't
write to the file. But it's probalby good to try it, so
that we can keep the configuration state of the CA consistent.
2 years ago
Andrew Reed
2c5e41b093
Fix webhook controller ignoring cert type
2 years ago
Raal Goff
d0e81af524
Merge branch 'master' into crl-support
2 years ago
Andrew Reed
7101fbb0ee
Provisioner webhooks ( #1001 )
2 years ago
Mariano Cano
906c5067b9
Include attestation roots on provisioner converters
2 years ago
Mariano Cano
2b19ba41fb
Merge branch 'master' into name-constraints
2 years ago
Mariano Cano
c9e7af3722
Use only name constraints in GetTLSCertificate
2 years ago
Mariano Cano
0bedd22850
Fix typos in WithX509IntermediateCerts comment
2 years ago
Mariano Cano
8374c0d26e
Fix some more extra white spaces
2 years ago
Mariano Cano
965d59c0a8
Fix comment typos and extra white spaces
2 years ago
Mariano Cano
2eba5326db
Remove policy validation on renew
2 years ago
Mariano Cano
ccd93684c3
Remove unused variable
2 years ago
Mariano Cano
246566a195
Change way to get hasNameConstraints
2 years ago
Mariano Cano
b94c0d09be
Set up test properly
2 years ago
Mariano Cano
0214e015a0
Clarify comments by code review
2 years ago
Mariano Cano
23045e1812
Clarify comments by code review
2 years ago
max furman
4c7a2ce3eb
Fix errors.As linter warnings
2 years ago
Mariano Cano
15dc7901e5
Fix unit tests
2 years ago
Mariano Cano
d68c765e20
Add context to errors
2 years ago
Mariano Cano
72e2c4eb2e
Render proper policy and constrains errors
2 years ago
Mariano Cano
4b79405dac
Check constraints and policy for leaf certificates too
2 years ago
Mariano Cano
a6e85cbbf6
Fix linter errors
2 years ago
Mariano Cano
325d8bca4f
Merge branch 'master' into name-constraints
2 years ago
max furman
2d4efc8292
Fix linter warnings
2 years ago
max furman
75bb196193
Add concurrency workflow config | fix broken test due to golang ver
2 years ago
max furman
120629edab
Do not use the templateError in the BadRequestErr
2 years ago
max furman
7c5e5b2b87
Even more linter fixes
2 years ago
max furman
f3d1863ec6
A few more linter errors
2 years ago
max furman
1e0ea6f958
more linting fixes
2 years ago
max furman
33458c88aa
Standardize linting file and fix or ignore lots of linting errors
2 years ago
Mariano Cano
f0a24bd8ca
Add acme property to enable challenges
...
Fixes #1027
2 years ago
Mariano Cano
567d96c771
Revert "Run on plaintext HTTP to support Cloud Run"
...
This reverts commit 09b9673a60
.
2 years ago
Mariano Cano
191d9e8629
Use go.step.sm/crypto to set the permanent identifier
2 years ago
Mariano Cano
debe565e42
Validate constraints on Sign and Renew/Rekey
...
Fixes #1060
2 years ago
Mariano Cano
89b6aa924a
Normalize IPs in matchIPConstraint
2 years ago
Brandon Weeks
f3d2bd7a19
Run on plaintext HTTP to support Cloud Run
2 years ago
Herman Slatman
25cbe02b9e
Add provisioner template validation
...
Fixes #1012
2 years ago
Max
2de7d3fcf0
Update authority/provisioner/claims.go
...
Co-authored-by: Mariano Cano <mariano@smallstep.com>
2 years ago
max furman
ab0d2503ae
Standardize linting file and fix or ignore lots of linting errors
2 years ago
Mariano Cano
3f58f30b21
Name tests properly
2 years ago
Mariano Cano
75bff055fc
Add StatusCoder to ConstraintError
2 years ago
Mariano Cano
2959aa676d
Add helper ValidateCertificate
2 years ago
Mariano Cano
8b54e25f64
Allow nil engines
2 years ago
Mariano Cano
2a15e3eee1
Rename constraint.Service to constraint.Engine
2 years ago
Mariano Cano
45e594f98c
Make the constraint service public
2 years ago
Mariano Cano
7bea2f4d0e
Add more constraint unit tests
2 years ago
Mariano Cano
495494ce8f
Return a typed error
2 years ago
Mariano Cano
6686f0437d
Remove x509 prefixes
2 years ago
Mariano Cano
0263468424
Initial work on name constraints validation
...
Issue #1060
2 years ago
Mariano Cano
34c6c65671
Pass attestation information to the Sign method
...
Attestation information might be useful in authorizing webhooks
2 years ago
Mariano Cano
42102d88d5
Fix merge and add unit tests
2 years ago
Mariano Cano
ee7307bd41
Cherry-pick acme.go from acdfdf3
2 years ago
Mariano Cano
8fc4a58242
Fix nil pointer exception, missing error
2 years ago
Raal Goff
40baf73dff
remove incorrect check on revoked certificate dates, add mutex lock for generating CRLs,
2 years ago
Mariano Cano
4e19aa4c52
Add cache duration if crl is set
2 years ago
Mariano Cano
0829f37fe8
Define a default crl cache duration
2 years ago
Mariano Cano
4a4f7ca9ba
Fix panic if cacheDuration is not set
2 years ago
Mariano Cano
bb0210e875
Fix typo in linkedca variable
2 years ago
Mariano Cano
1e098aef5b
Fixes ACMEAttestationFormat comment
2 years ago
Mariano Cano
66407139e5
Add methods to convert attestation formats
2 years ago
Mariano Cano
ba42aaf865
Add attestationFormat property in the ACME provisioner
2 years ago
Mariano Cano
b2119e9f2c
Merge pull request #977 from smallstep/device-attestation
...
Device attestation
2 years ago
Mariano Cano
fd4e96d1f4
Rename method to IsChallengeEnabled
2 years ago
Mariano Cano
c77b4ff9c5
Fix linter errors
2 years ago
Mariano Cano
59c5219a07
Use a type for acme challenges
2 years ago
Raal Goff
924082bb49
fix linter errors
2 years ago
Raal Goff
d2483f3a70
Merge branch 'master' into crl-support
...
# Conflicts:
# authority/config/config.go
2 years ago
Raal Goff
b89f210469
remove fail-email test and add ok-empty-email test
2 years ago
Mariano Cano
a2749ca8ed
Merge branch 'master' into device-attestation
2 years ago
Raal Goff
7a03c43fe2
allow missing Email claim in OIDC tokens, use subject when its missing
2 years ago
Mariano Cano
1938b1bb34
Merge branch 'master' into herman/fix-template-validation
2 years ago
Mariano Cano
1d1e024b84
Upgrade to go.step.sm/crypto v0.18.0
2 years ago
Mariano Cano
f1c63bc38d
Fix challenge mapping
2 years ago
Mariano Cano
df96b126dc
Add AuthorizeChallenge unit tests
2 years ago
Mariano Cano
bca311b05e
Add acme property to enable challenges
...
Fixes #1027
2 years ago
Herman Slatman
6b7b989988
Add provisioner template validation
...
Fixes #1012
2 years ago
Mariano Cano
693dc39481
Merge branch 'master' into device-attestation
2 years ago
Mariano Cano
b1e9d5ee86
Revert "Run on plaintext HTTP to support Cloud Run"
...
This reverts commit 09b9673a60
.
2 years ago
Mariano Cano
23b8f45b37
Address gosec warnings
...
Most if not all false positives
2 years ago
Mariano Cano
0c7467ceb2
Allow to automatically configure and linked RA
2 years ago
Mariano Cano
5e0be92273
Allow option to skip the validation of config
2 years ago
Mariano Cano
b62f4d1000
Add lgtm comments on some security warnings
2 years ago
Mariano Cano
a5439c43cd
Remove ciphersuites without Lucky13 countermeasures
...
SHA-256 variants of the CBC ciphersuites don't implement any Lucky13
countermeasures. See http://www.isg.rhul.ac.uk/tls/Lucky13.html and
https://www.imperialviolet.org/2013/02/04/luckythirteen.html .
2 years ago