A comprehensive, multilingual tutorial covering Public Key Infrastructure (PKI), X.509 certificates, and cryptographic security from fundamentals to enterprise implementation.
This tutorial provides 41 comprehensive chapters across 7 major parts, covering everything from basic cryptography to advanced RHEL certificate management, troubleshooting, and security. Currently available in English, Spanish and Portuguese with a complete RHEL-first approach.
- Cryptographic Fundamentals β RSA, ECC, digital signatures, hash functions
- X.509 Certificates β Structure, extensions, validation, and trust chains
- PKI Architecture β CAs, RAs, HSMs, certificate hierarchies
- Automation β certmonger, crypto-policies, Let's Encrypt, certbot, Ansible
- Service TLS β Apache, NGINX, Postfix, OpenLDAP, PostgreSQL, MySQL, FreeIPA
- Migration β RHEL 7β8β9 upgrade procedures for certificates
- Advanced Topics β Kubernetes cert-manager, Vault, Zero Trust, IoT, VPNs (appendices)
- Troubleshooting β Common issues and solutions
-
πΊπΈ English (en_US) β 41/41 chapters β PRODUCTION READY
- Complete RHEL-first reorganization
- All corrections applied
- Production-quality content
-
πͺπΈ Spanish (es_ES) β 41/41 chapters β PRODUCTION READY
- β 100% COMPLETE! (November 18, 2025)
- All 41 chapters translated
- All 9 appendices translated
- All 3 quick guides translated
- Professional-quality translation
- Ready for Spanish-speaking students
-
π§π· Portuguese (pt_BR) β 41/41 chapters β PRODUCTION READY
- β 100% COMPLETE! (November 18, 2025)
- All 41 chapters translated
- All 9 appendices translated
- All 3 quick guides translated
- Professional-quality translation
- Ready for Portuguese-speaking students
Status: Both Spanish and Portuguese translations complete and production-ready!
- Cryptography, PKI Structure & Fundamentals
- Introduction to Certificates on RHEL
- RHEL Certificate Tools Overview
- Basic Cryptography for RHEL Admins
- X.509 Certificates on RHEL
- RHEL Trust Store Deep Dive
- Digital Signatures & Verification
- RHEL Versions & Certificate Evolution
- RHEL 7 Certificate Management
- RHEL 8 & Crypto-Policies
- RHEL 9 Modern Security
- RHEL 10 Current Features
- Cross-Version Compatibility
- Apache httpd on RHEL
- NGINX on RHEL
- Postfix Mail Server TLS
- OpenLDAP & Directory Services
- Database TLS (PostgreSQL, MySQL)
- FreeIPA Certificate Services
- Other RHEL Services
- Service Certificate Best Practices
- certmonger Mastery
- Crypto-Policies Deep Dive
- Let's Encrypt & certbot
- Ansible Automation
- Monitoring & Alerting
- Troubleshooting Methodology
- Common RHEL Certificate Errors
- Service-Specific Troubleshooting
- certmonger Troubleshooting
- Crypto-Policy Troubleshooting
- SOS Report Analysis
- Emergency Procedures
- Migration Planning & Preparation
- RHEL 7β8 Migration
- RHEL 8β9 Migration
- Migration Troubleshooting
- FIPS Mode Complete Guide
- FIPS-Compliant Certificates
- RHEL Security Hardening
- Compliance & Auditing
Choose your preferred method:
Access the deployed tutorial on GitHub Pages: https://ernaniaz.github.io/CertificatesTutorial/
Step 1: Install prerequisites
# Install Rust (includes cargo)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# Install mdBook and mdbook-mermaid
cargo install mdbook mdbook-mermaidStep 2: Build and view
cd docs/en_US
mdbook-mermaid install
mdbook serve --openAccess at http://localhost:3000
π See QUICKSTART.md for detailed instructions and learning paths.
This tutorial includes automatic GitHub Pages deployment via GitHub Actions.
Setup Steps:
- Push repository to GitHub
- Enable GitHub Pages in Settings β Pages β Source: GitHub Actions
- Push triggers automatic build and deployment
- Access at
https://ernaniaz.github.io/CertificatesTutorial/
π Full deployment guide: DEPLOYMENT.md
The tutorial can also be deployed to:
- Netlify β Drag & drop
docs/book/folder - Vercel β Connect GitHub repo
- Self-hosted β Any web server (Apache, NGINX)
- AWS S3 β Static website hosting
- Azure Static Web Apps β Deploy from GitHub
See DEPLOYMENT.md for detailed instructions.
Certificates Tutorial/
βββ README.md # This file
βββ QUICKSTART.md # Quick start guide
βββ BUILD_INSTRUCTIONS.md # Build instructions
βββ DEPLOYMENT.md # Deployment guide
βββ labs/ # Lab materials (151 scripts per language)
β
βββ docs/
βββ build-all.sh # Build script
βββ serve-all.sh # Serve script
βββ mermaid.min.js # Diagram rendering library
βββ mermaid-init.js # Diagram initialization
β
βββ en_US/ # English content
β βββ book.toml
β βββ SUMMARY.md
β βββ README.md
β βββ LEARNING-PATH.md
β βββ RHEL-VERSION-CHEAT-SHEET.md
β βββ TROUBLESHOOTING-QUICK-START.md
β βββ part-01-fundamentals/ (7 chapters)
β βββ part-02-version-specific/ (6 chapters)
β βββ part-03-services/ (8 chapters)
β βββ part-04-automation/ (5 chapters)
β βββ part-05-troubleshooting/ (7 chapters)
β βββ part-06-migration/ (4 chapters)
β βββ part-07-security/ (4 chapters)
β βββ appendices/ (9 appendices)
β
βββ es_ES/ # Spanish content (same structure)
β
βββ pt_BR/ # Portuguese content (same structure)
β
βββ book/ # Generated HTML output
βββ en_US/
βββ es_ES/
βββ pt_BR/
- Learn PKI from scratch with clear explanations and diagrams
- Follow hands-on labs to build practical skills
- Reference glossary and troubleshooting guide
- Implement TLS across various services (web, database, LDAP, SMTP)
- Set up internal PKI with FreeIPA or OpenSSL
- Automate certificate management with certbot or cert-manager
- Integrate certificate automation in CI/CD pipelines
- Deploy mTLS in Kubernetes with Istio/Linkerd
- Use Vault for dynamic certificate issuance
- Design enterprise PKI hierarchies
- Implement Zero Trust with certificate-based device identity
- Plan certificate lifecycle management at scale
- Secure APIs with client certificates
- Implement mTLS in applications (Python, Go, Node.js)
- Sign code and container images
- OpenSSL, FreeIPA, EJBCA, step-ca
- Certbot, cert-manager, certmonger
- HashiCorp Vault
- Kong API Gateway
- Docker, Kubernetes
- TLS 1.2 & 1.3
- ACME (RFC 8555)
- OCSP (RFC 6960)
- EST (RFC 7030)
- X.509 (RFC 5280)
- Certificate Transparency (RFC 6962)
- Apache HTTP Server, NGINX, HAProxy
- PostgreSQL, MySQL, Redis, MongoDB
- OpenLDAP, Postfix
- AWS IoT Core, Azure IoT Hub
- OpenVPN, strongSwan, WireGuard
- Total Chapters: 41 comprehensive chapters
- Total Parts: 7 major parts + 9 appendices
- RHEL Versions Covered: RHEL 7, 8, 9, and 10
- Code Examples: 450+ production-ready scripts (151 per language)
- Diagrams: 50+ interactive SVG diagrams per language
- Content: ~27,000 lines of professional content
- Languages: English, Spanish & Portuguese
- Part 01: RHEL Certificate Fundamentals (7 chapters)
- Part 02: Version-Specific Management (6 chapters)
- Part 03: Services & TLS Configuration (8 chapters)
- Part 04: Certificate Automation (5 chapters)
- Part 05: Troubleshooting (7 chapters) β Primary Focus
- Part 06: Migration & Upgrades (4 chapters)
- Part 07: Security & FIPS (4 chapters)
- Appendices: 9 reference sections
- Edit Markdown files in
docs/en_US/,docs/es_ES/, ordocs/pt_BR/ - Update the respective
docs/<LANGUAGE>/SUMMARY.mdif adding new chapters - Rebuild:
cd docs/<LANGUAGE> && mdbook build
To customize styling, modify the language-specific book.toml (e.g., docs/en_US/book.toml):
[output.html]
additional-css = ["custom.css"]Spanish (es_ES) and Portuguese (pt_BR) translations are available. The clean English version serves as the single source of truth for translations.
- Create new language directory (e.g.,
docs/es_ES/) - Copy structure from
docs/en_US/ - Translate all markdown files
- Create a
book.tomlandSUMMARY.mdin the new language directory - Rebuild
This is a complete, production-ready tutorial. To contribute:
- Fork the repository
- Create your feature branch
- Make your changes
- Test with
cd docs/<LANGUAGE> && mdbook build - Submit a pull request
This work is licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0).
You are free to share and adapt this material for any purpose, including commercially, as long as you give appropriate credit to the original author. See the full license text for details.
Built with:
- mdBook β Rust-based documentation builder
- mdbook-mermaid β Mermaid diagram support
- Mermaid.js β Diagram and flowchart library
Inspired by industry best practices from:
- IETF RFCs (5280, 6960, 8555, 8446)
- NIST Special Publications (800-57, 800-207, 800-52)
- CAB Forum Baseline Requirements
- Let's Encrypt, HashiCorp Vault, cert-manager communities
For issues or questions:
- Check the Troubleshooting Guide (Chapter 27)
- Consult the Glossary (Appendix H)
- Review References (Appendix I)
- System Administrators
- DevOps Engineers
- Security Professionals
- Software Developers
- IT Students
- Security Architects
Skill Level: Beginner to Advanced (progressive difficulty)
cd docs/en_US
mdbook-mermaid install
mdbook serve --openHappy Learning! π
Author: Ernani Azevedo azevedo@voipdomain.io
Repository: github.com/ernaniaz/CertificatesTutorial
License: CC BY 4.0
Total Chapters: 41 Chapters + 9 Appendices
Languages: English, Spanish and Portuguese