Mariano Cano
5df1694250
Add endpoint id for the RA certificate
...
In a linked RA mode, send an endpoint id to group the server
certificates.
2022-08-11 14:47:11 -07:00
Mariano Cano
21427d5d65
Replace instead of prepend provisioner extension
...
With non standard SANs this will generate the SAN and provisioner
extension in the same order.
2022-08-09 16:48:00 -07:00
Mariano Cano
6b5d3dca95
Add provisioner name to RA info
2022-08-03 18:44:04 -07:00
Mariano Cano
a1f54921d2
Rename internal field
2022-08-03 12:07:45 -07:00
Mariano Cano
9408d0f24b
Send RA provisioner information to the CA
2022-08-02 19:28:49 -07:00
Shulhan
fe04f93d7f
all: reformat all go files with the next gofmt (Go 1.19)
...
There are some changes that manually edited, for example using '-' as
default list and grouping imports.
2022-06-16 01:28:59 +07:00
Mariano Cano
6b3a8f22f3
Add provisioner to SSH renewals
...
This commit allows to report the provisioner to the linkedca when
a SSH certificate is renewed.
2022-05-20 14:41:44 -07:00
Mariano Cano
3c4d0412ef
Merge pull request #941 from smallstep/ssh-provisioner
...
Report SSH provisioner
2022-05-20 12:24:30 -07:00
Mariano Cano
a627f21440
Fix AuthorizeSSHSign tests with extra SignOption
2022-05-18 18:51:36 -07:00
Mariano Cano
e7d7eb1a94
Add provisioner as a signOption for SSH
2022-05-18 18:42:42 -07:00
Herman Slatman
479eda7339
Improve error message when client renews with expired certificate
...
When a client provides an expired certificate and `AllowAfterExpiry`
is not enabled, the client would get a rather generic error with
instructions to view the CA logs. Viewing the CA logs can be done
when running `step-ca`, but they can't be accessed easily in the
hosted solution.
This commit returns a slightly more informational message to the
client in this specific situation.
2022-05-19 01:25:30 +02:00
Herman Slatman
5e9bce508d
Unexport GetPolicy()
2022-05-05 12:32:53 +02:00
Herman Slatman
d82e51b748
Update AllowWildcardNames configuration name
2022-04-29 15:08:19 +02:00
Herman Slatman
2b7f6931f3
Change Subject Common Name verification
...
Subject Common Names can now also be configured to be allowed or
denied, similar to SANs. When a Subject Common Name is not explicitly
allowed or denied, its type will be determined and its value will be
validated according to the constraints for that type of name (i.e. URI).
2022-04-28 14:49:23 +02:00
Herman Slatman
6e1f8dd7ab
Refactor policy engines into container
2022-04-26 13:12:16 +02:00
Herman Slatman
2a7620641f
Fix more PR comments
2022-04-26 10:15:17 +02:00
Herman Slatman
c40a4d2694
Contain policy engines inside provisioner Controller
2022-04-22 01:20:38 +02:00
Herman Slatman
72bbe53376
Add additional policy options
2022-04-19 14:41:36 +02:00
Herman Slatman
7f9034d22a
Add additional policy options
2022-04-19 10:24:52 +02:00
Herman Slatman
abcad679ff
Merge branch 'master' into herman/allow-deny
2022-04-18 21:54:55 +02:00
Herman Slatman
d6be9450be
Merge branch 'master' into herman/allow-deny
2022-04-15 11:57:05 +02:00
Mariano Cano
d3b6bc3c75
Merge branch 'master' into fix/adminra
2022-04-13 17:44:23 -07:00
Mariano Cano
674dc3c844
Rename unreleased claim to allowRenewalAfterExpiry for consistency.
2022-04-13 15:11:54 -07:00
Herman Slatman
0bb15e16f9
Fix missing ACME provisioner option
2022-04-08 16:10:26 +02:00
Herman Slatman
9797b3350e
Merge branch 'master' into herman/allow-deny
2022-04-08 16:01:56 +02:00
Mariano Cano
8abd568f03
Merge branch 'master' into fix/adminra
2022-04-07 18:25:41 -07:00
Mariano Cano
b7e11da480
Merge branch 'master' into feat/linkedra
2022-04-07 18:19:04 -07:00
Mariano Cano
df8ffb35af
Remove unnecessary database in provisioner config.
2022-04-05 17:39:06 -07:00
Herman Slatman
d8776d8f7f
Add K8sSA SSH user policy back
...
According to the docs, the K8sSA provisioner can be configured
to issue SSH user certs.
2022-04-01 15:37:48 +02:00
Herman Slatman
571b21abbc
Fix (most) PR comments
2022-03-31 16:12:29 +02:00
Herman Slatman
628d7448de
Don't return policy in provisioner JSON
2022-03-30 15:20:38 +02:00
Herman Slatman
2fbdf7d5b0
Merge branch 'master' into herman/allow-deny
2022-03-30 14:50:14 +02:00
Panagiotis Siatras
00634fb648
api/render, api/log: initial implementation of the packages ( #860 )
...
* api/render: initial implementation of the package
* acme/api: refactored to support api/render
* authority/admin: refactored to support api/render
* ca: refactored to support api/render
* api: refactored to support api/render
* api/render: implemented Error
* api: refactored to support api/render.Error
* acme/api: refactored to support api/render.Error
* authority/admin: refactored to support api/render.Error
* ca: refactored to support api/render.Error
* ca: fixed broken tests
* api/render, api/log: moved error logging to this package
* acme: refactored Error so that it implements render.RenderableError
* authority/admin: refactored Error so that it implements render.RenderableError
* api/render: implemented RenderableError
* api/render: added test coverage for Error
* api/render: implemented statusCodeFromError
* api: refactored RootsPEM to work with render.Error
* acme, authority/admin: fixed pointer receiver name for consistency
* api/render, errs: moved StatusCoder & StackTracer to the render package
2022-03-30 11:22:22 +03:00
Mariano Cano
6851842841
Fix unit tests.
2022-03-28 15:06:56 -07:00
vijayjt
37207793f9
Pass in the resource name regardless of if its a VM or managed identity
2022-03-28 14:55:40 -07:00
vijayjt
7e47c70af2
Remove redundant parameter type declaration
2022-03-28 14:55:40 -07:00
vijayjt
7b605b2d16
Support Azure tokens from managed identities not associated with a VM
2022-03-28 14:55:39 -07:00
Mariano Cano
5ab79f53be
Fix linter errors
2022-03-28 14:55:39 -07:00
Herman Slatman
b49307f326
Fix ACME order tests with mock ACME CA
2022-03-24 18:34:04 +01:00
Herman Slatman
9e0edc7b50
Add early authority policy evaluation to ACME order API
2022-03-24 14:55:40 +01:00
Herman Slatman
613c99f00f
Fix linting issues
2022-03-24 13:10:49 +01:00
Herman Slatman
dc23fd23bf
Merge branch 'master' into herman/allow-deny-next
2022-03-24 12:36:12 +01:00
Mariano Cano
082734474b
Merge pull request #845 from vijayjt/azure-user-mi-token
...
WIP: Support Azure tokens generated by managed identities
2022-03-23 17:18:51 -07:00
Mariano Cano
b401376829
Add current provisioner to AuthorizeSign SignOptions.
...
The original provisioner cannot be retrieved from a certificate
if a linked ra is used.
2022-03-21 19:21:40 -07:00
vijayjt
24a963766e
Pass in the resource name regardless of if its a VM or managed identity
2022-03-22 00:10:43 +00:00
Mariano Cano
ad8a813abe
Fix linter errors
2022-03-21 16:53:57 -07:00
Mariano Cano
6d532045dc
Fix validity check for sshpop provisioner.
2022-03-14 17:31:21 -07:00
Mariano Cano
c903f00cd4
Rename claim to allowRenewAfterExpiry.
2022-03-14 15:40:01 -07:00
Mariano Cano
4690fa64ed
Add public methods to retrieve the provisioner extensions.
2022-03-11 14:59:42 -08:00
Mariano Cano
616490a9c6
Refactor renew after expiry token authorization
...
This changes adds a new authority method that authorizes the
renew after expiry tokens.
2022-03-10 20:21:01 -08:00
Mariano Cano
389815642d
Fix tests: certs are truncated to seconds.
2022-03-10 10:46:28 -08:00
Mariano Cano
8ef8f4f665
Use the provisioner controller in Nebula renewals
2022-03-10 10:45:12 -08:00
Mariano Cano
259e95947c
Add support for the provisioner controller
...
The claimer, audiences and custom callback methods are now managed
by the provisioner controller in an uniform way.
2022-03-09 18:43:45 -08:00
Mariano Cano
3c2ff33ca9
Add provisioner controller tests.
2022-03-09 18:43:27 -08:00
Mariano Cano
fd6a2eeb9c
Add provisioner controller
...
The provisioner controller has the implementation of the identity
function as well as the renew methods with renew after expiry
support.
2022-03-09 18:39:09 -08:00
Herman Slatman
3ec9a7310c
Fix ACME order identifier allow/deny check
2022-03-08 14:17:59 +01:00
Herman Slatman
7c541888ad
Refactor configuration of allow/deny on authority level
2022-03-08 13:26:07 +01:00
Herman Slatman
af53a17bb4
Merge branch 'master' into herman/allow-deny
2022-03-07 14:13:13 +01:00
vijayjt
4822516d72
Remove redundant parameter type declaration
2022-03-07 12:07:48 +00:00
vijayjt
e699244291
Support Azure tokens from managed identities not associated with a VM
2022-03-07 11:24:58 +00:00
Mariano Cano
15b1049f19
Fix json tag for Azure.ObjectIDs.
2022-02-28 14:36:37 -08:00
vijayjt
4a10f2c584
Rename new fields as per feedback to remove AAD from the name
2022-02-24 09:26:45 +00:00
vijayjt
8b68bedffa
Add support for validation of certificate requests using Azure subscription and AAD object IDs. See #735
2022-02-22 17:20:18 +00:00
Herman Slatman
c3c6f3da72
Merge branch 'master' into herman/allow-deny
2022-02-22 17:36:56 +01:00
Mariano Cano
abe951d416
Fix name of the variable in comment.
2022-02-17 17:59:17 -08:00
Mariano Cano
a0cf808393
Make the X5C leaf certificate available to the templates.
...
X509 and SSH templates of the X5C provisioner will have now access
to the leaf certificate used to sign the token using the template
variable .AuthorizationCrt
Fixes #433
2022-02-17 17:53:44 -08:00
Herman Slatman
88c7b63c9d
Split SSH user and cert policy configuration and execution
2022-02-01 15:18:39 +01:00
Herman Slatman
acd13cb92d
Merge branch 'master' of github.com:smallstep/certificates into herman/allow-deny
2022-01-31 14:43:46 +01:00
Herman Slatman
c1424036bf
Merge branch 'master' into herman/allow-deny
2022-01-31 14:24:34 +01:00
Herman Slatman
c7c5c3c94e
Merge branch 'master' into herman/scep-macos-renewal-fixes
2022-01-31 13:20:16 +01:00
Herman Slatman
9617edf0c2
Improve internationalized domain name handling
...
This PR improves internationalized domain name handling according
to rules of IDNA and based on the description in RFC 5280, section 7:
https://datatracker.ietf.org/doc/html/rfc5280#section-7 .
Support for internationalized URI(s), so-called IRIs, still needs to
be done.
2022-01-27 17:18:33 +01:00
Herman Slatman
512b8d6730
Refactor instantiation of policy engines
...
Instead of using the `base` struct, the x509 and SSH policy
engines are now added to each provisioner directly.
2022-01-25 16:45:25 +01:00
Herman Slatman
066bf32086
Fix part of PR comments
2022-01-25 15:00:07 +01:00
Herman Slatman
8838961b68
Merge branch 'master' into hs/acme-eab
2022-01-20 11:05:28 +01:00
Herman Slatman
64680bb16d
Fix PR comments
2022-01-19 11:31:33 +01:00
Herman Slatman
3612eefc31
Cleanup
2022-01-18 15:54:18 +01:00
Herman Slatman
6440870a80
Clean up, improve test cases and coverage
2022-01-18 14:39:21 +01:00
Herman Slatman
1e808b61e5
Merge logic for X509 and SSH policy
2022-01-17 23:36:13 +01:00
Herman Slatman
6bc301339f
Improve test case and code coverage
2022-01-17 22:55:28 +01:00
Herman Slatman
91d51c2b88
Add allow/deny to Nebula provisioner
2022-01-14 13:06:32 +01:00
Herman Slatman
d9c56d67cc
Merge branch 'master' into herman/allow-deny
2022-01-14 12:58:07 +01:00
Herman Slatman
9c6580ccd2
Fix macOS SCEP client issues
...
Fixes #746
2022-01-14 10:48:23 +01:00
Mariano Cano
0920224816
Fix error message.
2022-01-07 11:09:32 -08:00
Mariano Cano
449a9fdfd6
Address review comments.
2022-01-06 12:00:58 -08:00
Mariano Cano
b424aa3dc1
Add nebula header and use der version of certificate.
2022-01-06 11:19:46 -08:00
Mariano Cano
f49a4b326f
Add missing comments.
2022-01-05 10:54:09 -08:00
Mariano Cano
6600f1253e
Fix error messages after review.
2022-01-05 10:12:49 -08:00
Mariano Cano
de51c2edfb
More unit tests for nebula.
2022-01-04 18:16:41 -08:00
Mariano Cano
99845d38bb
Add some extra unit tests for nebula.
2022-01-04 12:06:44 -08:00
Mariano Cano
76794ce613
Use default SANs without sans in the token.
...
Fix step claim condition in SSH
2022-01-04 12:05:58 -08:00
Herman Slatman
6bc0513468
Add more tests
2022-01-04 15:41:40 +01:00
Mariano Cano
9ec0276887
Update certificate set with new api.
2022-01-03 18:54:01 -08:00
Herman Slatman
9539729bd9
Add initial implementation of x509 and SSH allow/deny policy engine
2022-01-03 12:25:24 +01:00
Mariano Cano
cb72796a2d
Fix decoding of certificate.
2021-12-29 16:07:05 -08:00
Mariano Cano
32390a2964
Add initial implementation of a nebula provisioner.
...
A nebula provisioner will generate a X509 or SSH certificate with
the identities in the nebula certificate embedded in the token.
The token is signed with the private key of the nebula certificate.
2021-12-29 14:12:03 -08:00
Herman Slatman
d799359917
Merge branch 'master' into hs/acme-eab
2021-12-09 13:58:40 +01:00
Herman Slatman
3bc3957b06
Merge branch 'master' into hs/acme-revocation
2021-12-09 09:36:52 +01:00
Herman Slatman
d0c23973cc
Merge branch 'master' into hs/acme-eab
2021-12-06 13:01:23 +01:00
Mariano Cano
e0fee84694
Add comment about public key validator.
2021-12-03 15:24:42 -08:00
Herman Slatman
a7fbbc4748
Add tests for GetCertificateBySerial
2021-11-28 21:20:57 +01:00