Trust Models
Why This Matters
For executives: Trust models determine who can issue certificates your organization trusts - a fundamental security architecture decision. Public CAs trust internet-wide but cost money. Private CAs trust only within organization but require infrastructure. Choosing wrong trust model creates security gaps or operational friction that's expensive to fix later.
For security leaders: Trust model selection has cascading implications: CA architecture, certificate validation, cross-organization integration, regulatory compliance, disaster recovery. This isn't just technical plumbing - it's security policy codified in infrastructure. Getting it wrong means either security vulnerabilities or business disruption.
For engineers: Understanding trust models helps you debug certificate validation failures, implement proper certificate verification, and design systems that work across organizational boundaries. When certificate validation fails, the problem is often trust model mismatch, not the certificate itself.
Common scenario: Your application needs to trust certificates from both public CAs (for third-party APIs) and internal CAs (for internal services). You need to understand trust anchors, certificate chains, and validation to make this work securely without accepting every certificate (which would be insecure).
TL;DR: Trust models define how entities establish trust in digital certificates. The three primary models are hierarchical (certificate chains to root CAs), web of trust (peer-to-peer endorsements), and bridge/hybrid (connecting different PKI hierarchies). Each model has distinct security properties, operational characteristics, and appropriate use cases.
Overview
Trust is the fundamental problem that PKI solves: how do you know a certificate claiming to represent "example.com" or "Alice Smith" is legitimate? Trust models provide the framework for answering this question by defining who can vouch for identities and how that vouching is verified.
The choice of trust model profoundly impacts PKI architecture, operations, and security. Hierarchical trust (used by the internet's TLS PKI) centralizes authority in root Certificate Authorities but provides clear accountability. Web of trust (used by PGP/GPG) distributes trust decisions to individuals but creates complex trust graphs. Bridge CAs enable federation between organizations while maintaining separate PKI hierarchies.
Understanding trust models is essential for: designing PKI systems, evaluating security properties, implementing certificate validation, troubleshooting trust issues, and selecting appropriate PKI solutions for organizational needs.
Related Pages: What Is Pki, Ca Architecture, Certificate Anatomy, X509 Standard
Key Concepts
Hierarchical Trust Model
The hierarchical trust model organizes Certificate Authorities in a tree structure with root CAs at the top. This is the dominant model for internet PKI and most enterprise implementations.
Structure
Root CA (Self-Signed)
├── Intermediate CA 1
│ ├── End-Entity Certificate A
│ ├── End-Entity Certificate B
│ └── End-Entity Certificate C
├── Intermediate CA 2
│ ├── Sub-Intermediate CA
│ │ ├── End-Entity Certificate D
│ │ └── End-Entity Certificate E
│ └── End-Entity Certificate F
└── Intermediate CA 3
└── End-Entity Certificate G
Trust Anchor Distribution
The critical decision in hierarchical trust: who do you trust as root authorities?
Browser/OS Trust Stores:
- Operating systems and browsers ship with ~150-200 root CA certificates
- These represent publicly-trusted CAs (DigiCert, Let's Encrypt, Sectigo, etc.)
- Inclusion requires rigorous auditing (WebTrust, ETSI) and policy compliance1
- Root programs (Mozilla, Microsoft, Apple, Google) maintain trust stores
Enterprise Trust Stores:
- Organizations add private root CAs to employee device trust stores
- Distributed via Group Policy, MDM, or configuration management
- Enables internal PKI for intranet sites, VPN, authentication
- Users must trust employer to manage trust store appropriately
Manual Trust Decisions:
- Users can manually trust certificate or CA
- Browser warnings for self-signed certificates
- "Proceed anyway" decisions that bypass validation
- Security risk: users condition to click through warnings
Trust Chain Validation
When encountering an end-entity certificate, validators build a chain to a trusted root:
- Start with end-entity certificate (e.g., www.example.com)
- Identify issuer from certificate's Issuer DN or Authority Key Identifier
- Locate issuer certificate using Authority Information Access extension or local cache
- Verify signature on end-entity certificate using issuer's public key
- Check issuer is CA (Basic Constraints: CA=TRUE)
- Repeat process with issuer certificate until reaching root CA
- Verify root CA is in trust store
- Validate entire chain (expiration dates, revocation status, constraints)
Success Conditions:
- Unbroken chain to trusted root
- All signatures valid
- No expired certificates
- No revoked certificates
- All constraints satisfied (name, policy, path length)
Failure Scenarios:
- Cannot build chain to trusted root (untrusted issuer)
- Signature verification failure (wrong issuer or tampered certificate)
- Expired certificate anywhere in chain
- Revoked certificate
- Constraint violation (e.g., intermediate used beyond path length limit)
Security Properties
Advantages:
- Clear accountability: Each CA responsible for subordinates
- Scalable validation: Simple chain building algorithm
- Centralized revocation: CA can revoke subordinate certificates
- Policy enforcement: Root programs can enforce requirements on CAs
- Unambiguous trust: Either trusted or not, no ambiguity
Disadvantages:
- Single point of failure: Root CA compromise is catastrophic
- Centralized control: Root programs (browsers) control who is trusted
- CA compromise impact: Malicious CA can issue certificates for any name
- Root distribution problem: Adding new roots requires OS/browser updates
- Limited accountability: CA mistakes affect all relying parties
Use Cases
Internet TLS: Hierarchical trust with browser-managed root stores
- Publicly-trusted CAs issue certificates for public websites
- Browsers validate chains to trusted roots
- CA/Browser Forum requirements ensure CA accountability
Enterprise PKI: Hierarchical trust with enterprise-managed roots
- Internal CA issues certificates for internal services
- Enterprise distributes root certificate to managed devices
- IT controls trust store, can revoke trust if needed
Code Signing: Hierarchical trust with OS-managed roots
- Code signing CAs issue certificates to software vendors
- Operating systems verify code signatures against trusted roots
- Revocation critical for responding to compromised signing keys
Web of Trust Model
The web of trust (WoT) is a decentralized trust model where individuals directly sign each other's keys, creating a network of trust relationships. Most notably used in PGP/GPG.
Structure
Unlike hierarchical model's tree, web of trust forms a graph:
Each person:
- Generates their own key pair
- Publishes public key to key servers
- Signs other people's keys after verifying their identity
- Builds local trust decisions based on signature paths
Trust Calculation
To decide if you trust a key, you evaluate paths from your key to the target key:
Direct Signature: You personally signed the key
- Highest trust (you verified identity yourself)
- No intermediaries needed
One Hop: Someone you trust signed the key
- Trust depends on how much you trust the intermediary
- Question: "Do I trust Alice's judgment about who Bob is?"
Multiple Hops: Chain of signatures connecting you to target
- Trust degrades with each hop
- Must trust each person's judgment in the chain
- Example: You → Alice → Bob → Carol
- "Do I trust Alice's judgment about Bob?"
- "Do I trust Bob's judgment about Carol?"
Trust Levels: PGP defines trust levels
- Unknown: Never evaluated this person's trustworthiness
- None: Know this person, don't trust their key-signing judgment
- Marginal: Some trust in their key-signing judgment
- Full: Complete trust in their key-signing judgment
- Ultimate: Your own key (implicitly trusted)
Validity Calculation: How valid is a key?
- Fully valid: Either you signed it, or sufficient trusted signatures exist
- Marginally valid: Some but insufficient trust
- Invalid: No trust path exists or negative trust
Typical calculation: One fully-trusted signature OR three marginally-trusted signatures = fully valid key
Security Properties
Advantages:
- No central authority: No single point of failure or control
- Personal trust decisions: You decide who to trust, not imposed by CA
- Resilient: Network continues functioning even if nodes compromised
- Flexible trust: Can express varying levels of trust
- No commercial gatekeepers: Anyone can participate equally
Disadvantages:
- Complex trust decisions: Users must understand trust calculations
- Scalability problems: Doesn't scale to internet-wide deployment
- Inconsistent trust: Different people reach different conclusions about same key
- Key discovery: Finding trust paths is computationally expensive
- Weak links: One untrustworthy introducer can compromise security
- Social engineering: Attackers can manipulate trust relationships
- Revocation difficulties: No authority to revoke compromised keys globally
Use Cases
Email Encryption (PGP/GPG):
- Personal email security
- Cypherpunk and privacy communities
- Environments where institutional trust is undesirable
- Situations requiring personal verification
Not Suitable For:
- Public website HTTPS (too complex for average users)
- Enterprise PKI (no centralized management)
- Legally binding signatures (no clear accountability)
- Large-scale deployments requiring consistent trust decisions
Bridge CA Model
Bridge CAs connect separate hierarchical PKI systems, enabling trust across organizational boundaries without requiring all parties to trust the same root.
Structure
Org A Root CA ←→ Bridge CA ←→ Org B Root CA
↓ ↓
Org A Issuing CA Org B Issuing CA
↓ ↓
Alice's Cert Bob's Cert
The Bridge CA:
- Has its own root certificate
- Cross-certifies with participating organization root CAs
- Each org trusts the bridge, which trusts other orgs
- Creates transitive trust relationships
Cross-Certification
Organizations issue certificates to each other:
Bilateral Cross-Certification:
This enables:
- Org A users to validate Org B certificates (following chain through Org A → Org B)
- Org B users to validate Org A certificates (following chain through Org B → Org A)
Bridge-Based Cross-Certification:
Org A signs Bridge CA certificate
Bridge CA signs Org A CA certificate
Org B signs Bridge CA certificate
Bridge CA signs Org B CA certificate
This enables:
- Org A users to validate Org B certificates through bridge
- Path: Org B cert → Org B CA → Bridge CA → Org A CA → Org A root (in Org A trust store)
Name Constraints
Critical security control in bridge/cross-certification scenarios:
This ensures Org A CA can only issue certificates for its own domains, even though it's trusted by other organizations via the bridge.
Without Name Constraints: Compromised Org A could issue certificates for Org B domains With Name Constraints: Org A certificates for Org B domains fail validation
Security Properties
Advantages:
- Federated trust: Organizations maintain independent PKI
- Scalable cross-org trust: N organizations need N connections to bridge, not N² bilateral connections
- Policy isolation: Each organization controls own issuance policies
- Reduced trust requirements: Don't need to fully trust all organizations, just the bridge
Disadvantages:
- Complex validation: Longer certificate chains, more complex path building
- Bridge compromise impact: Compromised bridge affects all participants
- Name constraint implementation: Validators must properly enforce constraints
- Operational complexity: Managing cross-certificates adds operational burden
- Performance: Longer chains increase validation time
Use Cases
Federal PKI Bridge:
- Connects U.S. federal agencies
- Agencies maintain separate PKI hierarchies
- Bridge enables cross-agency certificate validation
- Supports government-wide authentication and encryption
Industry Consortia:
- Healthcare organizations sharing patient records
- Financial institutions in payment networks
- Supply chain partners with B2B integrations
- Academic research collaborations
Enterprise Mergers:
- Acquired companies maintain separate PKI
- Bridge enables integration while preserving independence
- Allows gradual migration to unified PKI if desired
Hybrid and Emerging Models
DANE (DNS-Based Authentication of Named Entities)
Uses DNSSEC to publish certificate associations, creating alternative trust model:
Traditional: Trust CA to vouch for domain certificate DANE: Domain owner publishes certificate hash in DNSSEC-signed DNS record
Advantages:
- Domain owner controls trust assertion
- No CA required (or CA is secondary validation)
- Reduces CA compromise impact
Disadvantages:
- Requires DNSSEC deployment (limited adoption)
- Complexity of managing DNSSEC
- Limited client support
Specified In: RFC 66982 (TLSA records)
Certificate Transparency
Not a complete trust model but augments hierarchical trust with transparency:
Concept: All certificates logged to public, append-only, cryptographically-verifiable logs before issuance
Trust Enhancement:
- Certificate misissuance detectable by domain owners
- Monitors can detect rogue certificates
- Creates accountability for CAs
- Doesn't prevent misissuance but makes it discoverable
Specified In: RFC 69623
Browser Requirements: Chrome and Safari require CT for publicly-trusted certificates
Blockchain-Based PKI
Experimental approaches using blockchain for certificate management:
Concepts:
- Certificates or certificate hashes stored on blockchain
- Decentralized, tamper-evident certificate storage
- No central CA authority required
- Certificate status verifiable via blockchain queries
Challenges:
- Scalability (blockchain throughput limitations)
- Privacy (all certificates potentially public)
- Key recovery (lost private keys irrecoverable)
- Governance (who decides protocol changes)
- Limited deployment
Status: Research and pilot projects, not production-ready for general use
Practical Guidance
Choosing a Trust Model
Decision Framework
| Factor | Hierarchical | Web of Trust | Bridge CA |
|---|---|---|---|
| Scale | Internet-scale | Small communities | Multi-org federation |
| User Expertise | Minimal | High | Minimal (within org) |
| Central Authority | Yes (CAs) | No | Yes (bridge) |
| Consistent Trust | Yes | No | Yes (within policy) |
| Accountability | Clear | Distributed | Per organization |
| Use Case | Public websites, enterprise | Personal email | B2B, government |
Implementation Scenarios
Scenario 1: Public Website
- Choice: Hierarchical trust
- Reasoning: Users expect browser to handle trust decisions
- Implementation: Obtain certificate from publicly-trusted CA
- Trust distribution: Already handled by browsers
Scenario 2: Enterprise Internal Services
- Choice: Hierarchical trust
- Reasoning: Centralized management, consistent policy enforcement
- Implementation: Deploy internal CA, distribute root to managed devices
- Trust distribution: Group Policy, MDM, configuration management
Scenario 3: Personal Email Encryption
- Choice: Web of trust (PGP/GPG)
- Reasoning: No central authority needed, personal relationships
- Implementation: Generate PGP key, sign keys at key-signing parties
- Trust distribution: Key servers, personal verification
Scenario 4: B2B Integration
- Choice: Bridge CA or bilateral cross-certification
- Reasoning: Separate organizations, independent PKI systems
- Implementation: Establish bridge or cross-certify CAs
- Trust distribution: Organizations distribute trust anchors to their users
Managing Trust Stores
Enterprise Trust Store Management
Adding Internal Root CA:
Windows (Group Policy):
# Import root certificate to trusted root store
certutil -addstore -f "Root" internal-root-ca.cer
# Verify installation
certutil -store Root | findstr "Internal"
Linux (Ubuntu/Debian):
# Copy root certificate
sudo cp internal-root-ca.crt /usr/local/share/ca-certificates/
# Update trust store
sudo update-ca-certificates
# Verify
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt test-cert.pem
macOS:
# Import to system keychain
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain internal-root-ca.crt
# Verify
security find-certificate -a -c "Internal Root CA" /Library/Keychains/System.keychain
Trust Store Auditing
List Trusted Roots:
# Windows
certutil -store Root
# Linux
awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt
# macOS
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | openssl x509 -noout -subject
Identify Risky Roots:
- Government-operated CAs (potential interception)
- CAs with history of misissuance
- Unknown or untrusted organizations
- Expired root certificates (should be removed)
Implementing Certificate Path Validation
Basic Validation Algorithm
def validate_certificate_chain(end_entity_cert, trust_store):
"""
Simplified certificate chain validation
"""
# Build chain from end-entity to root
chain = build_certificate_chain(end_entity_cert)
if not chain:
return False, "Cannot build chain to trusted root"
# Verify root is in trust store
root_cert = chain[-1]
if root_cert not in trust_store:
return False, "Root certificate not trusted"
# Verify each certificate in chain
for i in range(len(chain) - 1):
cert = chain[i]
issuer = chain[i + 1]
# Check signature
if not verify_signature(cert, issuer.public_key):
return False, f"Invalid signature on {cert.subject}"
# Check validity dates
if not is_currently_valid(cert):
return False, f"Certificate expired or not yet valid: {cert.subject}"
# Check Basic Constraints
if i < len(chain) - 1: # Intermediate CAs
if not is_ca_certificate(cert):
return False, f"Intermediate must be CA: {cert.subject}"
# Check revocation status
if is_revoked(cert):
return False, f"Certificate revoked: {cert.subject}"
return True, "Valid certificate chain"
Name Constraint Validation
def validate_name_constraints(cert, issuer):
"""
Validate certificate subject against issuer name constraints
"""
constraints = issuer.get_name_constraints()
if not constraints:
return True # No constraints to check
permitted = constraints.get('permitted_subtrees', [])
excluded = constraints.get('excluded_subtrees', [])
subject_names = get_all_names(cert) # CN, SAN entries
for name in subject_names:
# Check excluded constraints (deny list)
for excluded_subtree in excluded:
if name_matches_subtree(name, excluded_subtree):
return False # Name in excluded subtree
# Check permitted constraints (allow list)
if permitted:
allowed = False
for permitted_subtree in permitted:
if name_matches_subtree(name, permitted_subtree):
allowed = True
break
if not allowed:
return False # Name not in any permitted subtree
return True
Troubleshooting Trust Issues
Common Problems and Solutions
Problem: "Certificate not trusted" error
# Check if chain can be built to trusted root
openssl verify -CAfile ca-bundle.pem server-cert.pem
# If missing intermediate, add it
cat server-cert.pem intermediate.pem > full-chain.pem
openssl verify -CAfile root.pem full-chain.pem
Problem: Name constraint violation
# Check name constraints in CA certificate
openssl x509 -in ca-cert.pem -noout -text | grep -A 20 "Name Constraints"
# Verify subject is within permitted subtree
openssl x509 -in end-entity.pem -noout -subject
Problem: Self-signed certificate warning
# Options:
1. Obtain certificate from publicly-trusted CA
2. Add self-signed cert to client trust store (security risk)
3. Use bridge/cross-certification with trusted CA
Common Pitfalls
- Trusting unknown CAs: Adding untrusted root certificates to trust store
- Why it happens: Trying to eliminate certificate warnings; lack of understanding of risk
- How to avoid: Only trust well-known CAs or your own internal CA after proper verification
-
How to fix: Audit trust store, remove unknown roots, obtain properly trusted certificates
-
Ignoring name constraints: Cross-certifying without implementing name constraints
- Why it happens: Complexity; validators not properly checking constraints
- How to avoid: Always include name constraints in cross-certificates; test constraint enforcement
-
How to fix: Revoke cross-certificates without constraints; reissue with constraints; verify validation
-
Trusting expired root certificates: Keeping expired roots in trust store
- Why it happens: Automated updates disabled; fear of breaking systems
- How to avoid: Enable automatic trust store updates; monitor root expiration dates
-
How to fix: Remove expired roots; update certificates issued by expired CAs
-
Web of trust complexity: Expecting web of trust to work for non-expert users
- Why it happens: Overestimating user understanding of trust calculations
- How to avoid: Use hierarchical trust for general users; reserve web of trust for expert communities
-
How to fix: Implement simpler trust model; provide better user interface; educate users
-
Bridge CA without monitoring: Deploying bridge without monitoring cross-org certificate issuance
- Why it happens: Treating bridge as "set and forget" infrastructure
- How to avoid: Implement Certificate Transparency-style monitoring across bridge
- How to fix: Deploy monitoring; audit certificate issuance patterns; investigate anomalies
Security Considerations
Trust Model Attack Surfaces
Hierarchical Trust Attacks
CA Compromise: Attacker compromises CA, issues rogue certificates
- Impact: Can issue trusted certificates for any domain
- Mitigation: HSM key protection, strict CA operations, Certificate Transparency, CAA records
Root Store Manipulation: Attacker adds malicious root to trust store
- Impact: All certificates from malicious CA become trusted
- Mitigation: Protect trust store with OS security; require admin privileges; monitor changes
Certificate Misissuance: CA mistakenly issues certificate to wrong party
- Impact: Attacker has valid certificate for victim domain
- Mitigation: Certificate Transparency, domain validation improvements, CAA records
Web of Trust Attacks
Sybil Attacks: Attacker creates many fake identities to game trust calculations
- Impact: Malicious keys appear trusted through multiple trust paths
- Mitigation: In-person key signing; require stronger identification; adjust trust thresholds
Social Engineering: Manipulating individuals to sign attacker's key - Impact: Attacker's key gains trust through legitimate signatures - Mitigation: Key signing policies; identity verification; training
Key Substitution: Attacker tricks user into importing wrong public key - Impact: User thinks they have victim's key but actually has attacker's - Mitigation: Out-of-band key fingerprint verification; key signing parties
Bridge CA Attacks
Bridge Compromise: Attacker compromises bridge CA
- Impact: Can issue cross-certificates, potentially enabling rogue certificate issuance
- Mitigation: Strong bridge CA security; name constraints; monitoring
Name Constraint Bypass: Validator doesn't properly enforce name constraints
- Impact: Cross-certified CA can issue certificates outside permitted namespace
- Mitigation: Comprehensive constraint validation testing; regular security assessments
Trust Transitivity
Trust is transitive in hierarchical models:
- If you trust Root CA
- And Root CA trusts Intermediate CA
- Then you implicitly trust Intermediate CA
Security Implication: Your security depends on weakest CA in chain, not just the root you explicitly trust.
Mitigation Strategies:
- Certificate Transparency (detect misissuance)
- CAA records (restrict which CAs can issue for your domain)
- HPKP/Certificate Pinning (restrict which certificates accepted)
- Regular monitoring of issued certificates
Real-World Examples
Case Study: Mozilla Root Program
Mozilla operates one of the major root programs determining which CAs browsers trust.
Requirements4:
- Annual WebTrust or ETSI audit
- Publicly disclosed Certificate Practice Statement
- Compliance with CA/Browser Forum Baseline Requirements
- Timely incident reporting
- Regular communication with Mozilla
Impact: Inclusion in Mozilla root program makes CA trusted by Firefox users worldwide. Removal (e.g., DigiNotar, CNNIC) eliminates trust globally.
Key Takeaway: Hierarchical trust model's security depends on root program governance. Strong root programs protect users.
Case Study: PGP Web of Trust Scalability
PGP's web of trust faces scalability challenges as user base grows:
Problem: Finding trust paths becomes computationally expensive
- Average path length increases with network size
- Trust calculation complexity grows
- Key server synchronization delays
User Impact: Many users default to accepting keys without verification, undermining security model.
Key Takeaway: Web of trust works for small, interconnected communities but doesn't scale to internet-wide deployment.
Case Study: U.S. Federal PKI Bridge
The U.S. Federal Bridge CA connects over 100 federal and state PKI systems:
Architecture: Bridge CA with cross-certification to agency CAs Benefit: Federal employee at Agency A can validate certificates from Agency B Challenge: Complex certification paths (sometimes 5+ certificates)
Success Factors:
- Strong name constraints on all cross-certificates
- Centralized policy management
- Regular auditing of cross-certification relationships
Key Takeaway: Bridge CAs enable large-scale federation but require rigorous operational governance.
Case Study: DigiNotar CA Compromise Impact on Trust
DigiNotar compromise (2011) demonstrated how CA compromise affects hierarchical trust:
Event: Attackers compromised DigiNotar CA, issued rogue certificates Response: All major browsers removed DigiNotar from trust stores Impact: All legitimate DigiNotar certificates stopped working immediately
Lessons:
- Hierarchical trust enables rapid response to CA compromise
- CA compromise has existential consequences for CA business
- Certificate Transparency would have enabled faster detection
Further Reading
Essential Resources
- RFC 5280 Section 6 - Certification Path Validation - Detailed validation algorithm
- RFC 4158 - Certification Path Building - Building certification paths
- RFC 5937 - Using Trust Anchor Repositories - Managing trust anchors
- Mozilla CA Certificate Policy - Root program requirements
Advanced Topics
- Ca Architecture - Designing CA hierarchies
- X509 Standard - Certificate format and extensions
- Certificate Anatomy - Understanding certificate structure
- Chain Validation Errors - Troubleshooting validation failures
References
Change History
| Date | Version | Changes | Reason |
|---|---|---|---|
| 2025-11-09 | 1.0 | Initial creation | Foundational trust model documentation |
Quality Checks:
- [x] All claims cited from authoritative sources
- [x] Cross-references validated
- [x] Practical guidance included
- [x] Examples are current and relevant
- [x] Security considerations addressed
-
CA/Browser Forum. "Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates," Version 2.0.0, November 2023. Cabforum - Baseline Requirements Documents ↩
-
Hoffman, P. and Schlyter, J. "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA." RFC 6698, August 2012. Rfc-editor - Rfc6698 ↩
-
Laurie, B., et al. "Certificate Transparency." RFC 6962, June 2013. Rfc-editor - Rfc6962 ↩
-
Mozilla. "Mozilla CA Certificate Policy." Version 2.8, October 2023. Mozilla - About ↩