You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: step-ca/acme-basics.mdx
+8-11Lines changed: 8 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
updated_at: September 18, 2025
2
+
updated_at: October 02, 2025
3
3
title: ACME Basics
4
4
html_title: ACME Protocol Basics for step-ca Users
5
5
description: Learn ACME protocol fundamentals for step-ca. Implement automated certificate management using industry-standard protocols.
@@ -26,8 +26,8 @@ ACME is a modern, standardized protocol for automatic validation and issuance of
26
26
27
27
## Requirements
28
28
29
-
-**Open source -**This tutorial assumes you have initialized and started up a `step-ca` server (see [Getting Started](./getting-started.mdx)).
30
-
-**[Smallstep Certificate Manager](https://smallstep.com/certificate-manager) -** follow the instructions provided in the Certificate Manager [ACME documentation](../certificate-manager/acme/README.mdx).
29
+
This tutorial assumes you have initialized and started up a `step-ca` server (see [Getting Started](./getting-started.mdx)),
30
+
[Smallstep Certificate Manager](https://smallstep.com/certificate-manager), or other ACME server.
31
31
32
32
## Overview
33
33
@@ -40,15 +40,12 @@ ACME is a modern, standardized protocol for automatic validation and issuance of
40
40
## Why ACME?
41
41
42
42
With ACME, machines can get certificates from a CA without any human interaction involved.
43
+
It is used by public Web PKI CAs (eg. Let's Encrypt) and by private, internal CAs.
43
44
44
-
For example, you can:
45
-
46
-
- Use ACME in production to issue X.509 certificates to internal workloads, proxies, queues, databases, etc. so you can use mutual TLS for authentication and encryption.
47
-
- Simulate Let’s Encrypt’s certificate authority in development and
48
-
pre-production scenarios where connecting to [Let’s Encrypt’s staging
Copy file name to clipboardExpand all lines: tutorials/connect-jamf-pro-to-smallstep.mdx
+25-27Lines changed: 25 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
updated_at: September 19, 2025
2
+
updated_at: October 02, 2025
3
3
title: Connect Jamf Pro to Smallstep
4
4
html_title: Integrate Jamf Pro with Smallstep Tutorial
5
5
description: Integrate Jamf Pro with Smallstep for Apple device security. Complete guide for enforcing device trust in macOS and iOS environments.
@@ -44,20 +44,17 @@ This API client will allow Smallstep to read your Jamf device inventory and mana
44
44
1. In Jamf Pro, choose ⚙️ **Settings**
45
45
2. Under the **System** tab, choose **API Roles and Clients**
46
46
3. Add an **API Role**
47
-
48
-
Display name: Smallstep
49
-
50
-
For Privileges, choose:
51
-
52
-
- Read Mobile Devices
53
-
- Read Computers
47
+
- Display name: Smallstep
48
+
- Privileges:
49
+
- Read Mobile Devices
50
+
- Read Computers
54
51
4. Next, in the **API Clients** tab, add a **Client**
55
52
- Display name: Smallstep
56
53
- API Roles: Smallstep
57
54
- Enabled: Yes, choose Enable
58
-
- Choose **Save**
59
-
5. Choose **Generate client secret**
60
-
6. Temporarily save the **Client ID** and **Client Secret**. You’ll use them in the next step.
55
+
5. Choose **Save**
56
+
6. Choose **Generate client secret**
57
+
7. Temporarily save the **Client ID** and **Client Secret**. You’ll use them in the next step.
61
58
62
59
## Connect Jamf Pro to Smallstep
63
60
@@ -76,14 +73,14 @@ For compatibility reasons, Smallstep may use ACME or SCEP for certificate enroll
76
73
1. In Jamf Pro, choose ⚙️ **Settings**
77
74
2. Under the **Global** tab, Choose **Webhooks**
78
75
3. Add a new Webhook
79
-
1. Display name: Smallstep
80
-
2. Webhook URL: (details from step #2)
81
-
3. Authentication Type: Basic
82
-
1. Basic Authentication Username: (details from step #2)
83
-
2. Basic Authentication Password: (details from step #2)
84
-
3. Basic Authentication Verify Password: (details from step #2)
85
-
4. Content Type: JSON
86
-
5. Webhook Event: SCEPChallenge
76
+
- Display name: Smallstep
77
+
- Webhook URL: (details from step #2)
78
+
- Authentication Type: Basic
79
+
- Basic Authentication Username: (details from step #2)
80
+
- Basic Authentication Password: (details from step #2)
81
+
- Basic Authentication Verify Password: (details from step #2)
82
+
- Content Type: JSON
83
+
- Webhook Event: SCEPChallenge
87
84
4. Choose **Save**
88
85
89
86
Your Smallstep team is now linked to Jamf Pro. Smallstep will do a partial sync of your device inventory from Jamf every hour, and a full sync every 8 hours.
@@ -103,8 +100,8 @@ In this step, you’ll upload the Smallstep agent package to Jamf Pro’s softwa
103
100
2. In Jamf Pro, choose ⚙️ **Settings**
104
101
3. Under the **Computer Management** tab, Choose **Packages**
105
102
4. Add a new Package
106
-
1. Display name: Smallstep Agent
107
-
2. Filename: (upload from step #1)
103
+
- Display name: Smallstep Agent
104
+
- Filename: (upload from step #1)
108
105
5. Choose **Save**
109
106
110
107
#### Create an Agent Bootstrap Script
@@ -113,9 +110,9 @@ This step will install a script on your client devices that bootstraps the conne
113
110
114
111
1. In Jamf Pro, choose ⚙️ **Settings**
115
112
2. Under the **Computer Management** tab, Choose **Scripts**
116
-
3. Add a new Script
117
-
1. In the **General tab**, for **Display Name**: `Smallstep Agent Install`
118
-
2. In the Script tab:
113
+
3. Add a new Script:
114
+
- In the **General tab**, for **Display Name**: `Smallstep Agent Install`
115
+
- In the Script tab:
119
116
- Mode: `Shell/Bash`
120
117
- Content:
121
118
@@ -225,14 +222,15 @@ The devices that you scoped will receive a certificate and have the agent instal
225
222
226
223
By default, Jamf will attempt to re-deploy the configured package profile to every scoped Computer on a cadence. Each Computer will attempt to install the distributed package, regardless of any existing version already installed. The Smallstep Agent pkg has built-in logic to skip any unnecessary install logic when the currently installed version matches the version being distributed. However, configuring Jamf to prevent identical package re-deploys can reduce wasted cycles across your entire fleet of managed computers as well as reduce resource usage of your Jamf tenant.
227
224
228
-
1. In Jamf Pro Configure an Extension Attribute that reports the currently installed version on each computers
225
+
1. In Jamf Pro, Configure an Extension Attribute that reports the currently installed version on each computers
229
226
1. In Jamf Pro under Settings → Computer Management → Extension Attributes → New
230
227
- Display Name: SmallstepAgent Version
231
228
- Data type: String
232
229
- Inventory display: General
233
230
- Input Type: Script
234
231
- Mode: Shell/Bash
235
-
-
232
+
- Content:
233
+
236
234
```shell
237
235
#!/bin/bash
238
236
@@ -251,7 +249,7 @@ By default, Jamf will attempt to re-deploy the configured package profile to eve
251
249
fi
252
250
```
253
251
- Save
254
-
2. In Jamf Pro Create a new Smart Computer Group
252
+
2. In Jamf Pro, Create a new Smart Computer Group
255
253
1. In Jamf Pro, go to Computers → Smart Computer Groups → New
Copy file name to clipboardExpand all lines: tutorials/docker-tls-certificate-authority.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
updated_at: September 18, 2025
2
+
updated_at: October 02, 2025
3
3
title: Run a private online TLS certificate authority in a Docker container
4
4
html_title: Run step-ca in Docker Container Tutorial
5
5
description: Run step-ca certificate authority in Docker. Containerized PKI deployment for modern infrastructure environments with easy scalability options.
@@ -47,7 +47,7 @@ The following environment variables are available for CA configuration:
47
47
-`DOCKER_STEPCA_INIT_NAME` (**required**) the name of your CA—this will be the issuer of your CA certificates
48
48
-`DOCKER_STEPCA_INIT_DNS_NAMES` (**required**) the hostname(s) or IPs that the CA will accept requests on
49
49
-`DOCKER_STEPCA_INIT_PROVISIONER_NAME` a label for the initial admin (JWK) provisioner. Default: "admin"
50
-
-`DOCKER_STEPCA_INIT_SSH` set this to a non-empty value to create an SSH CA
50
+
-`DOCKER_STEPCA_INIT_SSH` set this to `true` to create an SSH CA
51
51
-`DOCKER_STEPCA_INIT_PASSWORD` specify a password for the encrypted CA keys and the default CA provisioner. A password is generated by default. Note: In a production environment, a more secure option for specifying a password is to use the manual installation process, below.
52
52
53
53
Once `step-ca` is running, the CA's URL and SHA256 fingerprint are all clients need to bootstrap with the CA.
Copy file name to clipboardExpand all lines: tutorials/intermediate-ca-new-ca.mdx
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Use step-ca with your existing CA
3
3
html_title: Deploy Intermediate CA with Existing Root
4
4
description: Use step-ca as intermediate CA with existing infrastructure. Modernize PKI while preserving root certificate investments and trust chains.
5
-
updated_at: September 17, 2025
5
+
updated_at: October 02, 2025
6
6
---
7
7
8
8
Need to extend or migrate from an existing CA to a Smallstep CA?
@@ -24,7 +24,7 @@ while still issuing certificates trusted by your existing clients.
24
24
</Alert>
25
25
26
26
This tutorial covers three ways of bootstrapping a Smallstep CA
27
-
using an existing PKI.
27
+
that can run in parallel with your existing PKI.
28
28
29
29
## About this tutorial
30
30
@@ -35,13 +35,13 @@ using an existing PKI.
35
35
36
36
<Alertseverity="info">
37
37
<div>
38
-
If you run into any issues please let us know <ahref="https://github.com/smallstep/certificates/discussions">in GitHub Discussions</a>.
38
+
If you run into any issues please let us know <ahref="https://github.com/smallstep/certificates/discussions">in GitHub Discussions</a> or <ahref="https://u.step.sm/discord">Discord</a>.
39
39
</div>
40
40
</Alert>
41
41
42
42
## Requirements
43
43
44
-
This tutorial assumes you have initialized and started up a `step-ca` instance using the steps in [Getting Started](../step-ca/getting-started.mdx).
44
+
This tutorial assumes you have initialized and started a `step-ca` instance using the steps in [Getting Started](../step-ca/getting-started.mdx).
45
45
You'll also need the ability to sign a new intermediate CA
46
46
using your existing CA.
47
47
You can use your existing root
@@ -158,6 +158,8 @@ To generate those artifacts run:
158
158
step certificate create "Intermediate CA Name" intermediate.csr intermediate_ca_key --csr
159
159
```
160
160
161
+
In this example, we're generating the Intermediate CA key on the filesystem. For stronger key protection, use our [cryptographic protection](../step-ca/cryptographic-protection.mdx) features to generate the signing key inside a Key Management System (KMS) instead.
162
+
161
163
### 3. Transfer the CSR file and get it signed.
162
164
163
165
Now, you will need to transfer the CSR (intermediate.csr) file to your existing root CA and get it signed. Below we have examples of
0 commit comments