Standards Reference

February 21, 2026 · View on GitHub

certz is built to meet current industry standards and best practices for certificate generation.

See also: Compliance Standards · RSA vs ECDSA · Certificate Lifecycle


Key Types and Sizes

ECDSA (default):

CurveEquivalent RSANotes
P-256~3072-bit RSADefault — recommended for TLS 1.3
P-384~7680-bit RSAHigher security applications
P-521Maximum ECDSAHighest security

RSA (use --key-type RSA):

SizeSecurity levelNotes
2048Current minimumNIST SP 800-131A Rev. 2 minimum
3072DefaultRecommended beyond 2030 (NIST SP 800-57)
4096Maximum practicalLong-lived certificates

RSA Signature Padding

  • RSA-PSS (default): Modern padding scheme, recommended for new certificates
  • PKCS#1 v1.5: Wider compatibility with older systems

Hash Algorithms

certz automatically selects the hash algorithm based on key type and size:

KeyHash
RSA 2048SHA-256
RSA 3072 / ECDSA P-384SHA-384
RSA 4096 / ECDSA P-521SHA-512

Certificate Validity (CA/Browser Forum)

certz enforces CA/Browser Forum Ballot SC-081v3 validity limits:

Effective dateMaximum leaf cert validity
Until March 15, 2026398 days
March 15, 2026200 days
March 15, 2027100 days
March 15, 202947 days

Default: 90 days (future-proof and aligned with industry trends).

All validity periods use UTC time (RFC 5280 §4.1.2.5). NotBefore is set to midnight UTC of the current day.


RFC 5280 Extensions

Mandatory extensions in certz output:

ExtensionOIDPurpose
Subject Key Identifier2.5.29.14Uniquely identifies the public key
Authority Key Identifier2.5.29.35Links to the issuing CA's key
Basic Constraints2.5.29.19CA vs end-entity flag
Key Usage2.5.29.15Permitted cryptographic operations
Subject Alternative Names2.5.29.17Certificate identities

Optional extensions:

ExtensionOIDPurpose
Enhanced Key Usage2.5.29.37Purpose-specific usage (Server Auth, etc.)
CRL Distribution Points2.5.29.31Revocation via CRL
Authority Information Access1.3.6.1.5.5.7.1.1OCSP responder and CA issuer URLs

Password Security

  • Secure random passwords generated when --password is omitted
  • Passwords displayed once with a warning to store securely
  • NIST SP 800-63B compliant: 24-character random passwords with mixed character types

PFX Encryption

ModeAlgorithmUse
modern (default)AES-256-CBC, SHA-256, 100k iterationsAll modern systems
legacy3DESCompatibility with older Java and Windows versions

Standards References