SecureBlackbox 2020 Python Edition

Questions / Feedback?

SAMLIdPServer Class

Properties   Methods   Events   Configuration Settings   Errors  

The SAMLIdPServer class represents a SAML identity provider.

Syntax

class secureblackbox.SAMLIdPServer

Remarks

The identity provider in the SAML (Security Assertion Markup Language) exchange flow represents the server that issues authentication assertions for single sign-on (SSO).

Requests received by the IdP server from known service providers (SP) are processed automatically, in accordance with known SP metadata and IdP options. If the request is correct, the client is redirected to the IdP for authentication. The authentication algorithm depends on the IdP options and may be reduced to a simple IP check, X.509 certificate authentication, or login credentials check.

Property List


The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

activeTells whether the server is active and ready to process requests.
allow_idpssoSpecifies if IdP-initiated Single Sign-On (SSO) is allowed.
artifact_resolution_serviceThe location of the artifact resolution service.
attribute_query_serviceThe location of the AttributeQuery service.
auth_form_templateDefines the default authentication template (login page).
encrypt_assertionsSpecifies whether to encrypt assertions included into the IdP response.
encryption_cert_bytesReturns raw certificate data in DER format.
encryption_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
error_originIndicates the endpoint where the error originates from.
error_severityThe severity of the error that happened.
external_crypto_custom_paramsCustom parameters to be passed to the signing service (uninterpreted).
external_crypto_dataAdditional data to be included in the async state and mirrored back by the requestor.
external_crypto_external_hash_calculationSpecifies whether the message hash is to be calculated at the external endpoint.
external_crypto_hash_algorithmSpecifies the request's signature hash algorithm.
external_crypto_key_idThe ID of the pre-shared key used for DC request authentication.
external_crypto_key_secretThe pre-shared key used for DC request authentication.
external_crypto_methodSpecifies the asynchronous signing method.
external_crypto_modeSpecifies the external cryptography mode.
external_crypto_public_key_algorithmProvide public key algorithm here if the certificate is not available on the pre-signing stage.
hostSpecifies the host address of the IdP server.
idpsso_pageSpecifies the relative URL of the IdP-initiated SSO page.
idpsso_page_contentThe content of the IdP-initiated SSO page.
login_attempts_limitThe maximum number of login attempts.
metadata_urlThe IdP's metadata location.
meta_signing_cert_bytesReturns raw certificate data in DER format.
meta_signing_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
portThe listening port number.
preferred_single_logout_response_bindingSpecifies the preferred single logout response binding.
preferred_single_sign_on_response_bindingSpecifies preferred SSO response binding.
server_cert_countThe number of records in the ServerCert arrays.
server_cert_bytesReturns raw certificate data in DER format.
server_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
sign_assertionsSpecifies whether the assertions included in IdP responses should be signed.
signing_cert_bytesReturns raw certificate data in DER format.
signing_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
signing_chain_countThe number of records in the SigningChain arrays.
signing_chain_bytesReturns raw certificate data in DER format.
signing_chain_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
sign_metadataSpecifies whether the IdP's metadata should be signed.
sign_responseSpecifies whether the IdP responses should be signed.
single_logout_serviceThe URL of the single logout service.
single_logout_service_bindingsDefines single logout service bindings.
single_sign_on_serviceThe URL of the single logout service.
single_sign_on_service_bindingsDefines single sign-on service bindings.
socket_incoming_speed_limitThe maximum number of bytes to read from the socket, per second.
socket_local_addressThe local network interface to bind the socket to.
socket_local_portThe local port number to bind the socket to.
socket_outgoing_speed_limitThe maximum number of bytes to write to the socket, per second.
socket_timeoutThe maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful.
socket_use_i_pv6Enables or disables IP protocol version 6.
tls_auto_validate_certificatesSpecifies whether server-side TLS certificates should be validated automatically using internal validation rules.
tls_base_configurationSelects the base configuration for the TLS settings.
tls_ciphersuitesA list of ciphersuites separated with commas or semicolons.
tlsec_curvesDefines the elliptic curves to enable.
tls_force_resume_if_destination_changesWhether to force TLS session resumption when the destination address changes.
tls_pre_shared_identityDefines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated.
tls_pre_shared_keyContains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16.
tls_pre_shared_key_ciphersuiteDefines the ciphersuite used for PSK (Pre-Shared Key) negotiation.
tls_renegotiation_attack_prevention_modeSelects renegotiation attack prevention mechanism.
tls_revocation_checkSpecifies the kind(s) of revocation check to perform.
tlsssl_optionsVarious SSL (TLS) protocol options, set of cssloExpectShutdownMessage 0x001 Wait for the close-notify message when shutting down the connection cssloOpenSSLDTLSWorkaround 0x002 (DEPRECATED) Use a DTLS version workaround when talking to very old OpenSSL versions cssloDisableKexLengthAlignment 0x004 Do not align the client-side PMS by the RSA modulus size.
tlstls_modeSpecifies the TLS mode to use.
tls_use_extended_master_secretEnables Extended Master Secret Extension, as defined in RFC 7627.
tls_use_session_resumptionEnables or disables TLS session resumption capability.
tls_versionsTh SSL/TLS versions to enable by default.
urlSpecifies the base URL of this IdP server.
use_tlsEnables or disables the secure connection requirement.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

add_id_psso_linkAdds an SSO URL to the list.
add_userRegisters known user credentials.
add_user_with_emailRegisters known user credentials.
clear_usersClears the database of registered users.
configSets or retrieves a configuration setting.
load_sp_metadataLoads the metadata required for information exchange with the service provider.
remove_id_psso_linkRemoves the specified SSO link.
remove_spRemoves an SP from the list of trusted service providers.
remove_userUnregister user credentials.
save_metadataSaves the IdP configuration to a metadata file.
startStarts the IdP server.
stopStops the IdP server.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

on_acceptReports an incoming connection.
on_connectReports an accepted connection.
on_disconnectFires to report a disconnected client.
on_errorInformation about errors during data delivery.
on_external_signHandles remote or external signing initiated by the server protocol.
on_notificationThis event notifies the application about an underlying control flow event.
on_session_closedThis event is fired when the IdP server has closed a session.
on_session_establishedThis event is fired when a new session has been established.

Configuration Settings


The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.

AssertionsOneTimeUseAdds a one-time use condition to the assertion.
AssertionsTTLThe assertions time-to-live value.
BoundPortThe port that was bound by the server.
DefaultNameIDPolicyFormatDefault name ID policy format.
DefaultPassiveAuthnContextClassRefThe default passive authentication context class.
DualStackAllows the use of ip4 and ip6 simultaneously.
HandshakeTimeoutThe HTTPS handshake timeout.
MaxIssueInstantTimeDiffThe maximum issue-instant time delta.
NotBeforeTimeoutThe 'not-before' timeout to use.
PortRangeFromThe lower bound of allowed port scope to listen on.
PortRangeToThe higher bound of allowed port scope to listen on.
ServerNameSpecifies the server name for the created responses.
SessionTimeoutThe HTTP session timeout.
SessionTTLThe SAML session time-to-live value.
SubjectConfirmationMethodSubject confirmation method.
TempPathPath for storing temporary files.
CheckKeyIntegrityBeforeUseEnables or disable private key integrity check before use.
CookieCachingSpecifies whether a cookie cache should be used for HTTP(S) transports.
CookiesGets or sets local cookies for the class (supported for HTTPClient, RESTClient and SOAPClient only).
DefDeriveKeyIterationsSpecifies the default key derivation algorithm iteration count.
EnableClientSideSSLFFDHEEnables or disables finite field DHE key exchange support in TLS clients.
GlobalCookiesGets or sets global cookies for all the HTTP transports.
HttpUserAgentSpecifies the user agent name to be used by all HTTP clients.
LogDestinationSpecifies the debug log destination.
LogDetailsSpecifies the debug log details to dump.
LogFileSpecifies the debug log filename.
LogFiltersSpecifies the debug log filters.
LogFlushModeSpecifies the log flush mode.
LogLevelSpecifies the debug log level.
LogMaxEventCountSpecifies the maximum number of events to cache before further action is taken.
LogRotationModeSpecifies the log rotation mode.
MaxASN1BufferLengthSpecifies the maximal allowed length for ASN.1 primitive tag data.
MaxASN1TreeDepthSpecifies the maximal depth for processed ASN.1 trees.
OCSPHashAlgorithmSpecifies the hash algorithm to be used to identify certificates in OCSP requests.
UseOwnDNSResolverSpecifies whether the client classes should use own DNS resolver.
UseSharedSystemStoragesSpecifies whether the validation engine should use a global per-process copy of the system certificate stores.
UseSystemOAEPAndPSSEnforces or disables the use of system-driven RSA OAEP and PSS computations.
UseSystemRandomEnables or disables the use of the OS PRNG.

Copyright (c) 2022 /n software inc. - All rights reserved.
SecureBlackbox 2020 Python Edition - Version 20.0 [Build 8154]