Workshop wiki · English

Best Practices: Certificate Authority

PKI Design 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.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 19 chapters read
Other language versionGerman ↗Greek ↗

Best Practices: Certificate Authority

Date: July 15, 2026 This file is written as a detailed workshop and operations reference.


1. PKI Design

PKI Design 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.
bash
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 PKI Design

  • 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 have CA: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 PKI Design

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 PKI Design

text
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.

01 / 19

2. Keep Root Offline

Keep Root Offline 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.
bash
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 Keep Root Offline

  • 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 have CA: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 Keep Root Offline

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 Keep Root Offline

text
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.

02 / 19

3. Limit Intermediates

Limit Intermediates 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.
bash
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 Limit Intermediates

  • 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 have CA: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 Limit Intermediates

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 Limit Intermediates

text
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.

03 / 19

4. Key Sizes and Algorithms

Key Sizes and Algorithms 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.
bash
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 Sizes and Algorithms

  • 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 have CA: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 Sizes and Algorithms

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 Sizes and Algorithms

text
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.

04 / 19

5. Validity Periods

Validity Periods 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.
bash
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 Validity Periods

  • 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 have CA: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 Validity Periods

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 Validity Periods

text
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.

05 / 19

6. Extensions

Extensions 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.
bash
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 Extensions

  • 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 have CA: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 Extensions

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 Extensions

text
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.

06 / 19

7. SAN Instead of CN

SAN Instead of CN 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.
bash
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 Instead of CN

  • 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 have CA: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 Instead of CN

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 Instead of CN

text
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.

07 / 19

8. Serial Numbers

Serial Numbers 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.
bash
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 Serial Numbers

  • 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 have CA: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 Serial Numbers

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 Serial Numbers

text
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.

08 / 19

9. CA Database

CA Database 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.
bash
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 CA Database

  • 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 have CA: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 CA Database

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 CA Database

text
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.

09 / 19

10. Revocation

Revocation 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.
bash
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 Revocation

  • 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 have CA: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 Revocation

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 Revocation

text
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.

10 / 19

11. Trust Store Management

Trust Store Management 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.
bash
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 Store Management

  • 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 have CA: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 Store Management

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 Store Management

text
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.

11 / 19

12. Automation

Automation 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.
bash
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 Automation

  • 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 have CA: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 Automation

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 Automation

text
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.

12 / 19

13. Monitoring

Monitoring 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.
bash
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 Monitoring

  • 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 have CA: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 Monitoring

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 Monitoring

text
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.

13 / 19

14. Backup and Restore

Backup and Restore 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.
bash
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 Backup and Restore

  • 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 have CA: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 Backup and Restore

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 Backup and Restore

text
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.

14 / 19

15. Audit Evidence

Audit Evidence 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.
bash
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 Audit Evidence

  • 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 have CA: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 Audit Evidence

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 Audit Evidence

text
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.

15 / 19

16. Anti-Patterns

Anti-Patterns 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.
bash
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 Anti-Patterns

  • 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 have CA: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 Anti-Patterns

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 Anti-Patterns

text
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.

16 / 19

17. Review Checklist

Review Checklist 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.
bash
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 Review Checklist

  • 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 have CA: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 Review Checklist

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 Review Checklist

text
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.

17 / 19

Sources and Further References

  • RFC 5280: https://datatracker.ietf.org/doc/html/rfc5280
  • CA/Browser Forum Baseline Requirements: https://cabforum.org/working-groups/server/baseline-requirements/requirements/
  • CA/Browser Forum TLS BR Documents: https://cabforum.org/working-groups/server/baseline-requirements/documents/
  • NIST SP 800-57 Part 1 Rev. 5: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
  • NIST SP 800-57 Rev. 6 Initial Public Draft: https://csrc.nist.gov/pubs/sp/800/57/pt1/r6/ipd
  • OpenSSL Documentation: https://docs.openssl.org/
  • OpenSSL ca: https://docs.openssl.org/3.0/man1/openssl-ca/
  • OpenSSL x509: https://docs.openssl.org/3.0/man1/openssl-x509/
  • Let's Encrypt Documentation: https://letsencrypt.org/docs/
  • HashiCorp Vault PKI Secrets Engine: https://developer.hashicorp.com/vault/docs/secrets/pki
  • cert-manager Documentation: https://cert-manager.io/docs/
  • Smallstep Documentation: https://smallstep.com/docs/

18 / 19

Practice Appendix: CA Evidence for this reference document

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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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 best-practices-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

text
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.
19 / 19

PKI · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.