SecureBlackbox 2020 Node.js Edition

Questions / Feedback?

SAMLWriter Class

Properties   Methods   Events   Configuration Settings   Errors  

The SAMLWriter class offers SAML message generation functions.

Syntax

secureblackbox.samlwriter()

Remarks

SAMLWriter provides means of serialization of SAML entities into valid SAML protocol messages. Together with SAMLReader, this class provides fine-grained access to the composition of SAML requests, responses, assertions, and statements. You can use it as part of your SAML client or SAML server implementation for creating individual SAML entities.

SAMLReader and SAMLWriter are independent of SAML server controls that are also included in SecureBlackbox, and are aimed at scenarios that require lower-level access to SAML functionality than that provided by the server controls.

SAMLWriter can create the following kinds of SAML messages:

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

Please find below a quick-and-dirty example of the use of SAMLWriter class for creating a signed AuthnRequest message:

  Samlwriter writer = new Samlwriter();

  // configuring general message properties
  writer.Destination = "http://destination-url.com";
  writer.IssueInstant = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
  writer.Issuer = "Value=https://issuer-url.com;Format=urn:oasis:names:tc:SAML:2.0:nameid-format:entity;IDType=Issuer";

  // configuring general AuthnRequest properties
  writer.AuthnRequest.IsPassive = false;
  writer.AuthnRequest.UseIsPassive = true;
  writer.AuthnRequest.ForceAuthn = true;
  writer.AuthnRequest.ProtocolBinding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST";
  writer.AuthnRequest.AssertionConsumerServiceURL = "https://assertion-consumer-url.com";
  writer.AuthnRequest.AttributeConsumingServiceIndex = 1;
  writer.AuthnRequest.NameIDPolicyAllowCreate = false;
  writer.AuthnRequest.NameIDPolicyFormat = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent";
  writer.AuthnRequest.ConditionsNotBefore = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
  writer.AuthnRequest.ConditionsNotOnOrAfter = DateTime.UtcNow.AddMinutes(30).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");

  // adjusting request conditions if required
  SAMLAssertionCondition cond = new SAMLAssertionCondition();
  cond.ConditionType = SAMLConditionTypes.csctOneTimeUse;
  writer.AuthnRequestConditions.Add(cond);

  // configuring signing properties
  Certificate certificate = new Certificate("C:\\Certs\\samlCert.pfx", "password");
  writer.Sign = true;
  writer.SigningCertificate = certificate;

  // creating the SAML entity of the required type
  writer.CreateNew((int)SamlwriterOutputTypes.cstyAuthnRequest);

  // adjusting low-level signature parameters
  writer.Config("SigDigestMethod=http://www.w3.org/2001/04/xmlenc#sha256");
  writer.Config("SigMethod=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
            
  // signing the request and serializing it to XML
  string request = writer.Save();
The above code produces the following AuthnRequest:
  <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>

Property List


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

AddXMLHeaderControls the inclusion of an XML header in the message.
ArtifactEndpointIndexAn accessor to the EndpointIndex entry of the artifact.
ArtifactMessageHandleAn accessor to the MessageHandle property of the artifact.
ArtifactRemainingArtifactReturns the contents of the artifact.
ArtifactSourceIDAn accessor to the SourceID property of the artifact.
ArtifactTypeCodeThe TypeCode property of the artifact.
ArtifactURIAn accessor to the URI property of the artifact.
ArtifactResolveQueryContains the artifact resolve query.
AssertionAttrCountThe number of records in the AssertionAttr arrays.
AssertionAttrFriendlyNameSpecifies the friendly name of the attribute Use this property to access or set the friendly name of a SAML attribute (e.
AssertionAttrNameSpecifies the name of the attribute.
AssertionAttrNameFormatIndicates the format used to reference the attribute.
AssertionAttrStatementIndexContains the index of the statement the attribute corresponds to.
AssertionAttrValuesContains a list of attribute values.
AssertionConditionCountThe number of records in the AssertionCondition arrays.
AssertionConditionAudienceListAn accessor to the Audience list parameter of an audience restriction condition.
AssertionConditionConditionTypeSpecifies a type of the condition object.
AssertionConditionProxyRestrictionCountAn accessor to the proxy restriction count element of the condition.
AssertionCountReturns the number of assertions in the message.
AssertionIDRequestReferencesContains the References entry of the SAML assertion ID request.
AssertionInfoAdviceAssertionCountContains the number of advice assertions.
AssertionInfoAssertionTypeSpecifies the type of the assertion.
AssertionInfoChainValidationDetailsThe details of a certificate chain validation outcome.
AssertionInfoChainValidationResultThe outcome of a certificate chain validation routine.
AssertionInfoConditionsNotBeforeRepresents the Conditions.
AssertionInfoConditionsNotOnOrAfterRepresents the Conditions.
AssertionInfoEncryptedContentRepresents the encrypted assertion content.
AssertionInfoIDRepresents the ID of the assertion.
AssertionInfoIDRefRepresents an ID reference value.
AssertionInfoIssueInstantContains the assertion issuance time stamp.
AssertionInfoSignatureValidationResultThe outcome of the cryptographic signature validation.
AssertionInfoSignedSpecifies whether the assertion is signed.
AssertionInfoURIRefRepresents an URI reference value.
AssertionInfoValidationLogContains the signing certificate's chain validation log.
AssertionInfoVersionSpecifies the SAML protocol version used.
AssertionIssuerSpecifies the assertion issuer.
AssertionStatementCountThe number of records in the AssertionStatement arrays.
AssertionStatementAttributesContains a list of statement attribute names.
AssertionStatementAuthnContextAuthenticatingAuthoritiesContains the list of authenticating authorities.
AssertionStatementAuthnContextChoiceSpecifies the authentication context choice variant.
AssertionStatementAuthnContextClassRefIndicates the authentication contexts class reference.
AssertionStatementAuthnContextDeclSpecifies the authentication contexts declaration.
AssertionStatementAuthnContextDeclRefSpecifies the authentication contexts declaration reference.
AssertionStatementAuthnInstantSpecifies the authentication event timestamp.
AssertionStatementAuthnSessionIndexContains the authentication session index.
AssertionStatementAuthnSessionNotOnOrAfterMaps to the SessionNotOnOrAfter parameter of the authentication statement.
AssertionStatementAuthnSubjectLocalityAddressSpecifies the authentication subjects address.
AssertionStatementAuthnSubjectLocalityDNSNameMaps to the authentication subjects DNS name parameter.
AssertionStatementAuthzActionsProvides access to the list of actions of the authorization statement.
AssertionStatementAuthzDecisionSpecifies the authorization decision.
AssertionStatementAuthzDecisionEvidenceManages the authorization decision statement evidence parameter.
AssertionStatementAuthzDecisionResourceSpecifies the authorization decision statement resource parameter.
AssertionStatementStatementTypeSpecifies the assertion statement type.
AssertionSubjectConfirmationCountThe number of records in the AssertionSubjectConfirmation arrays.
AssertionSubjectConfirmationDataAddressContains the address enabled for presenting assertions.
AssertionSubjectConfirmationDataInResponseToThe ID of the SAML message in response to which the assertion is issued.
AssertionSubjectConfirmationDataNotBeforeTime moment before which the subject cannot be confirmed.
AssertionSubjectConfirmationDataNotOnOrAfterLimits the time until which the subject can be confirmed.
AssertionSubjectConfirmationDataRecipientThe URI of the entity or the location of the resource to which the assertion should be presented.
AssertionSubjectConfirmationDataTypeThe type of data contained in the confirmation.
AssertionSubjectConfirmationIDThe identifier of the entity which can satisfy the subject confirmation requirements.
AssertionSubjectConfirmationMethodSpecifies the mechanism to be used to confirm the subject.
AssertionSubjectIDSpecifies the assertion subject ID.
AttrQueryAttrCountThe number of records in the AttrQueryAttr arrays.
AttrQueryAttrFriendlyNameSpecifies the friendly name of the attribute Use this property to access or set the friendly name of a SAML attribute (e.
AttrQueryAttrNameSpecifies the name of the attribute.
AttrQueryAttrNameFormatIndicates the format used to reference the attribute.
AttrQueryAttrStatementIndexContains the index of the statement the attribute corresponds to.
AttrQueryAttrValuesContains a list of attribute values.
AuthnQueryComparisonSpecifies the authentication context comparison method.
AuthnQueryContextClassRefsSpecifies the context class reference.
AuthnQueryRefTypeSpecifies the context reference type.
AuthnQuerySessionIndexSpecifies the index of the session to the authentication entity.
AuthnRequestAssertionConsumerServiceIndexSpecifies the assertion consumer service index.
AuthnRequestAssertionConsumerServiceURLSpecifies the assertion consumer service URL.
AuthnRequestAttributeConsumingServiceIndexSpecifies the attribute consuming service index.
AuthnRequestConditionsNotBeforeSpecifies the NotBefore condition of the request.
AuthnRequestConditionsNotOnOrAfterProvides access to the NotOnOrAfter condition of the request.
AuthnRequestContextClassRefsProvides access to the authentication context class references.
AuthnRequestContextComparisonSpecifies the AuthnContext comparison method.
AuthnRequestContextRefTypeSpecifies the context reference type.
AuthnRequestForceAuthnCorresponds to the ForceAuthn parameter of the request.
AuthnRequestIsPassiveMaps to the IsPassive parameter of the request.
AuthnRequestNameIDPolicyAllowCreateMatches the AllowCreate attribute of NameIDPolicy element of the request.
AuthnRequestNameIDPolicyFormatMatches to the Format attribute of the NameIDPolicy element of the request.
AuthnRequestNameIDPolicySPNameQualifierMatches to the SP name qualifier attribute of the request.
AuthnRequestNameIDPolicyUseAllowCreateControls inclusion of AllowCreate attribute in the request.
AuthnRequestProtocolBindingSpecifies the protocol binding to be requested in the authentication request.
AuthnRequestProviderNameSpecifies the name of the requestor.
AuthnRequestScopingIDPListGetCompleteMatches the GetComplete element of the IDPList entry of the Scoping object.
AuthnRequestScopingProxyCountThe maximum number of proxies on the way between the requestor and the provider.
AuthnRequestScopingRequesterIDsA collection of requestor IDs on whose behalf the request is being sent.
AuthnRequestUseForceAuthnControls inclusion of ForceAuthn attribute in the request.
AuthnRequestUseIsPassiveControls inclusion of IsPassive attribute in the request.
AuthnRequestConditionCountThe number of records in the AuthnRequestCondition arrays.
AuthnRequestConditionAudienceListAn accessor to the Audience list parameter of an audience restriction condition.
AuthnRequestConditionConditionTypeSpecifies a type of the condition object.
AuthnRequestConditionProxyRestrictionCountAn accessor to the proxy restriction count element of the condition.
AuthnRequestScopingIDPCountThe number of records in the AuthnRequestScopingIDP arrays.
AuthnRequestScopingIDPLocContains the value of the Loc attribute.
AuthnRequestScopingIDPNameContains the name of the IdP provider.
AuthnRequestScopingIDPProviderIDContains the provider ID.
AuthzDecisionQueryActionsSpecifies the list of actions included in the query.
AuthzDecisionQueryResourceMatches the Resource element of the query.
BindingSpecifies the type of the binding to use.
ConsentContains the Consent parameter of the request.
DestinationContains the Destination parameter of the SAML object.
EncryptionCertBytesReturns raw certificate data in DER format.
EncryptionCertHandleAllows to get or set a 'handle', a unique identifier of the underlying property object.
IDThe ID of the request.
InResponseToContains the InResponseTo property of the SAML request.
IssueInstantContains request issuance timestamp.
IssuerSets the issuer of the message.
LogoutRequestNameIDContains the value of the NameID parameter.
LogoutRequestNotOnOrAfterContains the value of the NotOnOrAfter parameter.
LogoutRequestReasonContains the value of the Reason parameter.
LogoutRequestSessionIndexesContains the list of session indices.
ManageNameIDRequestNameIDContains the value of the NameID parameter of the request.
ManageNameIDRequestNewEncryptedIDContains the value of the NewEncryptedID parameter of the request.
ManageNameIDRequestNewIDContains the value of the NewID parameter.
ManageNameIDRequestTerminateContains the value of the Terminate parameter of the request.
NameIDMappingRequestNameIDAn accessor to the NameID parameter of the request.
NameIDMappingRequestNameIDPolicyAllowCreateContains the value of AllowCreate parameter of the NameIDPolicy object.
NameIDMappingRequestNameIDPolicyFormatSpecifies the format of the NameIDPolicy element.
NameIDMappingRequestNameIDPolicySPNameQualifierContains the SPNameQualifier parameter of the NameIDPolicy element.
NameIDMappingRequestNameIDPolicyUseAllowCreateControls inclusion of UseAllow modifier in the NameIDPolicy object.
OutputTypeReturns the SAML type of message being created.
POSTBindingBodyContains the form body.
POSTBindingFormTemplateContains the XHTML form template returned by the service provider.
POSTBindingModeSpecifies whether binding is applied on a server, or on a client side.
POSTBindingRelayStateContains the value of the RelayState parameter of POST binding mechanism.
POSTBindingURLContains the URL of POST binding mechanism.
ProfileSpecifies a pre-defined profile to apply when creating the signature.
RedirectBindingEncodingSpecifies the message encoding.
RedirectBindingForceSignEnforces a signature over all outgoing messages.
RedirectBindingRelayStateContains the RelayState parameter of the binding.
RedirectBindingSignSpecifies whether to sign generated messages.
RedirectBindingSignatureAlgorithmContains the signature algorithm.
RedirectBindingURLContains the URL of the request query.
RedirectBindingVerifySignaturesInstructs the class whether to verify incoming signatures.
RedirectBindingCertBytesReturns raw certificate data in DER format.
RedirectBindingCertHandleAllows to get or set a 'handle', a unique identifier of the underlying property object.
ResponseNameIDContains the NameID parameter of a NameIDMapping response.
ResponseOptionalElementAn optional message element to be returned with the response.
ResponseResponseTypeContains the type of the response.
ResponseStatusCodeSubValueThe value of the nested StatusCode.
ResponseStatusCodeValueContains the status code value.
ResponseStatusDetailContains additional information on the status of the request.
ResponseStatusMessageContains a status message (optional).
SignSpecifies whether the created SAML message should be signed.
SigningCertBytesReturns raw certificate data in DER format.
SigningCertHandleAllows to get or set a 'handle', a unique identifier of the underlying property object.
SigningChainCountThe number of records in the SigningChain arrays.
SigningChainBytesReturns raw certificate data in DER format.
SigningChainHandleAllows to get or set a 'handle', a unique identifier of the underlying property object.
SubjectConfirmationCountThe number of records in the SubjectConfirmation arrays.
SubjectConfirmationDataAddressContains the address enabled for presenting assertions.
SubjectConfirmationDataInResponseToThe ID of the SAML message in response to which the assertion is issued.
SubjectConfirmationDataNotBeforeTime moment before which the subject cannot be confirmed.
SubjectConfirmationDataNotOnOrAfterLimits the time until which the subject can be confirmed.
SubjectConfirmationDataRecipientThe URI of the entity or the location of the resource to which the assertion should be presented.
SubjectConfirmationDataTypeThe type of data contained in the confirmation.
SubjectConfirmationIDThe identifier of the entity which can satisfy the subject confirmation requirements.
SubjectConfirmationMethodSpecifies the mechanism to be used to confirm the subject.
SubjectIDSets the subject of the message.
VersionSpecifies the protocol version of the SAML message.

Method List


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

AddAdviceAssertionAdds an advice assertion to the message.
AddAssertionAdds assertion to a SAML message.
ClearAssertionResets the contents of all assertion-related properties.
CompareIDsCompares two SAML IDs.
ConfigSets or retrieves a configuration setting.
CreateNewCreates a new SAML message with the given type.
GetIDPropReturns an element of the SAML ID.
RemoveAdviceRemoves an advice from an assertion.
RemoveAdviceAssertionRemoves an advice from an assertion.
RemoveAllAssertionsRemoves all assertions currently configured in the message.
RemoveAssertionRemoves an assertion from the message.
SaveSaves the configured message to a string.
SaveBytesSaves the configured message to a byte array.
SaveFileSaves the configured message to a file.

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.

ErrorFires to report an error condition.
NotificationThis event notifies the application about an underlying control flow event.

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.
SigAfterIssuerSpecifies whether to insert the signature after the issuer tag in the SAML document.
SigCanonicalizationMethodThe canonicalization method to use in the signature.
SigDigestMethodThe digest method to use.
SigMethodThe signature method to use.
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 Node.js Edition - Version 20.0 [Build 8165]