SecureBlackbox 2020 Python Edition

Questions / Feedback?

SAMLReader Class

Properties   Methods   Events   Configuration Settings   Errors  

The SAMLReader class offers SAML message processing functionality.

Syntax

class secureblackbox.SAMLReader

Remarks

SAMLReader provides means for processing of SAML protocol messages and extraction of their elements. Together with SAMLWriter it provides fine-grained access to the contents of SAML messages. You may consider using these classes if functionality offered by SAMLIdPServer and SAMLSPServer is too high a level for your usage scenario.

SAMLReader and SAMLWriter are independent of SAML server controls, and focus on scenarios that require lower-level access to SAML messaging.

SAMLReader can process the following types of SAML messages:

  • AssertionIDRequest
  • SubjectQuery
  • AuthnQuery
  • AttributeQuery
  • AuthzDecisionQuery
  • AuthnRequest
  • ManageNameIDRequest
  • LogoutRequest
  • NameIDMappingRequest
  • ArtifactResolve
  • Response

Pass your SAML message to open (or open_stream) method. Upon processing, class will populate the elements of the message in the properties, such as input_type or issuer. More complex elements, such as assertions, require pinning with pin_assertion method to be populated in the object properties.

The snippet below shows how to use SAMLReader to process a message of the AuthnRequest type created by the matching SAMLReader example (or by any compatible SAML endpoint). The input SAML message has the following look:

  <samlp:AuthnRequest 
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="53GhrzQ5f89fu214ANAR" Version="2.0" 
    IssueInstant="2021-12-15T10:39:31Z" Destination="http://destination-url.com" IsPassive="false" 
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
    AssertionConsumerServiceURL="https://assertion-consumer-url.com" AttributeConsumingServiceIndex="1" 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://issuer-url.com</saml:Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
      <ds:SignedInfo>
        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
        <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
        <ds:Reference URI="#53GhrzQ5f89fu214ANAR">
          <ds:Transforms>
            <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
            <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
          </ds:Transforms>
          <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>+xhhgXtwYN0/r9h7WAwg=</ds:DigestValue>
        </ds:Reference>
      </ds:SignedInfo>
      <ds:SignatureValue>
        jfYeIq/z8D1tJZYbVqDMoqKpdrfGMj8/zI7gbUsJbECAr00cN34md2QG0mo4cOx7pny+5
        Tht7tUzqENHqcZdmlOcZc2JcJqokVxIcLEluFiWKlNjpexkXFQKzOC1peRfTZm8SQTqtP
        Cz8IknLUc6Scfml29PHmks1PxjJDteGb/+FggsZRTGZC3a05nvH3ayvHukPeHuHssx5dX
        nj0quT8salR6fdx6lAJo/AnDHzcfBNyxAMn+ebk5VOOgVD1L3PayvXib/maj8aVI2I5UT
        o4vmfybTWKzeS8DX9We7UV+4Xowwe647t1A912xLVub/e23A18Yf1V0PXC87kttTkA==
      </ds:SignatureValue>
      <ds:KeyInfo>
        <ds:X509Data><ds:X509Certificate>
          MIIEKDCCAxCgAwIBAgIFYA3A3gIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCVVMxC
          zAJBgNVBAgTAk5DMRQwEgYDVQQHEwtDaGFwZWwgSGlsbDEiMCAGCSqGSIb3DQEJARMTc2
          FsZXNAbnNvZnR3YXJlLmNvbTEoMCYGA1UEAxMfU2VjdXJlQmxhY2tib3ggRGVtbyBDZXJ
          0aWZpY2F0ZTAeFw0xNzA5MDEwMDAwMDBaFw0yMjA5MDEwMDAwMDBaMH4xCzAJBgNVBAYT
          AlVTMQswCQYDVQQIEwJOQzEUMBIGA1UEBxMLQ2hhcGVsIEhpbGwxIjAgBgkqhkiG9w0BC
          QETE3NhbGVzQG5zb2Z0d2FyZS5jb20xKDAmBgNVBAMTH1NlY3VyZUJsYWNrYm94IERlbW
          8gQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfAVIcq9o
          eoIbw56LsPjxWsX3YGkqasBQzgQymhfcDZeSvFKFis8iqArGLTUUWOaImO5t2UmjIa+4n
          YP39hb9Z1r0CMy53p83oYbbZZ7qMeji0pMAufJHqKCN8t2HNWf2HE8S9UOU7R/UHdrSAN
          JitBKV9lSG9f450yWoGNwt35ZCsOp0zqtCgvkEvteGsz01R5DDjOccs3QNu25K/Sf27KP
          CYabS6A1ehYNY/G32qoKNJhu3DN4bWje57gBWi9WSfQ3tZUOV5q2ozaNJA78Wl4fXC6RB
          CaBh0GOwXeyZoH13LJdn+lqlCSMz024ImG4yFQEENbWvE9Elku8RYTn73AgMBAAGjgaww
          gakwHwYDVR0jBBgwFoAUmt/L7GI1SH36Sp8EUBxTwuzSgqMwHQYDVR0OBBYEFJrfy+xiN
          Uh9+kqfBFAcU8Ls0oKjMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwDuADBFBg
          NVHSUEPjA8BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwY
          BBQUHAwgGCCsGAQUFBwMJMA0GCSqGSIb3DQEBCwUAA4IBAQBovHBbMsW/k/5iuLQQqsYS
          ng5X2iy1W+5BRb1hz0MGnHGLqJWy1ty5+bTo6g/zvT65dXIPIexLkInEenYSy75Lthr6a
          ewUcvwfl1TYXjWlMD5Nm5pM9As71+XsGSdYGXoKohbEzbT6RDByjwR+yxtatqko7e1Eg6
          InNJRTRt7al/63FSPEgSCqOX6asDVDNZ83db0dOcoeaPEiDz3liE3+tYHtKXj5/qwTtYd
          aqBZxdJfuCKZveEFe1DO3/ayDvIvG9Eme+rEjntErF+Cw9a8ukesvDuT49cRE9oTs3O7f
          6LUbhCv5zJN+dTFr75NSdWdp4yvn3nK3i2udeMnTWK0U
        </ds:X509Certificate></ds:X509Data>
      </ds:KeyInfo>
    </ds:Signature>
    <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"/>
    <saml:Conditions NotBefore="2021-12-15T10:39:31Z" NotOnOrAfter="2021-12-15T11:09:31Z"><saml:OneTimeUse/></saml:Conditions>
  </samlp:AuthnRequest>
You can process this message and access its properties with the following code:
  Samlreader reader = new Samlreader();

  reader.ValidateSignatures = true;
  reader.Open(req);

  Log("SAML document loaded. The message is of the " + reader.InputTypeString + " type, and was issued by " + reader.Issuer + " at " + reader.IssueInstant + ".");

  if (reader.InputType == SamlreaderInputTypes.cstyAuthnRequest)
  {
      Log("AuthnRequest.ConsumerServiceURL: " + reader.AuthnRequest.AssertionConsumerServiceURL);
      Log("AuthnRequest.ProtocolBinding: " + reader.AuthnRequest.ProtocolBinding);
      Log("AuthnRequest.Conditions.NotBefore: " + reader.AuthnRequest.ConditionsNotBefore);
      Log("AuthnRequest.Conditions.NotAfter: " + reader.AuthnRequest.ConditionsNotOnOrAfter);
  }

  if (reader.Signed) 
  {
      Log("The message was signed by " + reader.SigningCertificate.SubjectRDN);
      Log("Signature validity: " + reader.SignatureValidationResult.ToString());
  }

Property List


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

artifact_endpoint_indexAn accessor to the EndpointIndex entry of the artifact.
artifact_message_handleAn accessor to the MessageHandle property of the artifact.
artifact_remaining_artifactReturns the contents of the artifact.
artifact_source_idAn accessor to the SourceID property of the artifact.
artifact_type_codeThe TypeCode property of the artifact.
artifact_uriAn accessor to the URI property of the artifact.
artifact_resolve_queryReturns the content of the ArtifactResolve query.
assertion_countReturns the number of assertions in the SAML message.
assertion_id_request_referencesContains the References entry of the SAML assertion ID request.
attr_query_attr_countThe number of records in the AttrQueryAttr arrays.
attr_query_attr_friendly_nameSpecifies the friendly name of the attribute Use this property to access or set the friendly name of a SAML attribute (e.
attr_query_attr_nameSpecifies the name of the attribute.
attr_query_attr_name_formatIndicates the format used to reference the attribute.
attr_query_attr_statement_indexContains the index of the statement the attribute corresponds to.
attr_query_attr_valuesContains a list of attribute values.
authn_query_comparisonSpecifies the authentication context comparison method.
authn_query_context_class_refsSpecifies the context class reference.
authn_query_ref_typeSpecifies the context reference type.
authn_query_session_indexSpecifies the index of the session to the authentication entity.
authn_request_assertion_consumer_service_indexSpecifies the assertion consumer service index.
authn_request_assertion_consumer_service_urlSpecifies the assertion consumer service URL.
authn_request_attribute_consuming_service_indexSpecifies the attribute consuming service index.
authn_request_conditions_not_beforeSpecifies the NotBefore condition of the request.
authn_request_conditions_not_on_or_afterProvides access to the NotOnOrAfter condition of the request.
authn_request_context_class_refsProvides access to the authentication context class references.
authn_request_context_comparisonSpecifies the AuthnContext comparison method.
authn_request_context_ref_typeSpecifies the context reference type.
authn_request_force_authnCorresponds to the ForceAuthn parameter of the request.
authn_request_is_passiveMaps to the IsPassive parameter of the request.
authn_request_name_id_policy_allow_createMatches the AllowCreate attribute of NameIDPolicy element of the request.
authn_request_name_id_policy_formatMatches to the Format attribute of the NameIDPolicy element of the request.
authn_request_name_id_policy_sp_name_qualifierMatches to the SP name qualifier attribute of the request.
authn_request_name_id_policy_use_allow_createControls inclusion of AllowCreate attribute in the request.
authn_request_protocol_bindingSpecifies the protocol binding to be requested in the authentication request.
authn_request_provider_nameSpecifies the name of the requestor.
authn_request_scoping_idp_list_get_completeMatches the GetComplete element of the IDPList entry of the Scoping object.
authn_request_scoping_proxy_countThe maximum number of proxies on the way between the requestor and the provider.
authn_request_scoping_requester_i_dsA collection of requestor IDs on whose behalf the request is being sent.
authn_request_use_force_authnControls inclusion of ForceAuthn attribute in the request.
authn_request_use_is_passiveControls inclusion of IsPassive attribute in the request.
authn_request_condition_countThe number of records in the AuthnRequestCondition arrays.
authn_request_condition_audience_listAn accessor to the Audience list parameter of an audience restriction condition.
authn_request_condition_condition_typeSpecifies a type of the condition object.
authn_request_condition_proxy_restriction_countAn accessor to the proxy restriction count element of the condition.
authn_request_scoping_idp_countThe number of records in the AuthnRequestScopingIDP arrays.
authn_request_scoping_idp_locContains the value of the Loc attribute.
authn_request_scoping_idp_nameContains the name of the IdP provider.
authn_request_scoping_idp_provider_idContains the provider ID.
authz_decision_query_actionsSpecifies the list of actions included in the query.
authz_decision_query_resourceMatches the Resource element of the query.
bindingReturns the SAML message binding type.
blocked_cert_countThe number of records in the BlockedCert arrays.
blocked_cert_bytesReturns raw certificate data in DER format.
blocked_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
chain_validation_detailsThe details of a certificate chain validation outcome.
chain_validation_resultThe general outcome of a certificate chain validation routine. Use ChainValidationDetails to get information about the reasons that contributed to the validation result.
consentReturns the Consent parameter of the SAML message.
decryption_certificate_bytesReturns raw certificate data in DER format.
decryption_certificate_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
destinationReturns the Destination parameter of the SAML message.
idReturns the ID of the processed message.
ignore_chain_validation_errorsMakes the class tolerant to chain validation errors.
input_typeReturns the type of the processed message.
input_type_stringReturns the type of the processed message, as an original string.
in_response_toReturns the in-response-to parameter of the message.
issue_instantReturns the issue time of the message.
issuerReturns the issuer of the message.
known_cert_countThe number of records in the KnownCert arrays.
known_cert_bytesReturns raw certificate data in DER format.
known_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
known_crl_countThe number of records in the KnownCRL arrays.
known_crl_bytesReturns raw CRL data in DER format.
known_crl_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
known_ocsp_countThe number of records in the KnownOCSP arrays.
known_ocsp_bytesBuffer containing raw OCSP response data.
known_ocsp_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
logout_request_name_idContains the value of the NameID parameter.
logout_request_not_on_or_afterContains the value of the NotOnOrAfter parameter.
logout_request_reasonContains the value of the Reason parameter.
logout_request_session_indexesContains the list of session indices.
manage_name_id_request_name_idContains the value of the NameID parameter of the request.
manage_name_id_request_new_encrypted_idContains the value of the NewEncryptedID parameter of the request.
manage_name_id_request_new_idContains the value of the NewID parameter.
manage_name_id_request_terminateContains the value of the Terminate parameter of the request.
name_id_mapping_request_name_idAn accessor to the NameID parameter of the request.
name_id_mapping_request_name_id_policy_allow_createContains the value of AllowCreate parameter of the NameIDPolicy object.
name_id_mapping_request_name_id_policy_formatSpecifies the format of the NameIDPolicy element.
name_id_mapping_request_name_id_policy_sp_name_qualifierContains the SPNameQualifier parameter of the NameIDPolicy element.
name_id_mapping_request_name_id_policy_use_allow_createControls inclusion of UseAllow modifier in the NameIDPolicy object.
offline_modeSwitches the class to the offline mode.
pinned_assertion_attr_countThe number of records in the PinnedAssertionAttr arrays.
pinned_assertion_attr_friendly_nameSpecifies the friendly name of the attribute Use this property to access or set the friendly name of a SAML attribute (e.
pinned_assertion_attr_nameSpecifies the name of the attribute.
pinned_assertion_attr_name_formatIndicates the format used to reference the attribute.
pinned_assertion_attr_statement_indexContains the index of the statement the attribute corresponds to.
pinned_assertion_attr_valuesContains a list of attribute values.
pinned_assertion_condition_countThe number of records in the PinnedAssertionCondition arrays.
pinned_assertion_condition_audience_listAn accessor to the Audience list parameter of an audience restriction condition.
pinned_assertion_condition_condition_typeSpecifies a type of the condition object.
pinned_assertion_condition_proxy_restriction_countAn accessor to the proxy restriction count element of the condition.
pinned_assertion_info_advice_assertion_countContains the number of advice assertions.
pinned_assertion_info_assertion_typeSpecifies the type of the assertion.
pinned_assertion_info_chain_validation_detailsThe details of a certificate chain validation outcome.
pinned_assertion_info_chain_validation_resultThe outcome of a certificate chain validation routine.
pinned_assertion_info_conditions_not_beforeRepresents the Conditions.
pinned_assertion_info_conditions_not_on_or_afterRepresents the Conditions.
pinned_assertion_info_encrypted_contentRepresents the encrypted assertion content.
pinned_assertion_info_idRepresents the ID of the assertion.
pinned_assertion_info_id_refRepresents an ID reference value.
pinned_assertion_info_issue_instantContains the assertion issuance time stamp.
pinned_assertion_info_signature_validation_resultThe outcome of the cryptographic signature validation.
pinned_assertion_info_signedSpecifies whether the assertion is signed.
pinned_assertion_info_uri_refRepresents an URI reference value.
pinned_assertion_info_validation_logContains the signing certificate's chain validation log.
pinned_assertion_info_versionSpecifies the SAML protocol version used.
pinned_assertion_issuerReturns the pinned assertion issuer.
pinned_assertion_statement_countThe number of records in the PinnedAssertionStatement arrays.
pinned_assertion_statement_attributesContains a list of statement attribute names.
pinned_assertion_statement_authn_context_authenticating_authoritiesContains the list of authenticating authorities.
pinned_assertion_statement_authn_context_choiceSpecifies the authentication context choice variant.
pinned_assertion_statement_authn_context_class_refIndicates the authentication contexts class reference.
pinned_assertion_statement_authn_context_declSpecifies the authentication contexts declaration.
pinned_assertion_statement_authn_context_decl_refSpecifies the authentication contexts declaration reference.
pinned_assertion_statement_authn_instantSpecifies the authentication event timestamp.
pinned_assertion_statement_authn_session_indexContains the authentication session index.
pinned_assertion_statement_authn_session_not_on_or_afterMaps to the SessionNotOnOrAfter parameter of the authentication statement.
pinned_assertion_statement_authn_subject_locality_addressSpecifies the authentication subjects address.
pinned_assertion_statement_authn_subject_locality_dns_nameMaps to the authentication subjects DNS name parameter.
pinned_assertion_statement_authz_actionsProvides access to the list of actions of the authorization statement.
pinned_assertion_statement_authz_decisionSpecifies the authorization decision.
pinned_assertion_statement_authz_decision_evidenceManages the authorization decision statement evidence parameter.
pinned_assertion_statement_authz_decision_resourceSpecifies the authorization decision statement resource parameter.
pinned_assertion_statement_statement_typeSpecifies the assertion statement type.
pinned_assertion_subject_confirmation_countThe number of records in the PinnedAssertionSubjectConfirmation arrays.
pinned_assertion_subject_confirmation_data_addressContains the address enabled for presenting assertions.
pinned_assertion_subject_confirmation_data_in_response_toThe ID of the SAML message in response to which the assertion is issued.
pinned_assertion_subject_confirmation_data_not_beforeTime moment before which the subject cannot be confirmed.
pinned_assertion_subject_confirmation_data_not_on_or_afterLimits the time until which the subject can be confirmed.
pinned_assertion_subject_confirmation_data_recipientThe URI of the entity or the location of the resource to which the assertion should be presented.
pinned_assertion_subject_confirmation_data_typeThe type of data contained in the confirmation.
pinned_assertion_subject_confirmation_idThe identifier of the entity which can satisfy the subject confirmation requirements.
pinned_assertion_subject_confirmation_methodSpecifies the mechanism to be used to confirm the subject.
pinned_assertion_subject_idReturns the pinned assertion subject.
post_binding_bodyContains the form body.
post_binding_form_templateContains the XHTML form template returned by the service provider.
post_binding_modeSpecifies whether binding is applied on a server, or on a client side.
post_binding_relay_stateContains the value of the RelayState parameter of POST binding mechanism.
post_binding_urlContains the URL of POST binding mechanism.
profileSpecifies a pre-defined profile to apply when creating the signature.
proxy_addressThe IP address of the proxy server.
proxy_authenticationThe authentication type used by the proxy server.
proxy_passwordThe password to authenticate to the proxy server.
proxy_portThe port on the proxy server to connect to.
proxy_proxy_typeThe type of the proxy server.
proxy_request_headersContains HTTP request headers for WebTunnel and HTTP proxy.
proxy_response_bodyContains the HTTP or HTTPS (WebTunnel) proxy response body.
proxy_response_headersContains response headers received from an HTTP or HTTPS (WebTunnel) proxy server.
proxy_use_i_pv6Specifies whether IPv6 should be used when connecting through the proxy.
proxy_use_proxyEnables or disables proxy-driven connection.
proxy_usernameSpecifies the username credential for proxy authentication.
redirect_binding_encodingSpecifies the message encoding.
redirect_binding_force_signEnforces a signature over all outgoing messages.
redirect_binding_relay_stateContains the RelayState parameter of the binding.
redirect_binding_signSpecifies whether to sign generated messages.
redirect_binding_signature_algorithmContains the signature algorithm.
redirect_binding_urlContains the URL of the request query.
redirect_binding_verify_signaturesInstructs the class whether to verify incoming signatures.
redirect_binding_cert_bytesReturns raw certificate data in DER format.
redirect_binding_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
response_name_idContains the NameID parameter of a NameIDMapping response.
response_optional_elementAn optional message element to be returned with the response.
response_response_typeContains the type of the response.
response_status_code_sub_valueThe value of the nested StatusCode.
response_status_code_valueContains the status code value.
response_status_detailContains additional information on the status of the request.
response_status_messageContains a status message (optional).
signature_validation_resultContains the signature validation result.
signedReturns true it the message is signed.
signing_cert_bytesReturns raw certificate data in DER format.
signing_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
signing_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
signing_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
signing_cert_curveSpecifies the elliptic curve of the EC public key.
signing_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
signing_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
signing_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
signing_cert_hash_algorithmSpecifies the hash algorithm to be used in the operations on the certificate (such as key signing) SB_HASH_ALGORITHM_SHA1 SHA1 SB_HASH_ALGORITHM_SHA224 SHA224 SB_HASH_ALGORITHM_SHA256 SHA256 SB_HASH_ALGORITHM_SHA384 SHA384 SB_HASH_ALGORITHM_SHA512 SHA512 SB_HASH_ALGORITHM_MD2 MD2 SB_HASH_ALGORITHM_MD4 MD4 SB_HASH_ALGORITHM_MD5 MD5 SB_HASH_ALGORITHM_RIPEMD160 RIPEMD160 SB_HASH_ALGORITHM_CRC32 CRC32 SB_HASH_ALGORITHM_SSL3 SSL3 SB_HASH_ALGORITHM_GOST_R3411_1994 GOST1994 SB_HASH_ALGORITHM_WHIRLPOOL WHIRLPOOL SB_HASH_ALGORITHM_POLY1305 POLY1305 SB_HASH_ALGORITHM_SHA3_224 SHA3_224 SB_HASH_ALGORITHM_SHA3_256 SHA3_256 SB_HASH_ALGORITHM_SHA3_384 SHA3_384 SB_HASH_ALGORITHM_SHA3_512 SHA3_512 SB_HASH_ALGORITHM_BLAKE2S_128 BLAKE2S_128 SB_HASH_ALGORITHM_BLAKE2S_160 BLAKE2S_160 SB_HASH_ALGORITHM_BLAKE2S_224 BLAKE2S_224 SB_HASH_ALGORITHM_BLAKE2S_256 BLAKE2S_256 SB_HASH_ALGORITHM_BLAKE2B_160 BLAKE2B_160 SB_HASH_ALGORITHM_BLAKE2B_256 BLAKE2B_256 SB_HASH_ALGORITHM_BLAKE2B_384 BLAKE2B_384 SB_HASH_ALGORITHM_BLAKE2B_512 BLAKE2B_512 SB_HASH_ALGORITHM_SHAKE_128 SHAKE_128 SB_HASH_ALGORITHM_SHAKE_256 SHAKE_256 SB_HASH_ALGORITHM_SHAKE_128_LEN SHAKE_128_LEN SB_HASH_ALGORITHM_SHAKE_256_LEN SHAKE_256_LEN .
signing_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
signing_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
signing_cert_key_algorithmSpecifies the public key algorithm of this certificate.
signing_cert_key_bitsReturns the length of the public key.
signing_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
signing_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
signing_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
signing_cert_ocsp_locationsLocations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA.
signing_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
signing_cert_public_key_bytesContains the certificate's public key in DER format.
signing_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
signing_cert_serial_numberReturns the certificate's serial number.
signing_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
signing_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
signing_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
signing_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
signing_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
signing_cert_valid_toThe time point at which the certificate expires, in UTC.
socket_dns_modeSelects the DNS resolver to use: the class's (secure) built-in one, or the one provided by the system.
socket_dns_portSpecifies the port number to be used for sending queries to the DNS server.
socket_dns_query_timeoutThe timeout (in milliseconds) for each DNS query.
socket_dns_serversThe addresses of DNS servers to use for address resolution, separated by commas or semicolons.
socket_dns_total_timeoutThe timeout (in milliseconds) for the whole resolution process.
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.
subject_confirmation_countThe number of records in the SubjectConfirmation arrays.
subject_confirmation_data_addressContains the address enabled for presenting assertions.
subject_confirmation_data_in_response_toThe ID of the SAML message in response to which the assertion is issued.
subject_confirmation_data_not_beforeTime moment before which the subject cannot be confirmed.
subject_confirmation_data_not_on_or_afterLimits the time until which the subject can be confirmed.
subject_confirmation_data_recipientThe URI of the entity or the location of the resource to which the assertion should be presented.
subject_confirmation_data_typeThe type of data contained in the confirmation.
subject_confirmation_idThe identifier of the entity which can satisfy the subject confirmation requirements.
subject_confirmation_methodSpecifies the mechanism to be used to confirm the subject.
subject_idReturns the subject of the message.
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.
trusted_cert_countThe number of records in the TrustedCert arrays.
trusted_cert_bytesReturns raw certificate data in DER format.
trusted_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
use_bindingEnables or disables automated binding processing.
validate_signaturesEnables or disables automated signature validation.
validation_logContains the complete log of the certificate validation routine.
validation_momentThe time point at which chain validity is to be established.
versionReturns SAML content version string.

Method List


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

compare_i_dsCompares two SAML IDs.
configSets or retrieves a configuration setting.
get_id_propExtracts a specific property from a SAML ID.
openOpens a SAML entity.
open_bytesOpens a SAML entity.
open_fileOpens a SAML entity.
pin_advice_assertionPins advice assertion by propagating it in PinnedAssertionXXX properties.
pin_assertionPins assertion by propagating it in PinnedAssertionXXX properties.

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_errorFires to report an error condition.
on_notificationThis event notifies the application about an underlying control flow event.
on_signature_foundSignifies the start of signature validation.
on_signature_validatedReports the signature validation result.

Configuration Settings


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

IgnoreSystemTrustWhether trusted Windows Certificate Stores should be treated as trusted.
TolerateMinorChainIssuesWhether to tolerate minor chain issues.
UseMicrosoftCTLEnables or disables automatic use of Microsoft online certificate trust list.
UseSystemCertificatesEnables or disables the use of the system certificates.
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]