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
Initially this was going to just be a bool on the `intermediate` type,
but there is enough different in terms of what is generated that I think
it makes sense to add a completely separate type. Internally they share
the same config, since basically everything else is the same (apart from
a few constraints on what fields can be populated in the profile).
This additionally fixes a bug where we weren't actually validating
root/intermediate/key configs.
Fixesletsencrypt#4741
*`root` - generates a signing key on HSM and creates a self-signed root certificate that uses the generated key, outputting a PEM public key, and a PEM certificate
11
11
*`intermediate` - creates a intermediate certificate and signs it using a signing key already on a HSM, outputting a PEM certificate
12
+
*`ocsp-signer` - creates a delegated OCSP signing certificate and signs it using a signing key already on a HSM, outputting a PEM certificate
12
13
*`key` - generates a signing key on HSM, outputting a PEM public key
13
14
14
15
These modes are set in the `ceremony-type` field of the configuration file.
@@ -126,6 +127,56 @@ certificate-profile:
126
127
127
128
This config generates an intermediate certificate signed by a key in the HSM, identified by the object label `root signing key` and the object ID `ffff`. The subject key used is taken from `/home/user/intermediate-signing-pub.pem` and the issuer is `/home/user/root-cert.pem`, the resulting certificate is written to `/home/user/intermediate-cert.pem`.
128
129
130
+
### OCSP Signing Certificate ceremony
131
+
132
+
- `ceremony-type`: string describing the ceremony type, `ocsp-signer`.
133
+
- `pkcs11`: object containing PKCS#11 related fields.
134
+
| Field | Description |
135
+
| --- | --- |
136
+
| `module` | Path to the PKCS#11 module to use to communicate with a HSM. |
137
+
| `pin` | Specifies the login PIN, should only be provided if the HSM device requires one to interact with the slot. |
138
+
| `signing-key-slot` | Specifies which HSM object slot the signing key is in. |
139
+
| `signing-key-label` | Specifies the HSM object label for the signing key. |
140
+
| `signing-key-id` | Specifies the HSM object ID for the signing key. |
141
+
- `inputs`: object containing paths for inputs
142
+
| Field | Description |
143
+
| --- | --- |
144
+
| `public-key-path` | Path to PEM subject public key for certificate. |
145
+
| `issuer-path` | Path to PEM issuer certificate. |
146
+
- `outputs`: object containing paths to write outputs.
147
+
| Field | Description |
148
+
| --- | --- |
149
+
| `certificate-path` | Path to store signed PEM certificate. |
150
+
- `certificate-profile`: object containing profile for certificate to generate. Fields are documented [below](#Certificate-profile-format). The key-usages, ocsp-url, and crl-url fields must not be set.
151
+
152
+
When generating an OCSP signing certificate the key usages field will be set to just Digital Signature and an EKU extension will be included with the id-kp-OCSPSigning usage. Additionally an id-pkix-ocsp-nocheck extension will be included in the certificate.
This config generates a delegated OCSP signing certificate signed by a key in the HSM, identified by the object label `intermediate signing key` and the object ID `ffff`. The subject key used is taken from `/home/user/ocsp-signer-signing-pub.pem` and the issuer is `/home/user/intermdiate-cert.pem`, the resulting certificate is written to `/home/user/ocsp-signer-cert.pem`.
179
+
129
180
### Key ceremony
130
181
131
182
- `ceremony-type`: string describing the ceremony type, `key`.
0 commit comments