PKI Operating Modes: CA vs RA¶
Trustpoint can operate as a local Certificate Authority (CA) or as a Registration Authority (RA) forwarding requests to an external PKI. The operating mode is determined by the CA type configured for the issuing CA associated with each trust domain.
Operating Mode Decision¶
flowchart TB
DEVICE[Device enrollment request]
VALIDATE["Trustpoint / authentication, policy, approval"]
DEVICE --> VALIDATE
VALIDATE --> MODE{Issuing CA type}
MODE -->|"CA mode / LOCAL_PKCS11 / AUTOGEN"| LOCAL_SIGN[Generate certificate locally]
LOCAL_SIGN --> CRYPTO[Crypto provider API]
CRYPTO --> PKCS11[PKCS#11 provider]
PKCS11 --> HSM_TOKEN[HSM or SoftHSM token]
LOCAL_SIGN --> CERT_LOCAL[Issued certificate]
MODE -->|"RA mode / REMOTE_EST_RA / REMOTE_CMP_RA"| FORWARD[Forward CSR to external CA]
FORWARD --> EXT_EST[External EST endpoint]
FORWARD --> EXT_CMP[External CMP endpoint]
EXT_EST --> CERT_REMOTE[Issued certificate]
EXT_CMP --> CERT_REMOTE
CERT_LOCAL --> STORE["Store in PostgreSQL / update device state / trigger workflows"]
CERT_REMOTE --> STORE
STORE --> RESPOND[Return certificate to device]
Future Enhancements¶
SCEP RA mode: Integration with SCEP-enabled CAs
ACME RA mode: Integration with ACME-enabled CAs (e.g., Let’s Encrypt)
REST API RA mode: Generic REST-based CA integration
Automatic fallback: CA mode as fallback when RA mode CA unreachable
Certificate caching: Cache external CA responses for faster renewal
Multi-CA support: Issue from different CAs based on device type or policy