9#ifndef SQUID_SRC_SECURITY_SERVEROPTIONS_H
10#define SQUID_SRC_SECURITY_SERVEROPTIONS_H
16#if HAVE_OPENSSL_X509_H
17#include <openssl/x509.h>
45 void parse(
const char *)
override;
48 void dumpCfg(std::ostream &,
const char *pfx)
const override;
TLS certificate and private key details from squid.conf.
TLS squid.conf settings for a remote server peer.
struct Security::PeerOptions::flags_ flags
TLS squid.conf settings for a listening port.
size_t dynamicCertMemCacheSize
max size of generated certificates memory cache (4 MB default)
void createSigningContexts(const AnyP::PortCfg &)
Security::ContextPointer createBlankContext() const override
generate an unset security context object
void clear() override
reset the configuration details to default
void updateContextEecdh(Security::ContextPointer &)
update the context with DH, EDH, EECDH settings
SBuf dhParamsFile
Diffi-Helman ciphers parameter file.
X509_NAME_STACK_Pointer clientCaStack
CA certificate(s) to use when verifying client certificates.
ServerOptions(const ServerOptions &o)
bool createStaticServerContext(AnyP::PortCfg &)
SBuf eecdhCurve
Elliptic curve for ephemeral EC-based DH key exchanges.
Security::KeyData untrustedSigningCa
x509 certificate and key for signing untrusted generated certificates
void parse(const char *) override
parse a TLS squid.conf option
bool generateHostCertificates
dynamically make host cert
void dumpCfg(std::ostream &, const char *pfx) const override
output squid.conf syntax with 'pfx' prefix on parameters for the stored settings
SBuf staticContextSessionId
"session id context" for staticContext
void initServerContexts(AnyP::PortCfg &)
sk_dtor_wrapper(sk_X509_NAME, STACK_OF(X509_NAME) *, X509_NAME_free)
SBuf dh
Diffi-Helman cipher config.
ServerOptions(ServerOptions &&o)
void syncCaFiles()
sync the various sources of CA files to be loaded
Security::DhePointer parsedDhParams
DH parameters for temporary/ephemeral DH key exchanges.
bool updateContextConfig(Security::ContextPointer &)
update the given TLS security context using squid.conf settings
ServerOptions & operator=(const ServerOptions &)
std::unique_ptr< STACK_OF(X509_NAME), Security::ServerOptions::sk_X509_NAME_free_wrapper > X509_NAME_STACK_Pointer
Security::ContextPointer staticContext
TLS context to use for HTTPS accelerator or static SSL-Bump.
void updateContextSessionId(Security::ContextPointer &)
update the context with a configured session ID (if any)
~ServerOptions() override=default
SBuf clientCaFile
name of file to load client CAs from
Security::KeyData signingCa
x509 certificate and key for signing generated certificates
void updateContextClientCa(Security::ContextPointer &)
update the context with CA details used to verify client certificates
void defaultTo(bool beSet)
enables or disables the option; updating to 'implicit' state
Network/connection security abstraction layer.
std::shared_ptr< SSL_CTX > ContextPointer
STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx)
YesNoNone tlsDefaultCa
whether to use the system default Trusted CA when verifying the remote end certificate