Skip to content

Commit 7b76d5d

Browse files
committed
Add instructions for RSA PKCS#1 v1.5 CAs
1 parent d8f4818 commit 7b76d5d

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

tutorials/rsa-chain.mdx

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
updated_at: September 17, 2025
2+
updated_at: October 22, 2025
33
title: Configure step-ca with an RSA certificate chain
44
html_title: Configure RSA Certificate Chain Tutorial
55
description: Set up RSA certificate chains with step-ca. Complete guide for RSA-based PKI implementation with proper chain configuration.
@@ -19,7 +19,14 @@ However, the CA can sign leaf certificates
1919
using RSA, ECDSA, or Ed25519 key types,
2020
regardless of the key types of the root and intermediate CA.
2121

22-
This tutorial uses RSA-PSS and SHA256 for the signature algorithm. RSA-PSS appeared in 2003 in [RFC 3447](https://www.rfc-editor.org/rfc/rfc3447). Both [RFC 3447](https://www.rfc-editor.org/rfc/rfc3447) and the updated [RFC 8017](https://www.rfc-editor.org/rfc/rfc8017) recommend RSA-PSS (aka RSASSA-PSS) over RSA PKCS#1 v1.5. RSA-PSS has a security proof and is (in theory) more robust than RSA PKCS #1 v1.5. Nevertheless, PKCS #1 v1.5 has no known security weaknesses as of May 2023.
22+
## Before you begin
23+
24+
This tutorial uses RSA-PSS and SHA256 for the signature algorithm. RSA-PSS appeared in 2003 in [RFC 3447](https://www.rfc-editor.org/rfc/rfc3447). Both [RFC 3447](https://www.rfc-editor.org/rfc/rfc3447) and the updated [RFC 8017](https://www.rfc-editor.org/rfc/rfc8017) recommend RSA-PSS (aka RSASSA-PSS) over RSA PKCS#1 v1.5 (from 1993). RSA-PSS has a security proof and is (in theory) more robust than RSA PKCS #1 v1.5.
25+
26+
While PKCS #1 v1.5 has no known security weaknesses as of October 2025, it is not recommended for new applications.
27+
However, for compatibility with some Apple use cases,
28+
RSA PKCS #1 v1.5 [may be necessary](https://github.com/smallstep/certificates/discussions/1447),
29+
so we've provided alternative instructions below.
2330

2431
## Requirements
2532

@@ -83,7 +90,38 @@ step certificate create "Example Intermediate CA" \
8390
Change the certificate subject names as desired.
8491
You'll be prompted to supply a password to encrypt your private keys.
8592

86-
You can now restart `step-ca` server.
93+
You may now restart `step-ca` server.
94+
95+
## Alternative: Using RSA PKCS#1 v1.5 (not recommended)
96+
97+
Although the algorithm is widely deprecated, RSA PKCS #1 v1.5 CAs [may be necessary for some Apple clients](https://github.com/smallstep/certificates/discussions/1447).
98+
99+
First, stop your `step-ca` server if it is running.
100+
101+
Next, delete your existing PKI and create RSA root and intermediate certificates and keys.
102+
**This step will overwrite your existing CA.**
103+
104+
```bash
105+
step certificate create "Example Root CA" \
106+
$(step path)/certs/root_ca.crt \
107+
$(step path)/secrets/root_ca_key \
108+
--kty RSA \
109+
--not-after 87660h \
110+
--size 3072
111+
step certificate create "Example Intermediate CA" \
112+
$(step path)/certs/intermediate_ca.crt \
113+
$(step path)/secrets/intermediate_ca_key \
114+
--ca $(step path)/certs/root_ca.crt \
115+
--ca-key $(step path)/secrets/root_ca_key \
116+
--kty RSA \
117+
--not-after 87660h \
118+
--size 3072
119+
```
120+
121+
Change the certificate subject names as desired.
122+
You'll be prompted to supply a password to encrypt your private keys.
123+
124+
You may now restart `step-ca` server.
87125

88126
## Optional: Restricting issuance to RSA
89127

0 commit comments

Comments
 (0)