Skip to content

Commit f9ec62f

Browse files
committed
Merge branch 'master' into herman/improve-scep-marshaling
2 parents c365d85 + eba93da commit f9ec62f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+6092
-3253
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ jobs:
2323
os-dependencies: "libpcsclite-dev"
2424
run-gitleaks: true
2525
run-codeql: true
26+
make-test: true # run `make test` instead of the default test workflow
2627
secrets: inherit
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Dependabot auto-merge
2+
on: pull_request
3+
4+
permissions:
5+
contents: write
6+
pull-requests: write
7+
8+
jobs:
9+
dependabot:
10+
runs-on: ubuntu-latest
11+
if: ${{ github.actor == 'dependabot[bot]' }}
12+
steps:
13+
- name: Dependabot metadata
14+
id: metadata
15+
uses: dependabot/fetch-metadata@v1.1.1
16+
with:
17+
github-token: "${{ secrets.GITHUB_TOKEN }}"
18+
- name: Enable auto-merge for Dependabot PRs
19+
run: gh pr merge --auto --merge "$PR_URL"
20+
env:
21+
PR_URL: ${{github.event.pull_request.html_url}}
22+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

.github/workflows/release.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
version: ${{ steps.extract-tag.outputs.VERSION }}
2222
is_prerelease: ${{ steps.is_prerelease.outputs.IS_PRERELEASE }}
2323
docker_tags: ${{ env.DOCKER_TAGS }}
24+
docker_tags_hsm: ${{ env.DOCKER_TAGS_HSM }}
2425
steps:
2526
- name: Is Pre-release
2627
id: is_prerelease
@@ -36,10 +37,12 @@ jobs:
3637
VERSION=${GITHUB_REF#refs/tags/v}
3738
echo "VERSION=${VERSION}" >> ${GITHUB_OUTPUT}
3839
echo "DOCKER_TAGS=${{ env.DOCKER_IMAGE }}:${VERSION}" >> ${GITHUB_ENV}
40+
echo "DOCKER_TAGS_HSM=${{ env.DOCKER_IMAGE }}:${VERSION}-hsm" >> ${GITHUB_ENV}
3941
- name: Add Latest Tag
4042
if: steps.is_prerelease.outputs.IS_PRERELEASE == 'false'
4143
run: |
4244
echo "DOCKER_TAGS=${{ env.DOCKER_TAGS }},${{ env.DOCKER_IMAGE }}:latest" >> ${GITHUB_ENV}
45+
echo "DOCKER_TAGS_HSM=${{ env.DOCKER_TAGS_HSM }},${{ env.DOCKER_IMAGE }}:hsm" >> ${GITHUB_ENV}
4346
- name: Create Release
4447
id: create_release
4548
uses: actions/create-release@v1
@@ -79,7 +82,7 @@ jobs:
7982
uses: goreleaser/goreleaser-action@v3
8083
with:
8184
version: 'latest'
82-
args: release --rm-dist
85+
args: release --clean
8386
env:
8487
GITHUB_TOKEN: ${{ secrets.GORELEASER_PAT }}
8588
RELEASE_DATE: ${{ env.RELEASE_DATE }}
@@ -96,5 +99,19 @@ jobs:
9699
platforms: linux/amd64,linux/386,linux/arm,linux/arm64
97100
tags: ${{ needs.create_release.outputs.docker_tags }}
98101
docker_image: smallstep/step-ca
99-
docker_file: docker/Dockerfile.step-ca
102+
docker_file: docker/Dockerfile
103+
secrets: inherit
104+
105+
build_upload_docker_hsm:
106+
name: Build & Upload HSM Enabled Docker Images
107+
needs: create_release
108+
permissions:
109+
id-token: write
110+
contents: write
111+
uses: smallstep/workflows/.github/workflows/docker-buildx-push.yml@main
112+
with:
113+
platforms: linux/amd64,linux/386,linux/arm,linux/arm64
114+
tags: ${{ needs.create_release.outputs.docker_tags_hsm }}
115+
docker_image: smallstep/step-ca
116+
docker_file: docker/Dockerfile.hsm
100117
secrets: inherit

.goreleaser.yml

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ archives:
3636
# Most common use case is to archive as zip on Windows.
3737
# Default is empty.
3838
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Version }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}"
39+
rlcp: true
3940
format_overrides:
4041
- goos: windows
4142
format: zip
@@ -78,6 +79,7 @@ nfpms:
7879

7980
source:
8081
enabled: true
82+
rlcp: true
8183
name_template: '{{ .ProjectName }}_{{ .Version }}'
8284

8385
checksum:
@@ -140,7 +142,7 @@ release:
140142
141143
#### Windows
142144
143-
- 📦 [step-ca_windows_{{ .Version }}_arm64.zip](https://dl.step.sm/gh-release/certificates/gh-release-header/{{ .Tag }}/step-ca_windows_{{ .Version }}_amd64.zip)
145+
- 📦 [step-ca_windows_{{ .Version }}_amd64.zip](https://dl.step.sm/gh-release/certificates/gh-release-header/{{ .Tag }}/step-ca_windows_{{ .Version }}_amd64.zip)
144146
145147
For more builds across platforms and architectures, see the `Assets` section below.
146148
And for packaged versions (Docker, k8s, Homebrew), see our [installation docs](https://smallstep.com/docs/step-ca/installation).
@@ -154,9 +156,11 @@ release:
154156
Below is an example using `cosign` to verify a release artifact:
155157
156158
```
157-
COSIGN_EXPERIMENTAL=1 cosign verify-blob \
159+
cosign verify-blob \
158160
--certificate ~/Downloads/step-ca_darwin_{{ .Version }}_amd64.tar.gz.sig.pem \
159161
--signature ~/Downloads/step-ca_darwin_{{ .Version }}_amd64.tar.gz.sig \
162+
--certificate-identity-regexp "https://github\.com/smallstep/certificates/.*" \
163+
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
160164
~/Downloads/step-ca_darwin_{{ .Version }}_amd64.tar.gz
161165
```
162166
@@ -185,3 +189,40 @@ release:
185189
# - glob: ./path/to/file.txt
186190
# - glob: ./glob/**/to/**/file/**/*
187191
# - glob: ./glob/foo/to/bar/file/foobar/override_from_previous
192+
193+
scoop:
194+
# Template for the url which is determined by the given Token (github or gitlab)
195+
# Default for github is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
196+
# Default for gitlab is "https://gitlab.com/<repo_owner>/<repo_name>/uploads/{{ .ArtifactUploadHash }}/{{ .ArtifactName }}"
197+
# Default for gitea is "https://gitea.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
198+
url_template: "http://github.com/smallstep/certificates/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
199+
200+
# Repository to push the app manifest to.
201+
bucket:
202+
owner: smallstep
203+
name: scoop-bucket
204+
205+
# Git author used to commit to the repository.
206+
# Defaults are shown.
207+
commit_author:
208+
name: goreleaserbot
209+
email: goreleaser@smallstep.com
210+
211+
# The project name and current git tag are used in the format string.
212+
commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}"
213+
214+
# Your app's homepage.
215+
# Default is empty.
216+
homepage: "https://smallstep.com/docs/step-ca"
217+
218+
# Skip uploads for prerelease.
219+
skip_upload: auto
220+
221+
# Your app's description.
222+
# Default is empty.
223+
description: "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH."
224+
225+
# Your app's license
226+
# Default is empty.
227+
license: "Apache-2.0"
228+

CHANGELOG.md

Lines changed: 75 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,85 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2525

2626
---
2727

28-
## [Unreleased]
28+
## [v0.24.0] - 2023-04-12
29+
30+
### Added
31+
32+
- Add ACME `device-attest-01` support with TPM 2.0
33+
(smallstep/certificates#1063).
34+
- Add support for new Azure SDK, sovereign clouds, and HSM keys on Azure KMS
35+
(smallstep/crypto#192, smallstep/crypto#197, smallstep/crypto#198,
36+
smallstep/certificates#1323, smallstep/certificates#1309).
37+
- Add support for ASN.1 functions on certificate templates
38+
(smallstep/crypto#208, smallstep/certificates#1345)
39+
- Add `DOCKER_STEPCA_INIT_ADDRESS` to configure the address to use in a docker
40+
container (smallstep/certificates#1262).
41+
- Make sure that the CSR used matches the attested key when using AME
42+
`device-attest-01` challenge (smallstep/certificates#1265).
43+
- Add support for compacting the Badger DB (smallstep/certificates#1298).
44+
- Build and release cleanups (smallstep/certificates#1322,
45+
smallstep/certificates#1329, smallstep/certificates#1340).
46+
47+
### Fixed
48+
49+
- Fix support for PKCS #7 RSA-OAEP decryption through
50+
[smallstep/pkcs7#4](https://github.com/smallstep/pkcs7/pull/4), as used in
51+
SCEP.
52+
- Fix RA installation using `scripts/install-step-ra.sh`
53+
(smallstep/certificates#1255).
54+
- Clarify error messages on policy errors (smallstep/certificates#1287,
55+
smallstep/certificates#1278).
56+
- Clarify error message on OIDC email validation (smallstep/certificates#1290).
57+
- Mark the IDP critical in the generated CRL data (smallstep/certificates#1293).
58+
- Disable database if CA is initialized with the `--no-db` flag
59+
(smallstep/certificates#1294).
60+
61+
## [v0.23.2] - 2023-02-02
62+
63+
### Added
64+
65+
- Added [`step-kms-plugin`](https://github.com/smallstep/step-kms-plugin) to
66+
docker images, and a new image, `smallstep/step-ca-hsm`, compiled with cgo
67+
(smallstep/certificates#1243).
68+
- Added [`scoop`](https://scoop.sh) packages back to the release
69+
(smallstep/certificates#1250).
70+
- Added optional flag `--pidfile` which allows passing a filename where step-ca
71+
will write its process id (smallstep/certificates#1251).
72+
- Added helpful message on CA startup when config can't be opened
73+
(smallstep/certificates#1252).
74+
- Improved validation and error messages on `device-attest-01` orders
75+
(smallstep/certificates#1235).
76+
77+
### Removed
78+
79+
- The deprecated CLI utils `step-awskms-init`, `step-cloudkms-init`,
80+
`step-pkcs11-init`, `step-yubikey-init` have been removed.
81+
[`step`](https://github.com/smallstep/cli) and
82+
[`step-kms-plugin`](https://github.com/smallstep/step-kms-plugin) should be
83+
used instead (smallstep/certificates#1240).
84+
85+
### Fixed
86+
87+
- Fixed remote management flags in docker images (smallstep/certificates#1228).
88+
89+
## [v0.23.1] - 2023-01-10
2990

3091
### Added
3192

3293
- Added configuration property `.crl.idpURL` to be able to set a custom Issuing
33-
Distribution Point in the CRL.
94+
Distribution Point in the CRL (smallstep/certificates#1178).
95+
- Added WithContext methods to the CA client (smallstep/certificates#1211).
96+
- Docker: Added environment variables for enabling Remote Management and ACME
97+
provisioner (smallstep/certificates#1201).
98+
- Docker: The entrypoint script now generates and displays an initial JWK
99+
provisioner password by default when the CA is being initialized
100+
(smallstep/certificates#1223).
101+
102+
### Changed
103+
104+
- Ignore SSH principals validation when using an OIDC provisioner. The
105+
provisioner will ignore the principals passed and set the defaults or the ones
106+
including using WebHooks or templates (smallstep/certificates#1206).
34107

35108
## [v0.23.0] - 2022-11-11
36109

0 commit comments

Comments
 (0)