Interface CredentialIssuerBackend
Implementations of this interface are responsible for constructing the framework-specific credential content required by a concrete credential format, such as X.509 certificates or equivalent encoded artifacts in another framework. This includes assembling the to-be-signed structure, applying framework-specific extensions or metadata, and returning the resulting encoded credential object model expected by the PKI runtime.
This contract deliberately does not require implementations to own or expose private key material directly. Actual signing is expected to be delegated through runtime wiring, such as a signing service, crypto provider, HSM, or other key-management boundary selected by the enclosing PKI deployment.
Architectural role
- PKI runtime wiring injects the concrete backend into authoritative core
services without publishing it through
CredentialFramework. - PKI core services prepare opaque proof-gated issuance authorities and call this backend to obtain framework-specific credentials.
- The backend is a privileged post-gate component whose method signatures cannot accept raw issuance commands.
- This backend performs format-specific credential assembly, not CA policy orchestration, lifecycle control, or long-term persistence.
Implementation expectations
- Implementations should validate that the supplied authority contains the framework-specific material required for issuance.
- Implementations should fail explicitly when mandatory issuer material, subject material, or framework-specific overrides are missing or invalid.
- Implementations may assume that higher layers have already selected the correct framework and issuer context, but they must still protect themselves against structurally inconsistent commands.
Security considerations
- Implementations must never expose private key material through returned values, thrown exceptions, or logs.
- Returned credentials should contain only the public credential artifacts appropriate for the target framework.
- Inputs such as issuer wiring attributes, CSR payloads, and subject public key encodings may be operationally sensitive and must not be logged unsafely.
Thread-safety
Thread-safety is implementation-specific. Implementations intended for shared runtime use should document their concurrency guarantees explicitly.
-
Method Summary
Modifier and TypeMethodDescriptionissueEndEntity(ValidatedLeafRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, BigInteger serial) Issues an end-entity credential.default CredentialBundleissueEndEntity(ValidatedLeafRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, BigInteger serial, CancellationSignal cancellation) Issues a leaf while carrying originating cancellation to signing.issueIntermediateCertificate(ValidatedCaRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef) Issues a CA credential for an existing CA subject entity.default CredentialissueIntermediateCertificate(ValidatedCaRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, CancellationSignal cancellation) Issues an intermediate while carrying originating cancellation to signing.
-
Method Details
-
issueEndEntity
CredentialBundle issueEndEntity(ValidatedLeafRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, BigInteger serial) Issues an end-entity credential.This operation produces a credential for a non-CA subject, typically from a cryptographically verified and profile-authorized request carried by the opaque
ValidatedLeafRequest. The returnedCredentialBundlemay contain the issued leaf credential together with any additional runtime bundle material defined by the concrete framework, such as chain elements or accompanying metadata.The parameter type has no public constructor or factory. Only the core issuance gate can create it after mandatory proof-of-possession verification.
No generic requester attributes or raw CSR extension bytes cross this boundary. Issuer material and the positive serial are supplied independently by the trusted core issuance service.
- Parameters:
request- gate-produced validated request; must not benullissuerCertificate- trusted encoded issuer certificateissuerKeyRef- trusted issuer signing-key referenceserial- trusted positive issuer-controlled serial- Returns:
- issued credential bundle, never
null - Throws:
IllegalArgumentException- ifcommandisnullor structurally invalid for the concrete framework implementationRuntimeException- if credential assembly, delegated signing, or other framework-specific issuance processing fails
-
issueEndEntity
default CredentialBundle issueEndEntity(ValidatedLeafRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, BigInteger serial, CancellationSignal cancellation) Issues a leaf while carrying originating cancellation to signing.- Parameters:
request- gate-produced validated requestissuerCertificate- trusted encoded issuer certificateissuerKeyRef- trusted issuer signing-key referenceserial- positive issuer-controlled serialcancellation- originating cooperative cancellation signal- Returns:
- issued credential bundle
-
issueIntermediateCertificate
Credential issueIntermediateCertificate(ValidatedCaRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef) Issues a CA credential for an existing CA subject entity.This operation is intended for issuance scenarios in which the CA subject already exists in the PKI domain model and requires a new CA credential, such as intermediate CA issuance, CA rollover support, or cross-signing. The exact certificate profile and extension semantics remain framework- specific.
The supplied
ValidatedCaRequestcan be constructed only after the core CA proof and active-profile gates have bound the exact public key, subject, profile version, policy, validity, and serial.- Parameters:
request- gate-produced validated CA request; must not benullissuerCertificate- trusted encoded issuer certificateissuerKeyRef- trusted issuer signing-key reference- Returns:
- issued CA credential, never
null - Throws:
IllegalArgumentException- ifcommandisnullor structurally invalid for the concrete framework implementationRuntimeException- if credential assembly, delegated signing, or other framework-specific issuance processing fails
-
issueIntermediateCertificate
default Credential issueIntermediateCertificate(ValidatedCaRequest request, DurableContentReference issuerCertificate, KeyRef issuerKeyRef, CancellationSignal cancellation) Issues an intermediate while carrying originating cancellation to signing.- Parameters:
request- gate-produced validated CA requestissuerCertificate- trusted encoded issuer certificateissuerKeyRef- trusted issuer signing-key referencecancellation- originating cooperative cancellation signal- Returns:
- issued CA credential
-