#[non_exhaustive]pub struct EntitySetting {Show 35 fields
pub entity_id: Option<String>,
pub request_signature_algorithm: String,
pub data_encryption_algorithm: String,
pub key_encryption_algorithm: String,
pub message_signing_order: MessageSignatureOrder,
pub allow_create: bool,
pub is_assertion_encrypted: bool,
pub allow_insecure_software_rsa_key_transport_decryption: bool,
pub relay_state: String,
pub authn_requests_signed: bool,
pub want_assertions_signed: bool,
pub validate_audience: bool,
pub want_message_signed: bool,
pub want_authn_requests_signed: bool,
pub want_logout_request_signed: bool,
pub want_logout_response_signed: bool,
pub name_id_format: Vec<String>,
pub private_key: Option<String>,
pub private_key_pass: Option<String>,
pub signing_cert: Option<String>,
pub encrypt_cert: Option<String>,
pub enc_private_key: Option<String>,
pub enc_private_key_pass: Option<String>,
pub clock_drifts: (i64, i64),
pub redirect_inflate_max_bytes: usize,
pub xml_limits: XmlLimits,
pub tag_prefix_protocol: String,
pub tag_prefix_assertion: String,
pub tag_prefix_encrypted_assertion: String,
pub login_response_template: Option<LoginResponseTemplate>,
pub login_request_template: Option<String>,
pub logout_request_template: Option<String>,
pub logout_response_template: Option<String>,
pub signature_config: Option<SignatureConfig>,
pub transformation_algorithms: Vec<String>,
}Expand description
Compatibility export for older crate-root imports. Use Saml for new integrations; advanced raw callers should import raw::EntitySetting.
Runtime configuration for an entity (keys, algorithms, flags).
Use EntitySetting::default and tweak the fields you need.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.entity_id: Option<String>Override entity ID (otherwise taken from metadata).
request_signature_algorithm: StringSignature algorithm URI for outgoing signatures.
data_encryption_algorithm: StringData encryption algorithm URI.
key_encryption_algorithm: StringKey encryption algorithm URI.
message_signing_order: MessageSignatureOrderSign-then-encrypt vs encrypt-then-sign.
allow_create: boolAllowCreate for the NameIDPolicy.
is_assertion_encrypted: boolWhether assertions are encrypted.
allow_insecure_software_rsa_key_transport_decryption: boolAllow XML-Enc RSA key-transport decryption with the bundled software RSA backend.
This is disabled by default because bergshamra currently reaches the
RustCrypto rsa crate, which is affected by RUSTSEC-2023-0071 when an
attacker can observe timing. Prefer an external/HSM decryptor once one is
exposed through the public API; enable this only as an explicit
compatibility exception for deployments that accept that risk.
relay_state: StringDefault RelayState.
authn_requests_signed: boolSP: signs its AuthnRequests.
want_assertions_signed: boolSP: requires signed assertions.
validate_audience: boolSP: reject a <Response> whose <Audience> is not this entity (default true).
want_message_signed: boolSP: requires signed messages.
want_authn_requests_signed: boolIdP: requires signed AuthnRequests.
want_logout_request_signed: boolRequires signed LogoutRequest (default true).
want_logout_response_signed: boolRequires signed LogoutResponse.
name_id_format: Vec<String>Supported NameID formats.
private_key: Option<String>Signing private key (PEM).
private_key_pass: Option<String>Passphrase for private_key.
signing_cert: Option<String>Signing certificate (PEM/base64).
encrypt_cert: Option<String>Encryption certificate (PEM/base64).
enc_private_key: Option<String>Decryption private key (PEM).
enc_private_key_pass: Option<String>Passphrase for enc_private_key.
clock_drifts: (i64, i64)Clock drift tolerance (not_before_ms, not_on_or_after_ms).
redirect_inflate_max_bytes: usizeMaximum decoded compressed and inflated raw-DEFLATE bytes accepted for HTTP-Redirect input.
SAML does not define this limit; the default is a conservative resource-exhaustion guard for unauthenticated Redirect messages.
xml_limits: XmlLimitsXML parser resource limits for inbound messages and metadata parsing.
tag_prefix_protocol: StringIdP: protocol tag prefix for generated IdP messages (default samlp).
tag_prefix_assertion: StringIdP: assertion tag prefix for generated IdP messages (default saml).
tag_prefix_encrypted_assertion: StringIdP: tag prefix for the <EncryptedAssertion> element (default saml).
login_response_template: Option<LoginResponseTemplate>IdP: login <Response> template + attribute configuration.
login_request_template: Option<String>SP: custom <AuthnRequest> template (None uses the default).
logout_request_template: Option<String>Custom <LogoutRequest> template (None uses the default).
logout_response_template: Option<String>Custom <LogoutResponse> template (None uses the default).
signature_config: Option<SignatureConfig>Custom embedded-signature placement/prefix (None uses the default).
transformation_algorithms: Vec<String>XML-DSig transforms applied to signed references (default enveloped-signature + exclusive C14N).
Trait Implementations§
Source§impl Clone for EntitySetting
impl Clone for EntitySetting
Source§fn clone(&self) -> EntitySetting
fn clone(&self) -> EntitySetting
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more