Table of Contents

Class TlsServerCertificateOptions

Namespace
MailFathom.Infrastructure.Certificates
Assembly
MailFathom.Infrastructure.dll

Configures where the TLS identity MailFathom presents to a client comes from.

public sealed class TlsServerCertificateOptions
Inheritance
TlsServerCertificateOptions
Inherited Members

Remarks

Two provisioning shapes exist because both occur: a certificate authority hands an operator a PEM chain beside a separate PEM key, and a platform or an export tool hands them one PKCS#12 bundle holding both. Exactly one of the two is configured; supplying both leaves which material states the identity undecidable, so it is rejected rather than resolved by a precedence rule nobody would remember.

Every part binds to ConfiguredSecret, including the certificate chain, which is public material. The block is the reference mechanism rather than a claim about secrecy: binding the chain to it is what lets an operator point at a file, a systemd credential, or an environment variable with the same grammar the private key uses, and what makes ConfiguredSecretDiscovery prove at startup that each part is reachable. The consequence that matters is the one the default interpretation mode enforces: under ReferenceOnly a private key or a bundle password written straight into configuration fails startup instead of being used.

Properties

Bundle

Gets or sets the PKCS#12/PFX bundle holding the leaf, its private key, and any intermediates, whose nested password block opens it when it is protected.

CertificateChain

Gets or sets the PEM certificate material, whose first certificate is the leaf and whose remaining certificates are the chain presented after it.

IsConfigured

Gets whether any material is configured at all.

PrivateKey

Gets or sets the PEM private key belonging to the leaf, whose nested password block decrypts it when it is encrypted.

Methods

FindConfigurationErrors(string)

Finds everything an operator must fix before this material can be loaded.