Certificate Authority Workshop: Fundamentals – Exercises with Solutions
1. Goal
Goal is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Goal
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Goal
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Goal
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
2. Scenario
Scenario is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Scenario
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Scenario
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Scenario
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
3. Working Rules
Working Rules is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Working Rules
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Working Rules
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Working Rules
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
4. Task Overview
Task Overview is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Task Overview
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Task Overview
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Task Overview
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
| Nr. | Thema | Ergebnis |
|---|---|---|
| 1 | X.509 | OpenSSL artifact, evidence, and cleanup |
| 2 | PEM/DER | OpenSSL artifact, evidence, and cleanup |
| 3 | Private Keys | OpenSSL artifact, evidence, and cleanup |
| 4 | CSR | OpenSSL artifact, evidence, and cleanup |
| 5 | Subject/Issuer | OpenSSL artifact, evidence, and cleanup |
| 6 | SAN | OpenSSL artifact, evidence, and cleanup |
| 7 | Key Usage | OpenSSL artifact, evidence, and cleanup |
| 8 | Trust Chain | OpenSSL artifact, evidence, and cleanup |
| 9 | OpenSSL Inspection | OpenSSL artifact, evidence, and cleanup |
| 10 | Fingerprint | OpenSSL artifact, evidence, and cleanup |
5. Part A: Tasks
Part A: Tasks is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Part A: Tasks
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Part A: Tasks
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Part A: Tasks
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 1: X.509
X.509 is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for X.509
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for X.509
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for X.509
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 2: PEM/DER
PEM/DER is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for PEM/DER
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for PEM/DER
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for PEM/DER
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 3: Private Keys
Private Keys is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Private Keys
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Private Keys
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Private Keys
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 4: CSR
CSR is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for CSR
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for CSR
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for CSR
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 5: Subject/Issuer
Subject/Issuer is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Subject/Issuer
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Subject/Issuer
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Subject/Issuer
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 6: SAN
SAN is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for SAN
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for SAN
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for SAN
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 7: Key Usage
Key Usage is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Key Usage
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Key Usage
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Key Usage
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 8: Trust Chain
Trust Chain is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Trust Chain
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Trust Chain
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Trust Chain
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 9: OpenSSL Inspection
OpenSSL Inspection is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for OpenSSL Inspection
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for OpenSSL Inspection
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for OpenSSL Inspection
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Exercise 10: Fingerprint
Fingerprint is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Fingerprint
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Fingerprint
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Fingerprint
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
6. Part B: Model Solutions
Part B: Model Solutions is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Part B: Model Solutions
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Part B: Model Solutions
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Part B: Model Solutions
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
7. Rubric
Rubric is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Rubric
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Rubric
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Rubric
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
8. Cleanup
Cleanup is treated as a reviewable PKI building block. The important point is not merely that a command creates a certificate, but that purpose, extensions, trust chain, validity, key usage, and cleanup are understandable.
| Review Question | Expectation |
|---|---|
| Which entity is protected? | Host, service, client, CA, or workload is named. |
| Who is issuer and who is subject? | openssl x509 -issuer -subject is documented. |
| Which extensions are critical? | SAN, Key Usage, EKU, and Basic Constraints are checked. |
| How is trust established? | Chain file and trust anchor are explicit. |
| How is revocation handled? | CRL, OCSP, or a justified lab boundary is documented. |
openssl x509 -in certs/server.crt -noout -subject -issuer -dates
openssl x509 -in certs/server.crt -noout -text | sed -n '/X509v3 extensions:/,/Signature Algorithm/p'
openssl verify -CAfile certs/chain.pem certs/server.crt
A good solution also states whether it is a private lab PKI, an internal enterprise PKI, or publicly trusted TLS. Publicly trusted certificates have additional CA/Browser Forum Baseline Requirements; a lab CA workshop does not replace those requirements.
Practice and Review Expectation for Cleanup
- Private keys are generated only in the lab and are not committed.
- Configurations use dummy DNs and documentation domains.
- CA certificates have
CA:TRUE; end-entity certificates haveCA:FALSE. - Server certificates contain SANs; Common Name is not used as the only hostname check.
- The chain is verified with OpenSSL, not only inspected visually.
- Expiry, renewal, and revocation are documented as a lifecycle.
- Security topics describe attack surface, detection, and recovery.
Common Mistakes for Cleanup
| Failure | Cause | Diagnosis |
|---|---|---|
unable to get local issuer certificate |
chain or trust anchor missing | openssl verify -show_chain |
| hostname mismatch | SAN missing or wrong DNS name | openssl x509 -text and client test |
| key mismatch | CSR, key, and certificate mixed up | compare public-key fingerprints |
| CA cannot sign | wrong Basic Constraints or Key Usage | inspect extensions |
| revocation ineffective | CRL/OCSP not published or not checked | inspect CRL Distribution Point and client behavior |
Submission Example for Cleanup
submission/
openssl/root-openssl.cnf
openssl/intermediate-openssl.cnf
csr/server.csr
certs/server.crt
certs/chain.pem
evidence.md
cleanup.md
Evidence contains relevant OpenSSL output, not private keys.
Practice Appendix: CA Evidence for this exercise
This appendix makes the file more complete as workshop material: it connects the topic with repeatable evidence, review questions, operational decisions and security expectations. The points are not invented product features; they are real review criteria for PKI work with X.509, OpenSSL and common CA operating models.
A.1 Scope and Boundary
Every CA task starts by separating a private lab PKI, an internal enterprise PKI and publicly trusted server certificates. That distinction changes responsibilities, audit requirements, validity periods, revocation handling and which clients may trust the certificate.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.2 Trust Model
The trust model states which root is distributed as trust anchor, which intermediates may sign and which relying parties evaluate the chain. Without that model a technically valid certificate can still be operationally unclear.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.3 Root CA Handling
A root CA is a local learning artifact in this workshop. In real environments the root key is kept offline or in an HSM and controlled through ceremonies, separated roles, logs and recovery plans.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.4 Intermediate CA Operations
Intermediate CAs are the operational signing layer. Their certificates need CA:TRUE, keyCertSign, cRLSign, suitable path length constraints and a clear lifecycle and rotation plan.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.5 Registration Authority
The RA or approval function decides whether a request may be signed. For internal servers this means at least system owner, DNS name, environment, purpose, lifetime, responsible team and change window are traceable.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.6 Private Key Protection
Private keys are the most sensitive PKI asset. Repositories should contain configurations, CSRs, public certificates and evidence only. Keys are created below work/ in labs or in protected systems and are not committed.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.7 CSR Review
A CSR proves possession of a private key, but not authorization for a name. Review the subject, SANs, public key algorithm, key size, requester and intended certificate type.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.8 X.509 Extensions
Extensions are security logic, not decoration. Basic constraints, key usage, extended key usage, subject alternative name, subject key identifier and authority key identifier define what a certificate may be accepted for.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.9 SAN and Naming Model
Server identity is checked through SANs. The common name alone is not sufficient for modern hostname verification. Internal namespaces, documentation domains and production domains must remain separate.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.10 Chain Verification
A reliable check separates trust anchor and chain certificates. In practice: root through -CAfile, intermediate through -untrusted, leaf as the target certificate and hostname verification where needed.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.11 Revocation
Revocation is an operating process, not an afterthought. CRL or OCSP data must be produced, published, monitored and actually consumed by relevant clients.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.12 Expiry and Renewal
Certificates need a renewal window before they become critical. The decision covers a new serial, new signature, optionally a new key, rollout order and rollback plan.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.13 Automation
Automation through Vault PKI, cert-manager, ACME, Smallstep or SPIFFE reduces manual work, but does not replace policy. Roles, TTLs, issuers, approvers and audit remain explicit.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.14 Audit and Evidence
Evidence must show what was created, checked and approved. Good evidence contains OpenSSL output, fingerprints, serial numbers, chain verification, CRL or OCSP status and no secrets.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.15 Incident Response
For key compromise the order matters: identify affected serials, revoke, update CRL or OCSP, issue replacements, notify operators, preserve logs and document the root cause.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.16 Policy and CPS
A Certificate Policy describes what is allowed. A Certification Practice Statement describes how it is operated. Even private PKIs benefit from this separation because it stabilizes review and operations.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.17 Environment
WSL, VMs, bare metal and cloud differ in trust store behavior, file permissions, package versions and paths. Commands and evidence must therefore name the local environment.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.18 Security Hardening
Hardening covers file permissions, separated roles, short lifetimes, minimal EKUs, safe algorithms, offline root, controlled intermediates and monitoring for expiry or unusual issuance.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.19 Troubleshooting
PKI troubleshooting starts with the chain: does the private key match, is the CSR correct, was the certificate signed correctly, is the chain complete and does the client trust the root?
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.20 Team Workflow
In workshops and real teams one person should create, a second person should review and a third person should be able to reproduce the evidence. This makes PKI mistakes visible earlier.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.21 Submission Format
A solid submission contains configuration, public artifacts, evidence, failure analysis, cleanup notes and a short operational assessment. Private keys and production data are intentionally absent.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.22 Production Transfer
Moving from lab to production is not copying OpenSSL commands. It requires roles, safe key storage, monitoring, backup, revocation distribution, documentation and regularly practiced recovery.
| Review field | Expectation |
|---|---|
| Goal | The section can be answered concretely in the context of 01-fundamentals-exercises-certificate-authority-EN.md. |
| Evidence | The statement can be backed by configuration, OpenSSL output, logs, fingerprints, serial numbers or a documented decision. |
| Risk | Missing or wrong data can lead to misplaced trust, outage or non-traceable revocation. |
Concrete review questions:
- Which entity is protected or signed?
- Which file or output backs the statement?
- Which role is played by the root, intermediate, leaf or client?
- Which assumption needs additional production review?
- Which change must be traceable in audit?
- Which cleanup or protection step prevents accidental secret leaks?
A.23 Minimal Evidence Set
evidence/
context.md
openssl-version.txt
csr-review.txt
certificate-summary.txt
certificate-extensions.txt
chain-verification.txt
revocation-or-renewal-note.md
cleanup.md
This set is intentionally minimal. Advanced exercises add CA database state, CRL, OCSP response, audit log, policy excerpt, role decision and incident timeline.
A.24 Quality Criteria
- The technical scope is clear before execution.
- The chain is technically verified, not only described.
- SAN, key usage, EKU and basic constraints are explicitly evaluated.
- Revocation and renewal are covered as lifecycle concerns.
- Private keys stay outside versioned content.
- Public standards are separated correctly: RFC 5280 describes profile and processing, the CA/Browser Forum governs publicly trusted server certificates, and NIST SP 800-57 informs key management and lifetimes.