Docs

SecureBlackbox 2022 macOS Edition

Version 22.0 [Build 8174]

SAMLReader Module

Properties   Methods   Events   Configuration Settings   Errors  

The SAMLReader module offers SAML message processing functionality.

Syntax

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.

Pass your SAML message to Open (or OpenStream) method. Upon processing, class will populate the elements of the message in the properties, such as InputType or Issuer. More complex elements, such as assertions, require pinning with PinAssertion method to be populated in the object properties.

Property List


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

ArtifactProvides access to SAML artifact object.
ArtifactResolveQueryReturns the content of the ArtifactResolve query.
AssertionCountReturns the number of assertions in the SAML message.
AssertionIDRequestProvides access to parameters of AssertionIDRequest element of the message.
AttrQueryAttributesUse this property to access the attribute query element of the message.
AuthnQueryUse this property to access the AuthnQuery element of the SAML message.
AuthnRequestUse this property to access the AuthnRequest element of the SAML message.
AuthnRequestConditionsProvides access to the AuthnRequest condition collection.
AuthnRequestScopingIDPListProvides access to the AuthnRequest scoping IDP list.
AuthzDecisionQueryCheck this property to access the AuthzDecisionQuery element of the SAML message.
BindingReturns the SAML message binding type.
BlockedCertificatesThe certificates that must be rejected as trust anchors.
ChainValidationDetailsThe details of a certificate chain validation outcome.
ChainValidationResultThe 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.
DecryptionCertificateSpecifies a decryption certificate.
DestinationReturns the Destination parameter of the SAML message.
FIPSModeReserved.
IDReturns the ID of the processed message.
IgnoreChainValidationErrorsMakes the module tolerant to chain validation errors.
InputTypeReturns the type of the processed message.
InputTypeStringReturns the type of the processed message, as an original string.
InResponseToReturns the in-response-to parameter of the message.
IssueInstantReturns the issue time of the message.
IssuerReturns the issuer of the message.
KnownCertificatesAdditional certificates for chain validation.
KnownCRLsAdditional CRLs for chain validation.
KnownOCSPsAdditional OCSP responses for chain validation.
LogoutRequestUse this property to access the LogoutRequest element of the SAML message.
ManageNameIDRequestUse this property to access the ManageNameIDRequest element of the SAML message.
NameIDMappingRequestUse this property to access the NameIDMappingRequest element of the SAML message.
OfflineModeSwitches the module to the offline mode.
PinnedAssertionAttributesContains a list of attributes included in the pinned assertion.
PinnedAssertionConditionsContains a list of conditions included in the pinned assertion.
PinnedAssertionInfoContains information about the pinned assertion.
PinnedAssertionIssuerReturns the pinned assertion issuer.
PinnedAssertionStatementsProvides the details of statements included with the assertion.
PinnedAssertionSubjectConfirmationsContains the details of subject confirmations included with the assertion.
PinnedAssertionSubjectIDReturns the pinned assertion subject.
POSTBindingProvides access to the details of the POST binding.
ProfileSpecifies a pre-defined profile to apply when creating the signature.
ProxyThe proxy server settings.
RedirectBindingProvides the details of the Redirect binding.
RedirectBindingCertificateSets the certificate for validating the signature over the redirect binding.
ResponseUse this property to access the details of the SAML response element.
SignatureValidationResultContains the signature validation result.
SignedReturns true it the message is signed.
SigningCertificateThe certificate of the signature creator.
SocketSettingsManages network connection settings.
SubjectConfirmationsReturns a list of subject confirmations from the SubjectQuery element.
SubjectIDReturns the subject of the message.
TLSSettingsManages TLS layer settings.
TrustedCertificatesA list of trusted certificates for chain validation.
UseBindingEnables or disables automated binding processing.
ValidateSignaturesEnables or disables automated signature validation.
ValidationLogContains the complete log of the certificate validation routine.
ValidationMomentThe 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 module with short descriptions. Click on the links for further details.

CompareIDsCompares two SAML IDs.
ConfigSets or retrieves a configuration setting.
DoActionPerforms an additional action.
GetIDPropExtracts a specific property from a SAML ID.
OpenOpens a SAML entity.
OpenBytesOpens a SAML entity.
OpenFileOpens a SAML entity.
PinAdviceAssertionPins advice assertion by propagating it in PinnedAssertionXXX properties.
PinAssertionPins assertion by propagating it in PinnedAssertionXXX properties.

Event List


The following is the full list of the events fired by the module 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.
SignatureFoundSignifies the start of signature validation.
SignatureValidatedReports the signature validation result.

Configuration Settings


The following is a list of configuration settings for the module 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 module (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.
TagAllows to store any custom data.
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.

Artifact Property (SAMLReader Module)

Provides access to SAML artifact object.

Syntax

public var artifact: SAMLArtifact {

get {...} }

@property (nonatomic,readonly,assign,getter=artifactEndpointIndex) int artifactEndpointIndex;

- (int)artifactEndpointIndex;

@property (nonatomic,readonly,assign,getter=artifactMessageHandle) NSData* artifactMessageHandle;

- (NSData*)artifactMessageHandle;

@property (nonatomic,readonly,assign,getter=artifactRemainingArtifact) NSData* artifactRemainingArtifact;

- (NSData*)artifactRemainingArtifact;

@property (nonatomic,readonly,assign,getter=artifactSourceID) NSData* artifactSourceID;

- (NSData*)artifactSourceID;

@property (nonatomic,readonly,assign,getter=artifactTypeCode) int artifactTypeCode;

- (int)artifactTypeCode;

@property (nonatomic,readonly,assign,getter=artifactURI) NSString* artifactURI;

- (NSString*)artifactURI;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

ArtifactResolveQuery Property (SAMLReader Module)

Returns the content of the ArtifactResolve query.

Syntax

public var artifactResolveQuery: String {

get {...} }

@property (nonatomic,readonly,assign,getter=artifactResolveQuery) NSString* artifactResolveQuery;

- (NSString*)artifactResolveQuery;

Default Value

""

Remarks

Check this property if InputType is set to cstyArtifactResolve to access the content of the ArtifactResolve query.

This property is read-only.

AssertionCount Property (SAMLReader Module)

Returns the number of assertions in the SAML message.

Syntax

public var assertionCount: Int32 {

get {...} }

@property (nonatomic,readonly,assign,getter=assertionCount) int assertionCount;

- (int)assertionCount;

Default Value

0

Remarks

Check this property to retrieve the number of assertions contained in the SAML message.

This property is read-only.

AssertionIDRequest Property (SAMLReader Module)

Provides access to parameters of AssertionIDRequest element of the message.

Syntax

public var assertionIDRequest: SAMLAssertionIDRequest {

get {...} }

@property (nonatomic,readonly,assign,getter=assertionIDRequestReferences) NSString* assertionIDRequestReferences;

- (NSString*)assertionIDRequestReferences;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AttrQueryAttributes Property (SAMLReader Module)

Use this property to access the attribute query element of the message.

Syntax

public var attrQueryAttributes: Array<SAMLAttribute> {

get {...} }

@property (nonatomic,readonly,assign,getter=attrQueryAttrCount) int attrQueryAttrCount;

- (int)attrQueryAttrCount;

- (NSString*)attrQueryAttrFriendlyName:(int)attrQueryAttrIndex;

- (NSString*)attrQueryAttrName:(int)attrQueryAttrIndex;

- (NSString*)attrQueryAttrNameFormat:(int)attrQueryAttrIndex;

- (int)attrQueryAttrStatementIndex:(int)attrQueryAttrIndex;

- (NSString*)attrQueryAttrValues:(int)attrQueryAttrIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AuthnQuery Property (SAMLReader Module)

Use this property to access the AuthnQuery element of the SAML message.

Syntax

public var authnQuery: SAMLAuthnQuery {

get {...} }

@property (nonatomic,readonly,assign,getter=authnQueryComparison) int authnQueryComparison;

- (int)authnQueryComparison;

@property (nonatomic,readonly,assign,getter=authnQueryContextClassRefs) NSString* authnQueryContextClassRefs;

- (NSString*)authnQueryContextClassRefs;

@property (nonatomic,readonly,assign,getter=authnQueryRefType) int authnQueryRefType;

- (int)authnQueryRefType;

@property (nonatomic,readonly,assign,getter=authnQuerySessionIndex) NSString* authnQuerySessionIndex;

- (NSString*)authnQuerySessionIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AuthnRequest Property (SAMLReader Module)

Use this property to access the AuthnRequest element of the SAML message.

Syntax

public var authnRequest: SAMLAuthnRequest {

get {...} }

@property (nonatomic,readonly,assign,getter=authnRequestAssertionConsumerServiceIndex) int authnRequestAssertionConsumerServiceIndex;

- (int)authnRequestAssertionConsumerServiceIndex;

@property (nonatomic,readonly,assign,getter=authnRequestAssertionConsumerServiceURL) NSString* authnRequestAssertionConsumerServiceURL;

- (NSString*)authnRequestAssertionConsumerServiceURL;

@property (nonatomic,readonly,assign,getter=authnRequestAttributeConsumingServiceIndex) int authnRequestAttributeConsumingServiceIndex;

- (int)authnRequestAttributeConsumingServiceIndex;

@property (nonatomic,readonly,assign,getter=authnRequestConditionsNotBefore) NSString* authnRequestConditionsNotBefore;

- (NSString*)authnRequestConditionsNotBefore;

@property (nonatomic,readonly,assign,getter=authnRequestConditionsNotOnOrAfter) NSString* authnRequestConditionsNotOnOrAfter;

- (NSString*)authnRequestConditionsNotOnOrAfter;

@property (nonatomic,readonly,assign,getter=authnRequestContextClassRefs) NSString* authnRequestContextClassRefs;

- (NSString*)authnRequestContextClassRefs;

@property (nonatomic,readonly,assign,getter=authnRequestContextComparison) int authnRequestContextComparison;

- (int)authnRequestContextComparison;

@property (nonatomic,readonly,assign,getter=authnRequestContextRefType) int authnRequestContextRefType;

- (int)authnRequestContextRefType;

@property (nonatomic,readonly,assign,getter=authnRequestForceAuthn) BOOL authnRequestForceAuthn;

- (BOOL)authnRequestForceAuthn;

@property (nonatomic,readonly,assign,getter=authnRequestIsPassive) BOOL authnRequestIsPassive;

- (BOOL)authnRequestIsPassive;

@property (nonatomic,readonly,assign,getter=authnRequestNameIDPolicyAllowCreate) BOOL authnRequestNameIDPolicyAllowCreate;

- (BOOL)authnRequestNameIDPolicyAllowCreate;

@property (nonatomic,readonly,assign,getter=authnRequestNameIDPolicyFormat) NSString* authnRequestNameIDPolicyFormat;

- (NSString*)authnRequestNameIDPolicyFormat;

@property (nonatomic,readonly,assign,getter=authnRequestNameIDPolicySPNameQualifier) NSString* authnRequestNameIDPolicySPNameQualifier;

- (NSString*)authnRequestNameIDPolicySPNameQualifier;

@property (nonatomic,readonly,assign,getter=authnRequestNameIDPolicyUseAllowCreate) BOOL authnRequestNameIDPolicyUseAllowCreate;

- (BOOL)authnRequestNameIDPolicyUseAllowCreate;

@property (nonatomic,readonly,assign,getter=authnRequestProtocolBinding) NSString* authnRequestProtocolBinding;

- (NSString*)authnRequestProtocolBinding;

@property (nonatomic,readonly,assign,getter=authnRequestProviderName) NSString* authnRequestProviderName;

- (NSString*)authnRequestProviderName;

@property (nonatomic,readonly,assign,getter=authnRequestScopingIDPListGetComplete) NSString* authnRequestScopingIDPListGetComplete;

- (NSString*)authnRequestScopingIDPListGetComplete;

@property (nonatomic,readonly,assign,getter=authnRequestScopingProxyCount) int authnRequestScopingProxyCount;

- (int)authnRequestScopingProxyCount;

@property (nonatomic,readonly,assign,getter=authnRequestScopingRequesterIDs) NSString* authnRequestScopingRequesterIDs;

- (NSString*)authnRequestScopingRequesterIDs;

@property (nonatomic,readonly,assign,getter=authnRequestUseForceAuthn) BOOL authnRequestUseForceAuthn;

- (BOOL)authnRequestUseForceAuthn;

@property (nonatomic,readonly,assign,getter=authnRequestUseIsPassive) BOOL authnRequestUseIsPassive;

- (BOOL)authnRequestUseIsPassive;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AuthnRequestConditions Property (SAMLReader Module)

Provides access to the AuthnRequest condition collection.

Syntax

public var authnRequestConditions: Array<SAMLAssertionCondition> {

get {...} }

@property (nonatomic,readonly,assign,getter=authnRequestConditionCount) int authnRequestConditionCount;

- (int)authnRequestConditionCount;

- (NSString*)authnRequestConditionAudienceList:(int)authnRequestConditionIndex;

- (int)authnRequestConditionConditionType:(int)authnRequestConditionIndex;

- (int)authnRequestConditionProxyRestrictionCount:(int)authnRequestConditionIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AuthnRequestScopingIDPList Property (SAMLReader Module)

Provides access to the AuthnRequest scoping IDP list.

Syntax

public var authnRequestScopingIDPList: Array<SAMLIDPEntry> {

get {...} }

@property (nonatomic,readonly,assign,getter=authnRequestScopingIDPCount) int authnRequestScopingIDPCount;

- (int)authnRequestScopingIDPCount;

- (NSString*)authnRequestScopingIDPLoc:(int)authnRequestScopingIDPIndex;

- (NSString*)authnRequestScopingIDPName:(int)authnRequestScopingIDPIndex;

- (NSString*)authnRequestScopingIDPProviderID:(int)authnRequestScopingIDPIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

AuthzDecisionQuery Property (SAMLReader Module)

Check this property to access the AuthzDecisionQuery element of the SAML message.

Syntax

public var authzDecisionQuery: SAMLAuthzDecisionQuery {

get {...} }

@property (nonatomic,readonly,assign,getter=authzDecisionQueryActions) NSString* authzDecisionQueryActions;

- (NSString*)authzDecisionQueryActions;

@property (nonatomic,readonly,assign,getter=authzDecisionQueryResource) NSString* authzDecisionQueryResource;

- (NSString*)authzDecisionQueryResource;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

Binding Property (SAMLReader Module)

Returns the SAML message binding type.

Syntax

public var binding: SamlreaderBindings {

get {...} }

public enum SamlreaderBindings: Int32 { case csbtNone = 0 case csbtSOAP = 1 case csbtPAOS = 2 case csbtRedirect = 3 case csbtPOST = 4 case csbtArtifact = 5 }

@property (nonatomic,readonly,assign,getter=binding) int binding;

- (int)binding;

Default Value

0

Remarks

Check this property to obtain the message binding type.

This property is read-only.

BlockedCertificates Property (SAMLReader Module)

The certificates that must be rejected as trust anchors.

Syntax

public var blockedCertificates: Array<Certificate> {

get {...} }

@property (nonatomic,readwrite,assign,getter=blockedCertCount,setter=setBlockedCertCount:) int blockedCertCount;

- (int)blockedCertCount;
- (void)setBlockedCertCount :(int)newBlockedCertCount;

- (NSData*)blockedCertBytes:(int)blockedCertIndex;

- (long long)blockedCertHandle:(int)blockedCertIndex;
- (void)setBlockedCertHandle:(int)blockedCertIndex :(long long)newBlockedCertHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

ChainValidationDetails Property (SAMLReader Module)

The details of a certificate chain validation outcome.

Syntax

public var chainValidationDetails: Int32 {

get {...} }

@property (nonatomic,readonly,assign,getter=chainValidationDetails) int chainValidationDetails;

- (int)chainValidationDetails;

Default Value

0

Remarks

Use the value(s) returned by this property to identify the reasons that contributed to the overall validation result.

Returns a bit mask of the following options:

cvrBadData0x0001One or more certificates in the validation path are malformed

cvrRevoked0x0002One or more certificates are revoked

cvrNotYetValid0x0004One or more certificates are not yet valid

cvrExpired0x0008One or more certificates are expired

cvrInvalidSignature0x0010A certificate contains a non-valid digital signature

cvrUnknownCA0x0020A CA certificate for one or more certificates has not been found (chain incomplete)

cvrCAUnauthorized0x0040One of the CA certificates are not authorized to act as CA

cvrCRLNotVerified0x0080One or more CRLs could not be verified

cvrOCSPNotVerified0x0100One or more OCSP responses could not be verified

cvrIdentityMismatch0x0200The identity protected by the certificate (a TLS endpoint or an e-mail addressee) does not match what is recorded in the certificate

cvrNoKeyUsage0x0400A mandatory key usage is not enabled in one of the chain certificates

cvrBlocked0x0800One or more certificates are blocked

cvrFailure0x1000General validation failure

cvrChainLoop0x2000Chain loop: one of the CA certificates recursively signs itself

cvrWeakAlgorithm0x4000A weak algorithm is used in one of certificates or revocation elements

cvrUserEnforced0x8000The chain was considered invalid following intervention from a user code

This property is read-only.

ChainValidationResult Property (SAMLReader Module)

The general outcome of a certificate chain validation routine. Use ChainValidationDetails to get information about the reasons that contributed to the validation result.

Syntax

public var chainValidationResult: SamlreaderChainValidationResults {

get {...} }

public enum SamlreaderChainValidationResults: Int32 { case cvtValid = 0 case cvtValidButUntrusted = 1 case cvtInvalid = 2 case cvtCantBeEstablished = 3 }

@property (nonatomic,readonly,assign,getter=chainValidationResult) int chainValidationResult;

- (int)chainValidationResult;

Default Value

0

Remarks

Available options:

cvtValid0The chain is valid

cvtValidButUntrusted1The chain is valid, but the root certificate is not trusted

cvtInvalid2The chain is not valid (some of certificates are revoked, expired, or contain an invalid signature)

cvtCantBeEstablished3The validity of the chain cannot be established because of missing or unavailable validation information (certificates, CRLs, or OCSP responses)

Use the ValidationLog property to access the detailed validation log.

This property is read-only.

Consent Property (SAMLReader Module)

Returns the Consent parameter of the SAML message.

Syntax

Default Value

""

Remarks

Check this property to access the value of the Consent parameter of the processed SAML message.

This property is read-only.

DecryptionCertificate Property (SAMLReader Module)

Specifies a decryption certificate.

Syntax

public var decryptionCertificate: Certificate {

get {...}
set {...} }

@property (nonatomic,readonly,assign,getter=decryptionCertificateBytes) NSData* decryptionCertificateBytes;

- (NSData*)decryptionCertificateBytes;

@property (nonatomic,readwrite,assign,getter=decryptionCertificateHandle,setter=setDecryptionCertificateHandle:) long long decryptionCertificateHandle;

- (long long)decryptionCertificateHandle;
- (void)setDecryptionCertificateHandle :(long long)newDecryptionCertificateHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

Destination Property (SAMLReader Module)

Returns the Destination parameter of the SAML message.

Syntax

public var destination: String {

get {...} }

@property (nonatomic,readonly,assign,getter=destination) NSString* destination;

- (NSString*)destination;

Default Value

""

Remarks

Check this property to access the Destination parameter of the SAML message.

This property is read-only.

FIPSMode Property (SAMLReader Module)

Reserved.

Syntax

public var fipsMode: Bool {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=FIPSMode,setter=setFIPSMode:) BOOL FIPSMode;

- (BOOL)FIPSMode;
- (void)setFIPSMode :(BOOL)newFIPSMode;

Default Value

False

Remarks

This property is reserved for future use.

ID Property (SAMLReader Module)

Returns the ID of the processed message.

Syntax

public var id: String {

get {...} }

@property (nonatomic,readonly,assign,getter=ID) NSString* ID;

- (NSString*)ID;

Default Value

""

Remarks

Use this property to get the SAML ID value of the message.

This property is read-only.

IgnoreChainValidationErrors Property (SAMLReader Module)

Makes the module tolerant to chain validation errors.

Syntax

public var ignoreChainValidationErrors: Bool {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=ignoreChainValidationErrors,setter=setIgnoreChainValidationErrors:) BOOL ignoreChainValidationErrors;

- (BOOL)ignoreChainValidationErrors;
- (void)setIgnoreChainValidationErrors :(BOOL)newIgnoreChainValidationErrors;

Default Value

False

Remarks

If this property is set to True, any errors emerging during certificate chain validation will be ignored. This setting may be handy if the purpose of validation is the creation of an LTV signature, and the validation is performed in an environment that doesn't trust the signer's certificate chain.

InputType Property (SAMLReader Module)

Returns the type of the processed message.

Syntax

public var inputType: SamlreaderInputTypes {

get {...} }

public enum SamlreaderInputTypes: Int32 { case cstyNone = 0 case cstyAssertionIDRequest = 1 case cstySubjectQuery = 2 case cstyAuthnQuery = 3 case cstyAttributeQuery = 4 case cstyAuthzDecisionQuery = 5 case cstyAuthnRequest = 6 case cstyManageNameIDRequest = 7 case cstyLogoutRequest = 8 case cstyNameIDMappingRequest = 9 case cstyArtifactResolve = 10 case cstyResponse = 11 }

@property (nonatomic,readonly,assign,getter=inputType) int inputType;

- (int)inputType;

Default Value

0

Remarks

Check this property on the early stage of message processing to find out the type of the data contained in the SAML message.

This property is read-only.

InputTypeString Property (SAMLReader Module)

Returns the type of the processed message, as an original string.

Syntax

public var inputTypeString: String {

get {...} }

@property (nonatomic,readonly,assign,getter=inputTypeString) NSString* inputTypeString;

- (NSString*)inputTypeString;

Default Value

""

Remarks

Check this property to find out the content type of the data stored in the processed message. This returns a string originally included in the SAML message, which may be helpful when processing non-standard types.

Known SAML content types are:

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

This property is read-only.

InResponseTo Property (SAMLReader Module)

Returns the in-response-to parameter of the message.

Syntax

public var inResponseTo: String {

get {...} }

@property (nonatomic,readonly,assign,getter=inResponseTo) NSString* inResponseTo;

- (NSString*)inResponseTo;

Default Value

""

Remarks

Check this property to obtain the In-Response-To parameter of the SAML message.

This property is read-only.

IssueInstant Property (SAMLReader Module)

Returns the issue time of the message.

Syntax

public var issueInstant: String {

get {...} }

@property (nonatomic,readonly,assign,getter=issueInstant) NSString* issueInstant;

- (NSString*)issueInstant;

Default Value

""

Remarks

Check this property to obtain the issuing time of the SAML message.

This property is read-only.

Issuer Property (SAMLReader Module)

Returns the issuer of the message.

Syntax

public var issuer: String {

get {...} }

@property (nonatomic,readonly,assign,getter=issuer) NSString* issuer;

- (NSString*)issuer;

Default Value

""

Remarks

Check this property to obtain the SAML ID of the issuer of the processed message.

This property is read-only.

KnownCertificates Property (SAMLReader Module)

Additional certificates for chain validation.

Syntax

public var knownCertificates: Array<Certificate> {

get {...} }

@property (nonatomic,readwrite,assign,getter=knownCertCount,setter=setKnownCertCount:) int knownCertCount;

- (int)knownCertCount;
- (void)setKnownCertCount :(int)newKnownCertCount;

- (NSData*)knownCertBytes:(int)knownCertIndex;

- (long long)knownCertHandle:(int)knownCertIndex;
- (void)setKnownCertHandle:(int)knownCertIndex :(long long)newKnownCertHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

KnownCRLs Property (SAMLReader Module)

Additional CRLs for chain validation.

Syntax

public var knownCRLs: Array<CRL> {

get {...} }

@property (nonatomic,readwrite,assign,getter=knownCRLCount,setter=setKnownCRLCount:) int knownCRLCount;

- (int)knownCRLCount;
- (void)setKnownCRLCount :(int)newKnownCRLCount;

- (NSData*)knownCRLBytes:(int)knownCRLIndex;

- (long long)knownCRLHandle:(int)knownCRLIndex;
- (void)setKnownCRLHandle:(int)knownCRLIndex :(long long)newKnownCRLHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

KnownOCSPs Property (SAMLReader Module)

Additional OCSP responses for chain validation.

Syntax

public var knownOCSPs: Array<OCSPResponse> {

get {...} }

@property (nonatomic,readwrite,assign,getter=knownOCSPCount,setter=setKnownOCSPCount:) int knownOCSPCount;

- (int)knownOCSPCount;
- (void)setKnownOCSPCount :(int)newKnownOCSPCount;

- (NSData*)knownOCSPBytes:(int)knownOCSPIndex;

- (long long)knownOCSPHandle:(int)knownOCSPIndex;
- (void)setKnownOCSPHandle:(int)knownOCSPIndex :(long long)newKnownOCSPHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

LogoutRequest Property (SAMLReader Module)

Use this property to access the LogoutRequest element of the SAML message.

Syntax

public var logoutRequest: SAMLLogoutRequest {

get {...} }

@property (nonatomic,readonly,assign,getter=logoutRequestNameID) NSString* logoutRequestNameID;

- (NSString*)logoutRequestNameID;

@property (nonatomic,readonly,assign,getter=logoutRequestNotOnOrAfter) NSString* logoutRequestNotOnOrAfter;

- (NSString*)logoutRequestNotOnOrAfter;

@property (nonatomic,readonly,assign,getter=logoutRequestReason) NSString* logoutRequestReason;

- (NSString*)logoutRequestReason;

@property (nonatomic,readonly,assign,getter=logoutRequestSessionIndexes) NSString* logoutRequestSessionIndexes;

- (NSString*)logoutRequestSessionIndexes;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

ManageNameIDRequest Property (SAMLReader Module)

Use this property to access the ManageNameIDRequest element of the SAML message.

Syntax

public var manageNameIDRequest: SAMLManageNameIDRequest {

get {...} }

@property (nonatomic,readonly,assign,getter=manageNameIDRequestNameID) NSString* manageNameIDRequestNameID;

- (NSString*)manageNameIDRequestNameID;

@property (nonatomic,readonly,assign,getter=manageNameIDRequestNewEncryptedID) NSString* manageNameIDRequestNewEncryptedID;

- (NSString*)manageNameIDRequestNewEncryptedID;

@property (nonatomic,readonly,assign,getter=manageNameIDRequestNewID) NSString* manageNameIDRequestNewID;

- (NSString*)manageNameIDRequestNewID;

@property (nonatomic,readonly,assign,getter=manageNameIDRequestTerminate) NSString* manageNameIDRequestTerminate;

- (NSString*)manageNameIDRequestTerminate;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

NameIDMappingRequest Property (SAMLReader Module)

Use this property to access the NameIDMappingRequest element of the SAML message.

Syntax

public var nameIDMappingRequest: SAMLNameIDMappingRequest {

get {...} }

@property (nonatomic,readonly,assign,getter=nameIDMappingRequestNameID) NSString* nameIDMappingRequestNameID;

- (NSString*)nameIDMappingRequestNameID;

@property (nonatomic,readonly,assign,getter=nameIDMappingRequestNameIDPolicyAllowCreate) BOOL nameIDMappingRequestNameIDPolicyAllowCreate;

- (BOOL)nameIDMappingRequestNameIDPolicyAllowCreate;

@property (nonatomic,readonly,assign,getter=nameIDMappingRequestNameIDPolicyFormat) NSString* nameIDMappingRequestNameIDPolicyFormat;

- (NSString*)nameIDMappingRequestNameIDPolicyFormat;

@property (nonatomic,readonly,assign,getter=nameIDMappingRequestNameIDPolicySPNameQualifier) NSString* nameIDMappingRequestNameIDPolicySPNameQualifier;

- (NSString*)nameIDMappingRequestNameIDPolicySPNameQualifier;

@property (nonatomic,readonly,assign,getter=nameIDMappingRequestNameIDPolicyUseAllowCreate) BOOL nameIDMappingRequestNameIDPolicyUseAllowCreate;

- (BOOL)nameIDMappingRequestNameIDPolicyUseAllowCreate;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

OfflineMode Property (SAMLReader Module)

Switches the module to the offline mode.

Syntax

public var offlineMode: Bool {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=offlineMode,setter=setOfflineMode:) BOOL offlineMode;

- (BOOL)offlineMode;
- (void)setOfflineMode :(BOOL)newOfflineMode;

Default Value

False

Remarks

When working in offline mode, the component restricts itself from using any online revocation information sources, such as CRL or OCSP responders.

Offline mode may be useful if there is a need to verify the completeness of validation information included within the signature or provided via KnownCertificates, KnownCRLs, and other related properties.

PinnedAssertionAttributes Property (SAMLReader Module)

Contains a list of attributes included in the pinned assertion.

Syntax

public var pinnedAssertionAttributes: Array<SAMLAttribute> {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionAttrCount) int pinnedAssertionAttrCount;

- (int)pinnedAssertionAttrCount;

- (NSString*)pinnedAssertionAttrFriendlyName:(int)pinnedAssertionAttrIndex;

- (NSString*)pinnedAssertionAttrName:(int)pinnedAssertionAttrIndex;

- (NSString*)pinnedAssertionAttrNameFormat:(int)pinnedAssertionAttrIndex;

- (int)pinnedAssertionAttrStatementIndex:(int)pinnedAssertionAttrIndex;

- (NSString*)pinnedAssertionAttrValues:(int)pinnedAssertionAttrIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

PinnedAssertionConditions Property (SAMLReader Module)

Contains a list of conditions included in the pinned assertion.

Syntax

public var pinnedAssertionConditions: Array<SAMLAssertionCondition> {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionConditionCount) int pinnedAssertionConditionCount;

- (int)pinnedAssertionConditionCount;

- (NSString*)pinnedAssertionConditionAudienceList:(int)pinnedAssertionConditionIndex;

- (int)pinnedAssertionConditionConditionType:(int)pinnedAssertionConditionIndex;

- (int)pinnedAssertionConditionProxyRestrictionCount:(int)pinnedAssertionConditionIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

PinnedAssertionInfo Property (SAMLReader Module)

Contains information about the pinned assertion.

Syntax

public var pinnedAssertionInfo: SAMLAssertionInfo {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoAdviceAssertionCount) int pinnedAssertionInfoAdviceAssertionCount;

- (int)pinnedAssertionInfoAdviceAssertionCount;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoAssertionType) int pinnedAssertionInfoAssertionType;

- (int)pinnedAssertionInfoAssertionType;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoChainValidationDetails) int pinnedAssertionInfoChainValidationDetails;

- (int)pinnedAssertionInfoChainValidationDetails;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoChainValidationResult) int pinnedAssertionInfoChainValidationResult;

- (int)pinnedAssertionInfoChainValidationResult;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoConditionsNotBefore) NSString* pinnedAssertionInfoConditionsNotBefore;

- (NSString*)pinnedAssertionInfoConditionsNotBefore;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoConditionsNotOnOrAfter) NSString* pinnedAssertionInfoConditionsNotOnOrAfter;

- (NSString*)pinnedAssertionInfoConditionsNotOnOrAfter;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoEncryptedContent) NSString* pinnedAssertionInfoEncryptedContent;

- (NSString*)pinnedAssertionInfoEncryptedContent;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoID) NSString* pinnedAssertionInfoID;

- (NSString*)pinnedAssertionInfoID;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoIDRef) NSString* pinnedAssertionInfoIDRef;

- (NSString*)pinnedAssertionInfoIDRef;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoIssueInstant) NSString* pinnedAssertionInfoIssueInstant;

- (NSString*)pinnedAssertionInfoIssueInstant;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoSignatureValidationResult) int pinnedAssertionInfoSignatureValidationResult;

- (int)pinnedAssertionInfoSignatureValidationResult;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoSigned) BOOL pinnedAssertionInfoSigned;

- (BOOL)pinnedAssertionInfoSigned;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoURIRef) NSString* pinnedAssertionInfoURIRef;

- (NSString*)pinnedAssertionInfoURIRef;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoValidationLog) NSString* pinnedAssertionInfoValidationLog;

- (NSString*)pinnedAssertionInfoValidationLog;

@property (nonatomic,readonly,assign,getter=pinnedAssertionInfoVersion) NSString* pinnedAssertionInfoVersion;

- (NSString*)pinnedAssertionInfoVersion;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

PinnedAssertionIssuer Property (SAMLReader Module)

Returns the pinned assertion issuer.

Syntax

public var pinnedAssertionIssuer: String {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionIssuer) NSString* pinnedAssertionIssuer;

- (NSString*)pinnedAssertionIssuer;

Default Value

""

Remarks

Check this property to access the SAML ID of the issuer of the assertion previously pinned with PinAssertion or PinAdviceAssertion method.

This property is read-only.

PinnedAssertionStatements Property (SAMLReader Module)

Provides the details of statements included with the assertion.

Syntax

public var pinnedAssertionStatements: Array<SAMLAssertionStatement> {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionStatementCount) int pinnedAssertionStatementCount;

- (int)pinnedAssertionStatementCount;

- (NSString*)pinnedAssertionStatementAttributes:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnContextAuthenticatingAuthorities:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnContextChoice:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnContextClassRef:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnContextDecl:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnContextDeclRef:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnInstant:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnSessionIndex:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnSessionNotOnOrAfter:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnSubjectLocalityAddress:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthnSubjectLocalityDNSName:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthzActions:(int)pinnedAssertionStatementIndex;

- (int)pinnedAssertionStatementAuthzDecision:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthzDecisionEvidence:(int)pinnedAssertionStatementIndex;

- (NSString*)pinnedAssertionStatementAuthzDecisionResource:(int)pinnedAssertionStatementIndex;

- (int)pinnedAssertionStatementStatementType:(int)pinnedAssertionStatementIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

PinnedAssertionSubjectConfirmations Property (SAMLReader Module)

Contains the details of subject confirmations included with the assertion.

Syntax

public var pinnedAssertionSubjectConfirmations: Array<SAMLSubjectConfirmation> {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionSubjectConfirmationCount) int pinnedAssertionSubjectConfirmationCount;

- (int)pinnedAssertionSubjectConfirmationCount;

- (NSString*)pinnedAssertionSubjectConfirmationDataAddress:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationDataInResponseTo:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationDataNotBefore:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationDataNotOnOrAfter:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationDataRecipient:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationDataType:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationID:(int)pinnedAssertionSubjectConfirmationIndex;

- (NSString*)pinnedAssertionSubjectConfirmationMethod:(int)pinnedAssertionSubjectConfirmationIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

PinnedAssertionSubjectID Property (SAMLReader Module)

Returns the pinned assertion subject.

Syntax

public var pinnedAssertionSubjectID: String {

get {...} }

@property (nonatomic,readonly,assign,getter=pinnedAssertionSubjectID) NSString* pinnedAssertionSubjectID;

- (NSString*)pinnedAssertionSubjectID;

Default Value

""

Remarks

Check this property to access the SAML ID of the subject of the assertion previously pinned with PinAssertion or PinAdviceAssertion method.

This property is read-only.

POSTBinding Property (SAMLReader Module)

Provides access to the details of the POST binding.

Syntax

public var postBinding: SAMLPOSTBinding {

get {...} }

@property (nonatomic,readonly,assign,getter=POSTBindingBody) NSString* POSTBindingBody;

- (NSString*)POSTBindingBody;

@property (nonatomic,readonly,assign,getter=POSTBindingFormTemplate) NSString* POSTBindingFormTemplate;

- (NSString*)POSTBindingFormTemplate;

@property (nonatomic,readonly,assign,getter=POSTBindingMode) int POSTBindingMode;

- (int)POSTBindingMode;

@property (nonatomic,readonly,assign,getter=POSTBindingRelayState) NSString* POSTBindingRelayState;

- (NSString*)POSTBindingRelayState;

@property (nonatomic,readonly,assign,getter=POSTBindingURL) NSString* POSTBindingURL;

- (NSString*)POSTBindingURL;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

Profile Property (SAMLReader Module)

Specifies a pre-defined profile to apply when creating the signature.

Syntax

public var profile: String {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=profile,setter=setProfile:) NSString* profile;

- (NSString*)profile;
- (void)setProfile :(NSString*)newProfile;

Default Value

""

Remarks

Advanced signatures come in many variants, which are often defined by parties that needs to process them or by local standards. SecureBlackbox profiles are sets of pre-defined configurations which correspond to particular signature variants. By specifying a profile, you are pre-configuring the component to make it produce the signature that matches the configuration corresponding to that profile.

Proxy Property (SAMLReader Module)

The proxy server settings.

Syntax

public var proxy: ProxySettings {

get {...} }

@property (nonatomic,readwrite,assign,getter=proxyAddress,setter=setProxyAddress:) NSString* proxyAddress;

- (NSString*)proxyAddress;
- (void)setProxyAddress :(NSString*)newProxyAddress;

@property (nonatomic,readwrite,assign,getter=proxyAuthentication,setter=setProxyAuthentication:) int proxyAuthentication;

- (int)proxyAuthentication;
- (void)setProxyAuthentication :(int)newProxyAuthentication;

@property (nonatomic,readwrite,assign,getter=proxyPassword,setter=setProxyPassword:) NSString* proxyPassword;

- (NSString*)proxyPassword;
- (void)setProxyPassword :(NSString*)newProxyPassword;

@property (nonatomic,readwrite,assign,getter=proxyPort,setter=setProxyPort:) int proxyPort;

- (int)proxyPort;
- (void)setProxyPort :(int)newProxyPort;

@property (nonatomic,readwrite,assign,getter=proxyProxyType,setter=setProxyProxyType:) int proxyProxyType;

- (int)proxyProxyType;
- (void)setProxyProxyType :(int)newProxyProxyType;

@property (nonatomic,readwrite,assign,getter=proxyRequestHeaders,setter=setProxyRequestHeaders:) NSString* proxyRequestHeaders;

- (NSString*)proxyRequestHeaders;
- (void)setProxyRequestHeaders :(NSString*)newProxyRequestHeaders;

@property (nonatomic,readwrite,assign,getter=proxyResponseBody,setter=setProxyResponseBody:) NSString* proxyResponseBody;

- (NSString*)proxyResponseBody;
- (void)setProxyResponseBody :(NSString*)newProxyResponseBody;

@property (nonatomic,readwrite,assign,getter=proxyResponseHeaders,setter=setProxyResponseHeaders:) NSString* proxyResponseHeaders;

- (NSString*)proxyResponseHeaders;
- (void)setProxyResponseHeaders :(NSString*)newProxyResponseHeaders;

@property (nonatomic,readwrite,assign,getter=proxyUseIPv6,setter=setProxyUseIPv6:) BOOL proxyUseIPv6;

- (BOOL)proxyUseIPv6;
- (void)setProxyUseIPv6 :(BOOL)newProxyUseIPv6;

@property (nonatomic,readwrite,assign,getter=proxyUseProxy,setter=setProxyUseProxy:) BOOL proxyUseProxy;

- (BOOL)proxyUseProxy;
- (void)setProxyUseProxy :(BOOL)newProxyUseProxy;

@property (nonatomic,readwrite,assign,getter=proxyUsername,setter=setProxyUsername:) NSString* proxyUsername;

- (NSString*)proxyUsername;
- (void)setProxyUsername :(NSString*)newProxyUsername;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

RedirectBinding Property (SAMLReader Module)

Provides the details of the Redirect binding.

Syntax

public var redirectBinding: SAMLRedirectBinding {

get {...} }

@property (nonatomic,readonly,assign,getter=redirectBindingEncoding) NSString* redirectBindingEncoding;

- (NSString*)redirectBindingEncoding;

@property (nonatomic,readonly,assign,getter=redirectBindingForceSign) BOOL redirectBindingForceSign;

- (BOOL)redirectBindingForceSign;

@property (nonatomic,readonly,assign,getter=redirectBindingRelayState) NSString* redirectBindingRelayState;

- (NSString*)redirectBindingRelayState;

@property (nonatomic,readonly,assign,getter=redirectBindingSign) BOOL redirectBindingSign;

- (BOOL)redirectBindingSign;

@property (nonatomic,readonly,assign,getter=redirectBindingSignatureAlgorithm) NSString* redirectBindingSignatureAlgorithm;

- (NSString*)redirectBindingSignatureAlgorithm;

@property (nonatomic,readonly,assign,getter=redirectBindingURL) NSString* redirectBindingURL;

- (NSString*)redirectBindingURL;

@property (nonatomic,readonly,assign,getter=redirectBindingVerifySignatures) BOOL redirectBindingVerifySignatures;

- (BOOL)redirectBindingVerifySignatures;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

RedirectBindingCertificate Property (SAMLReader Module)

Sets the certificate for validating the signature over the redirect binding.

Syntax

public var redirectBindingCertificate: Certificate {

get {...}
set {...} }

@property (nonatomic,readonly,assign,getter=redirectBindingCertBytes) NSData* redirectBindingCertBytes;

- (NSData*)redirectBindingCertBytes;

@property (nonatomic,readwrite,assign,getter=redirectBindingCertHandle,setter=setRedirectBindingCertHandle:) long long redirectBindingCertHandle;

- (long long)redirectBindingCertHandle;
- (void)setRedirectBindingCertHandle :(long long)newRedirectBindingCertHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

Response Property (SAMLReader Module)

Use this property to access the details of the SAML response element.

Syntax

public var response: SAMLResponse {

get {...} }

@property (nonatomic,readonly,assign,getter=responseNameID) NSString* responseNameID;

- (NSString*)responseNameID;

@property (nonatomic,readonly,assign,getter=responseOptionalElement) NSString* responseOptionalElement;

- (NSString*)responseOptionalElement;

@property (nonatomic,readonly,assign,getter=responseResponseType) int responseResponseType;

- (int)responseResponseType;

@property (nonatomic,readonly,assign,getter=responseStatusCodeSubValue) NSString* responseStatusCodeSubValue;

- (NSString*)responseStatusCodeSubValue;

@property (nonatomic,readonly,assign,getter=responseStatusCodeValue) NSString* responseStatusCodeValue;

- (NSString*)responseStatusCodeValue;

@property (nonatomic,readonly,assign,getter=responseStatusDetail) NSString* responseStatusDetail;

- (NSString*)responseStatusDetail;

@property (nonatomic,readonly,assign,getter=responseStatusMessage) NSString* responseStatusMessage;

- (NSString*)responseStatusMessage;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

SignatureValidationResult Property (SAMLReader Module)

Contains the signature validation result.

Syntax

public var signatureValidationResult: SamlreaderSignatureValidationResults {

get {...} }

public enum SamlreaderSignatureValidationResults: Int32 { case xsvValid = 0 case xsvUnknown = 1 case xsvCorrupted = 2 case xsvSignerNotFound = 3 case xsvFailure = 4 case xsvReferenceCorrupted = 5 }

@property (nonatomic,readonly,assign,getter=signatureValidationResult) int signatureValidationResult;

- (int)signatureValidationResult;

Default Value

0

Remarks

Use this property to check the result of the most recent XML signature validation.

xsvValid0
xsvUnknown1
xsvCorrupted2
xsvSignerNotFound3
xsvFailure4
xsvReferenceCorrupted5

This property is read-only.

Signed Property (SAMLReader Module)

Returns true it the message is signed.

Syntax

public var signed: Bool {

get {...} }

@property (nonatomic,readonly,assign,getter=isSigned) BOOL isSigned;

- (BOOL)isSigned;

Default Value

False

Remarks

Check this property to find out whether the SAML entity is signed.

This property is read-only.

SigningCertificate Property (SAMLReader Module)

The certificate of the signature creator.

Syntax

public var signingCertificate: Certificate {

get {...} }

@property (nonatomic,readonly,assign,getter=signingCertBytes) NSData* signingCertBytes;

- (NSData*)signingCertBytes;

@property (nonatomic,readonly,assign,getter=signingCertCA) BOOL signingCertCA;

- (BOOL)signingCertCA;

@property (nonatomic,readonly,assign,getter=signingCertCAKeyID) NSData* signingCertCAKeyID;

- (NSData*)signingCertCAKeyID;

@property (nonatomic,readonly,assign,getter=signingCertCRLDistributionPoints) NSString* signingCertCRLDistributionPoints;

- (NSString*)signingCertCRLDistributionPoints;

@property (nonatomic,readonly,assign,getter=signingCertCurve) NSString* signingCertCurve;

- (NSString*)signingCertCurve;

@property (nonatomic,readonly,assign,getter=signingCertFingerprint) NSData* signingCertFingerprint;

- (NSData*)signingCertFingerprint;

@property (nonatomic,readonly,assign,getter=signingCertFriendlyName) NSString* signingCertFriendlyName;

- (NSString*)signingCertFriendlyName;

@property (nonatomic,readonly,assign,getter=signingCertHandle) long long signingCertHandle;

- (long long)signingCertHandle;

@property (nonatomic,readonly,assign,getter=signingCertHashAlgorithm) NSString* signingCertHashAlgorithm;

- (NSString*)signingCertHashAlgorithm;

@property (nonatomic,readonly,assign,getter=signingCertIssuer) NSString* signingCertIssuer;

- (NSString*)signingCertIssuer;

@property (nonatomic,readonly,assign,getter=signingCertIssuerRDN) NSString* signingCertIssuerRDN;

- (NSString*)signingCertIssuerRDN;

@property (nonatomic,readonly,assign,getter=signingCertKeyAlgorithm) NSString* signingCertKeyAlgorithm;

- (NSString*)signingCertKeyAlgorithm;

@property (nonatomic,readonly,assign,getter=signingCertKeyBits) int signingCertKeyBits;

- (int)signingCertKeyBits;

@property (nonatomic,readonly,assign,getter=signingCertKeyFingerprint) NSData* signingCertKeyFingerprint;

- (NSData*)signingCertKeyFingerprint;

@property (nonatomic,readonly,assign,getter=signingCertKeyUsage) int signingCertKeyUsage;

- (int)signingCertKeyUsage;

@property (nonatomic,readonly,assign,getter=signingCertKeyValid) BOOL signingCertKeyValid;

- (BOOL)signingCertKeyValid;

@property (nonatomic,readonly,assign,getter=signingCertOCSPLocations) NSString* signingCertOCSPLocations;

- (NSString*)signingCertOCSPLocations;

@property (nonatomic,readonly,assign,getter=signingCertPolicyIDs) NSString* signingCertPolicyIDs;

- (NSString*)signingCertPolicyIDs;

@property (nonatomic,readonly,assign,getter=signingCertPublicKeyBytes) NSData* signingCertPublicKeyBytes;

- (NSData*)signingCertPublicKeyBytes;

@property (nonatomic,readonly,assign,getter=signingCertSelfSigned) BOOL signingCertSelfSigned;

- (BOOL)signingCertSelfSigned;

@property (nonatomic,readonly,assign,getter=signingCertSerialNumber) NSData* signingCertSerialNumber;

- (NSData*)signingCertSerialNumber;

@property (nonatomic,readonly,assign,getter=signingCertSigAlgorithm) NSString* signingCertSigAlgorithm;

- (NSString*)signingCertSigAlgorithm;

@property (nonatomic,readonly,assign,getter=signingCertSubject) NSString* signingCertSubject;

- (NSString*)signingCertSubject;

@property (nonatomic,readonly,assign,getter=signingCertSubjectKeyID) NSData* signingCertSubjectKeyID;

- (NSData*)signingCertSubjectKeyID;

@property (nonatomic,readonly,assign,getter=signingCertSubjectRDN) NSString* signingCertSubjectRDN;

- (NSString*)signingCertSubjectRDN;

@property (nonatomic,readonly,assign,getter=signingCertValidFrom) NSString* signingCertValidFrom;

- (NSString*)signingCertValidFrom;

@property (nonatomic,readonly,assign,getter=signingCertValidTo) NSString* signingCertValidTo;

- (NSString*)signingCertValidTo;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

SocketSettings Property (SAMLReader Module)

Manages network connection settings.

Syntax

public var socketSettings: SocketSettings {

get {...} }

@property (nonatomic,readwrite,assign,getter=socketDNSMode,setter=setSocketDNSMode:) int socketDNSMode;

- (int)socketDNSMode;
- (void)setSocketDNSMode :(int)newSocketDNSMode;

@property (nonatomic,readwrite,assign,getter=socketDNSPort,setter=setSocketDNSPort:) int socketDNSPort;

- (int)socketDNSPort;
- (void)setSocketDNSPort :(int)newSocketDNSPort;

@property (nonatomic,readwrite,assign,getter=socketDNSQueryTimeout,setter=setSocketDNSQueryTimeout:) int socketDNSQueryTimeout;

- (int)socketDNSQueryTimeout;
- (void)setSocketDNSQueryTimeout :(int)newSocketDNSQueryTimeout;

@property (nonatomic,readwrite,assign,getter=socketDNSServers,setter=setSocketDNSServers:) NSString* socketDNSServers;

- (NSString*)socketDNSServers;
- (void)setSocketDNSServers :(NSString*)newSocketDNSServers;

@property (nonatomic,readwrite,assign,getter=socketDNSTotalTimeout,setter=setSocketDNSTotalTimeout:) int socketDNSTotalTimeout;

- (int)socketDNSTotalTimeout;
- (void)setSocketDNSTotalTimeout :(int)newSocketDNSTotalTimeout;

@property (nonatomic,readwrite,assign,getter=socketIncomingSpeedLimit,setter=setSocketIncomingSpeedLimit:) int socketIncomingSpeedLimit;

- (int)socketIncomingSpeedLimit;
- (void)setSocketIncomingSpeedLimit :(int)newSocketIncomingSpeedLimit;

@property (nonatomic,readwrite,assign,getter=socketLocalAddress,setter=setSocketLocalAddress:) NSString* socketLocalAddress;

- (NSString*)socketLocalAddress;
- (void)setSocketLocalAddress :(NSString*)newSocketLocalAddress;

@property (nonatomic,readwrite,assign,getter=socketLocalPort,setter=setSocketLocalPort:) int socketLocalPort;

- (int)socketLocalPort;
- (void)setSocketLocalPort :(int)newSocketLocalPort;

@property (nonatomic,readwrite,assign,getter=socketOutgoingSpeedLimit,setter=setSocketOutgoingSpeedLimit:) int socketOutgoingSpeedLimit;

- (int)socketOutgoingSpeedLimit;
- (void)setSocketOutgoingSpeedLimit :(int)newSocketOutgoingSpeedLimit;

@property (nonatomic,readwrite,assign,getter=socketTimeout,setter=setSocketTimeout:) int socketTimeout;

- (int)socketTimeout;
- (void)setSocketTimeout :(int)newSocketTimeout;

@property (nonatomic,readwrite,assign,getter=socketUseIPv6,setter=setSocketUseIPv6:) BOOL socketUseIPv6;

- (BOOL)socketUseIPv6;
- (void)setSocketUseIPv6 :(BOOL)newSocketUseIPv6;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

SubjectConfirmations Property (SAMLReader Module)

Returns a list of subject confirmations from the SubjectQuery element.

Syntax

public var subjectConfirmations: Array<SAMLSubjectConfirmation> {

get {...} }

@property (nonatomic,readonly,assign,getter=subjectConfirmationCount) int subjectConfirmationCount;

- (int)subjectConfirmationCount;

- (NSString*)subjectConfirmationDataAddress:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationDataInResponseTo:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationDataNotBefore:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationDataNotOnOrAfter:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationDataRecipient:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationDataType:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationID:(int)subjectConfirmationIndex;

- (NSString*)subjectConfirmationMethod:(int)subjectConfirmationIndex;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

SubjectID Property (SAMLReader Module)

Returns the subject of the message.

Syntax

public var subjectID: String {

get {...} }

@property (nonatomic,readonly,assign,getter=subjectID) NSString* subjectID;

- (NSString*)subjectID;

Default Value

""

Remarks

Check this property to obtain the SAML ID of the message subject.

This property is read-only.

TLSSettings Property (SAMLReader Module)

Manages TLS layer settings.

Syntax

public var tlsSettings: TLSSettings {

get {...} }

@property (nonatomic,readwrite,assign,getter=TLSAutoValidateCertificates,setter=setTLSAutoValidateCertificates:) BOOL TLSAutoValidateCertificates;

- (BOOL)TLSAutoValidateCertificates;
- (void)setTLSAutoValidateCertificates :(BOOL)newTLSAutoValidateCertificates;

@property (nonatomic,readwrite,assign,getter=TLSBaseConfiguration,setter=setTLSBaseConfiguration:) int TLSBaseConfiguration;

- (int)TLSBaseConfiguration;
- (void)setTLSBaseConfiguration :(int)newTLSBaseConfiguration;

@property (nonatomic,readwrite,assign,getter=TLSCiphersuites,setter=setTLSCiphersuites:) NSString* TLSCiphersuites;

- (NSString*)TLSCiphersuites;
- (void)setTLSCiphersuites :(NSString*)newTLSCiphersuites;

@property (nonatomic,readwrite,assign,getter=TLSECCurves,setter=setTLSECCurves:) NSString* TLSECCurves;

- (NSString*)TLSECCurves;
- (void)setTLSECCurves :(NSString*)newTLSECCurves;

@property (nonatomic,readwrite,assign,getter=TLSExtensions,setter=setTLSExtensions:) NSString* TLSExtensions;

- (NSString*)TLSExtensions;
- (void)setTLSExtensions :(NSString*)newTLSExtensions;

@property (nonatomic,readwrite,assign,getter=TLSForceResumeIfDestinationChanges,setter=setTLSForceResumeIfDestinationChanges:) BOOL TLSForceResumeIfDestinationChanges;

- (BOOL)TLSForceResumeIfDestinationChanges;
- (void)setTLSForceResumeIfDestinationChanges :(BOOL)newTLSForceResumeIfDestinationChanges;

@property (nonatomic,readwrite,assign,getter=TLSPreSharedIdentity,setter=setTLSPreSharedIdentity:) NSString* TLSPreSharedIdentity;

- (NSString*)TLSPreSharedIdentity;
- (void)setTLSPreSharedIdentity :(NSString*)newTLSPreSharedIdentity;

@property (nonatomic,readwrite,assign,getter=TLSPreSharedKey,setter=setTLSPreSharedKey:) NSString* TLSPreSharedKey;

- (NSString*)TLSPreSharedKey;
- (void)setTLSPreSharedKey :(NSString*)newTLSPreSharedKey;

@property (nonatomic,readwrite,assign,getter=TLSPreSharedKeyCiphersuite,setter=setTLSPreSharedKeyCiphersuite:) NSString* TLSPreSharedKeyCiphersuite;

- (NSString*)TLSPreSharedKeyCiphersuite;
- (void)setTLSPreSharedKeyCiphersuite :(NSString*)newTLSPreSharedKeyCiphersuite;

@property (nonatomic,readwrite,assign,getter=TLSRenegotiationAttackPreventionMode,setter=setTLSRenegotiationAttackPreventionMode:) int TLSRenegotiationAttackPreventionMode;

- (int)TLSRenegotiationAttackPreventionMode;
- (void)setTLSRenegotiationAttackPreventionMode :(int)newTLSRenegotiationAttackPreventionMode;

@property (nonatomic,readwrite,assign,getter=TLSRevocationCheck,setter=setTLSRevocationCheck:) int TLSRevocationCheck;

- (int)TLSRevocationCheck;
- (void)setTLSRevocationCheck :(int)newTLSRevocationCheck;

@property (nonatomic,readwrite,assign,getter=TLSSSLOptions,setter=setTLSSSLOptions:) int TLSSSLOptions;

- (int)TLSSSLOptions;
- (void)setTLSSSLOptions :(int)newTLSSSLOptions;

@property (nonatomic,readwrite,assign,getter=TLSTLSMode,setter=setTLSTLSMode:) int TLSTLSMode;

- (int)TLSTLSMode;
- (void)setTLSTLSMode :(int)newTLSTLSMode;

@property (nonatomic,readwrite,assign,getter=TLSUseExtendedMasterSecret,setter=setTLSUseExtendedMasterSecret:) BOOL TLSUseExtendedMasterSecret;

- (BOOL)TLSUseExtendedMasterSecret;
- (void)setTLSUseExtendedMasterSecret :(BOOL)newTLSUseExtendedMasterSecret;

@property (nonatomic,readwrite,assign,getter=TLSUseSessionResumption,setter=setTLSUseSessionResumption:) BOOL TLSUseSessionResumption;

- (BOOL)TLSUseSessionResumption;
- (void)setTLSUseSessionResumption :(BOOL)newTLSUseSessionResumption;

@property (nonatomic,readwrite,assign,getter=TLSVersions,setter=setTLSVersions:) int TLSVersions;

- (int)TLSVersions;
- (void)setTLSVersions :(int)newTLSVersions;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

TrustedCertificates Property (SAMLReader Module)

A list of trusted certificates for chain validation.

Syntax

public var trustedCertificates: Array<Certificate> {

get {...} }

@property (nonatomic,readwrite,assign,getter=trustedCertCount,setter=setTrustedCertCount:) int trustedCertCount;

- (int)trustedCertCount;
- (void)setTrustedCertCount :(int)newTrustedCertCount;

- (NSData*)trustedCertBytes:(int)trustedCertIndex;

- (long long)trustedCertHandle:(int)trustedCertIndex;
- (void)setTrustedCertHandle:(int)trustedCertIndex :(long long)newTrustedCertHandle;

 

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

UseBinding Property (SAMLReader Module)

Enables or disables automated binding processing.

Syntax

public var useBinding: Bool {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=useBinding,setter=setUseBinding:) BOOL useBinding;

- (BOOL)useBinding;
- (void)setUseBinding :(BOOL)newUseBinding;

Default Value

False

Remarks

This property controls whether class should process any known bindings it encounters in the message automatically. If using this property, check Binding property to establish the type of the binding processed, and POSTBinding and RedirectBinding to access the properties of specific binding types.

ValidateSignatures Property (SAMLReader Module)

Enables or disables automated signature validation.

Syntax

public var validateSignatures: Bool {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=validateSignatures,setter=setValidateSignatures:) BOOL validateSignatures;

- (BOOL)validateSignatures;
- (void)setValidateSignatures :(BOOL)newValidateSignatures;

Default Value

True

Remarks

Use this property to enable or disable automated signature validation by the component.

ValidationLog Property (SAMLReader Module)

Contains the complete log of the certificate validation routine.

Syntax

public var validationLog: String {

get {...} }

@property (nonatomic,readonly,assign,getter=validationLog) NSString* validationLog;

- (NSString*)validationLog;

Default Value

""

Remarks

Use this property to access the chain validation log produced by the class. The log can be very useful when investigating issues with chain validation, as it contains a step-by-step trace of the entire validation procedure.

This property is read-only.

ValidationMoment Property (SAMLReader Module)

The time point at which chain validity is to be established.

Syntax

public var validationMoment: String {

get {...}
set {...} }

@property (nonatomic,readwrite,assign,getter=validationMoment,setter=setValidationMoment:) NSString* validationMoment;

- (NSString*)validationMoment;
- (void)setValidationMoment :(NSString*)newValidationMoment;

Default Value

""

Remarks

Use this property to specify the moment in time at which chain validity should be established. The time is in UTC. Leave the setting empty to stick to the current moment.

The validity of the same chain may differ depending on the time point chosen due to temporal changes in subchain validities and revocation statuses.

Version Property (SAMLReader Module)

Returns SAML content version string.

Syntax

public var version: String {

get {...} }

@property (nonatomic,readonly,assign,getter=version) NSString* version;

- (NSString*)version;

Default Value

""

Remarks

Check this property to read the SAML content version string, such as "2.0".

This property is read-only.

CompareIDs Method (SAMLReader Module)

Compares two SAML IDs.

Syntax

public func compareIDs(id1: String, id2: String) throws -> Bool
- (BOOL)compareIDs:(NSString*)ID1 :(NSString*)ID2;

Remarks

Use this utility function to easily compare two SAML IDs.

Config Method (SAMLReader Module)

Sets or retrieves a configuration setting.

Syntax

public func config(configurationString: String) throws -> String
- (NSString*)config:(NSString*)configurationString;

Remarks

Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

DoAction Method (SAMLReader Module)

Performs an additional action.

Syntax

public func doAction(actionID: String, actionParams: String) throws -> String
- (NSString*)doAction:(NSString*)actionID :(NSString*)actionParams;

Remarks

DoAction is a generic method available in every class. It is used to perform an additional action introduced after the product major release. The list of actions is not fixed, and may be flexibly extended over time.

The unique identifier of the action is provided in ActionID parameter. ActionParams contains a list of parameters for the action in the form of PARAM1=VALUE1;PARAM2=VALUE2;....

GetIDProp Method (SAMLReader Module)

Extracts a specific property from a SAML ID.

Syntax

public func getIDProp(id: String, propName: String) throws -> String
- (NSString*)getIDProp:(NSString*)ID :(NSString*)propName;

Remarks

Use this method to recover a single ID property from a SAML ID.

PropName supports the following properties:

  • Format
  • NameQualifier
  • IDType
  • SPNameQualifier
  • SPProvidedID
  • Value

Open Method (SAMLReader Module)

Opens a SAML entity.

Syntax

public func open(input: String) throws -> Void
- (void)open:(NSString*)input;

Remarks

Use this method to process a SAML entity contained in a string.

OpenBytes Method (SAMLReader Module)

Opens a SAML entity.

Syntax

public func openBytes(inputBytes: Data) throws -> Void
- (void)openBytes:(NSData*)inputBytes;

Remarks

Use this method to process a SAML entity stored as a byte array.

OpenFile Method (SAMLReader Module)

Opens a SAML entity.

Syntax

public func openFile(inputFile: String) throws -> Void
- (void)openFile:(NSString*)inputFile;

Remarks

Use this method to process a SAML entity contained in a file.

PinAdviceAssertion Method (SAMLReader Module)

Pins advice assertion by propagating it in PinnedAssertionXXX properties.

Syntax

public func pinAdviceAssertion(assertionIndex: Int32, adviceAssertionIndex: Int32) throws -> Void
- (void)pinAdviceAssertion:(int)assertionIndex :(int)adviceAssertionIndex;

Remarks

Call this method to pin the advice assertion specified by AssertionIndex by publishing it in the selection of PinnedAssertionXXX properties, such as PinnedAssertionInfo. Use AdviceAssertionIndex to specify the advice assertion index.

PinAssertion Method (SAMLReader Module)

Pins assertion by propagating it in PinnedAssertionXXX properties.

Syntax

public func pinAssertion(assertionIndex: Int32) throws -> Void
- (void)pinAssertion:(int)assertionIndex;

Remarks

Use this method to pin a SAML assertion specified by its AssertionIndex in the selection of PinnedAssertionXXX properties, such as PinnedAssertionInfo.

Check AssertionCount to obtain the number of assertions in the message.

Error Event (SAMLReader Module)

Fires to report an error condition.

Syntax

func onError(errorCode: Int32, description: String)
- (void)onError:(int)errorCode :(NSString*)description;

Remarks

Subscribe to this event to be notified about any error conditions occurring during the component's work. ErrorCode and Description provide the details of the error.

Notification Event (SAMLReader Module)

This event notifies the application about an underlying control flow event.

Syntax

func onNotification(eventID: String, eventParam: String)
- (void)onNotification:(NSString*)eventID :(NSString*)eventParam;

Remarks

The class fires this event to let the application know about some event, occurrence, or milestone in the component. For example, it may fire to report completion of the document processing. The list of events being reported is not fixed, and may be flexibly extended over time.

The unique identifier of the event is provided in EventID parameter. EventParam contains any parameters accompanying the occurrence. Depending on the type of the component, the exact action it is performing, or the document being processed, one or both may be omitted.

SignatureFound Event (SAMLReader Module)

Signifies the start of signature validation.

Syntax

func onSignatureFound(issuerRDN: String, serialNumber: Data, subjectKeyID: Data, certFound: Bool, validateSignature: inout Bool, validateChain: inout Bool)
- (void)onSignatureFound:(NSString*)issuerRDN :(NSData*)serialNumber :(NSData*)subjectKeyID :(BOOL)certFound :(int*)validateSignature :(int*)validateChain;

Remarks

This event tells the application that signature validation is about to start, and provides the details about the signer's certificate via its IssuerRDN, SerialNumber, and SubjectKeyID parameters. It fires for every signature located in the verified document or message.

The CertFound is set to True if the class has found the needed certificate in one of the known locations, and to False otherwise, in which case you must provide it manually via KnownCertificates property.

Signature validation consists of two independent stages: cryptographic signature validation and chain validation. Separate validation results are reported for each, with SignatureValidationResult and ChainValidationResult properties respectively.

Use the ValidateSignature and ValidateChain parameters to tell the verifier which stages to include in the validation.

SignatureValidated Event (SAMLReader Module)

Reports the signature validation result.

Syntax

func onSignatureValidated(issuerRDN: String, serialNumber: Data, subjectKeyID: Data, validationResult: Int32)
- (void)onSignatureValidated:(NSString*)issuerRDN :(NSData*)serialNumber :(NSData*)subjectKeyID :(int)validationResult;

Remarks

This event is fired when the complete XML signature validation process is finished. IssuerRDN returns the name of the signature issuer, SerialNumber identifies the signing certificate, SubjectKeyID contains the key identifier (SecureBlackbox uses SHA-1 hash algorithm output as key identifiers). Finally, ValidationResult specifies whether signature is valid or not:

xsvValid0
xsvUnknown1
xsvCorrupted2
xsvSignerNotFound3
xsvFailure4
xsvReferenceCorrupted5

Certificate Type

Provides details of an individual X.509 certificate.

Remarks

This type provides access to X.509 certificate details.

Fields

bytes
Data

Returns raw certificate data in DER format.

ca
Bool

Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension).

caKeyID
Data

A unique identifier (fingerprint) of the CA certificate's private key.

Authority Key Identifier is a (non-critical) X.509 certificate extension which allows the identification of certificates produced by the same issuer, but with different public keys.

crlDistributionPoints
String

Locations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.

curve
String

Specifies the elliptic curve of the EC public key.

SB_EC_SECP112R1SECP112R1
SB_EC_SECP112R2SECP112R2
SB_EC_SECP128R1SECP128R1
SB_EC_SECP128R2SECP128R2
SB_EC_SECP160K1SECP160K1
SB_EC_SECP160R1SECP160R1
SB_EC_SECP160R2SECP160R2
SB_EC_SECP192K1SECP192K1
SB_EC_SECP192R1SECP192R1
SB_EC_SECP224K1SECP224K1
SB_EC_SECP224R1SECP224R1
SB_EC_SECP256K1SECP256K1
SB_EC_SECP256R1SECP256R1
SB_EC_SECP384R1SECP384R1
SB_EC_SECP521R1SECP521R1
SB_EC_SECT113R1SECT113R1
SB_EC_SECT113R2SECT113R2
SB_EC_SECT131R1SECT131R1
SB_EC_SECT131R2SECT131R2
SB_EC_SECT163K1SECT163K1
SB_EC_SECT163R1SECT163R1
SB_EC_SECT163R2SECT163R2
SB_EC_SECT193R1SECT193R1
SB_EC_SECT193R2SECT193R2
SB_EC_SECT233K1SECT233K1
SB_EC_SECT233R1SECT233R1
SB_EC_SECT239K1SECT239K1
SB_EC_SECT283K1SECT283K1
SB_EC_SECT283R1SECT283R1
SB_EC_SECT409K1SECT409K1
SB_EC_SECT409R1SECT409R1
SB_EC_SECT571K1SECT571K1
SB_EC_SECT571R1SECT571R1
SB_EC_PRIME192V1PRIME192V1
SB_EC_PRIME192V2PRIME192V2
SB_EC_PRIME192V3PRIME192V3
SB_EC_PRIME239V1PRIME239V1
SB_EC_PRIME239V2PRIME239V2
SB_EC_PRIME239V3PRIME239V3
SB_EC_PRIME256V1PRIME256V1
SB_EC_C2PNB163V1C2PNB163V1
SB_EC_C2PNB163V2C2PNB163V2
SB_EC_C2PNB163V3C2PNB163V3
SB_EC_C2PNB176W1C2PNB176W1
SB_EC_C2TNB191V1C2TNB191V1
SB_EC_C2TNB191V2C2TNB191V2
SB_EC_C2TNB191V3C2TNB191V3
SB_EC_C2ONB191V4C2ONB191V4
SB_EC_C2ONB191V5C2ONB191V5
SB_EC_C2PNB208W1C2PNB208W1
SB_EC_C2TNB239V1C2TNB239V1
SB_EC_C2TNB239V2C2TNB239V2
SB_EC_C2TNB239V3C2TNB239V3
SB_EC_C2ONB239V4C2ONB239V4
SB_EC_C2ONB239V5C2ONB239V5
SB_EC_C2PNB272W1C2PNB272W1
SB_EC_C2PNB304W1C2PNB304W1
SB_EC_C2TNB359V1C2TNB359V1
SB_EC_C2PNB368W1C2PNB368W1
SB_EC_C2TNB431R1C2TNB431R1
SB_EC_NISTP192NISTP192
SB_EC_NISTP224NISTP224
SB_EC_NISTP256NISTP256
SB_EC_NISTP384NISTP384
SB_EC_NISTP521NISTP521
SB_EC_NISTB163NISTB163
SB_EC_NISTB233NISTB233
SB_EC_NISTB283NISTB283
SB_EC_NISTB409NISTB409
SB_EC_NISTB571NISTB571
SB_EC_NISTK163NISTK163
SB_EC_NISTK233NISTK233
SB_EC_NISTK283NISTK283
SB_EC_NISTK409NISTK409
SB_EC_NISTK571NISTK571
SB_EC_GOSTCPTESTGOSTCPTEST
SB_EC_GOSTCPAGOSTCPA
SB_EC_GOSTCPBGOSTCPB
SB_EC_GOSTCPCGOSTCPC
SB_EC_GOSTCPXCHAGOSTCPXCHA
SB_EC_GOSTCPXCHBGOSTCPXCHB
SB_EC_BRAINPOOLP160R1BRAINPOOLP160R1
SB_EC_BRAINPOOLP160T1BRAINPOOLP160T1
SB_EC_BRAINPOOLP192R1BRAINPOOLP192R1
SB_EC_BRAINPOOLP192T1BRAINPOOLP192T1
SB_EC_BRAINPOOLP224R1BRAINPOOLP224R1
SB_EC_BRAINPOOLP224T1BRAINPOOLP224T1
SB_EC_BRAINPOOLP256R1BRAINPOOLP256R1
SB_EC_BRAINPOOLP256T1BRAINPOOLP256T1
SB_EC_BRAINPOOLP320R1BRAINPOOLP320R1
SB_EC_BRAINPOOLP320T1BRAINPOOLP320T1
SB_EC_BRAINPOOLP384R1BRAINPOOLP384R1
SB_EC_BRAINPOOLP384T1BRAINPOOLP384T1
SB_EC_BRAINPOOLP512R1BRAINPOOLP512R1
SB_EC_BRAINPOOLP512T1BRAINPOOLP512T1
SB_EC_CURVE25519CURVE25519
SB_EC_CURVE448CURVE448

fingerprint
Data

Contains the fingerprint (a hash imprint) of this certificate.

friendlyName
String

Contains an associated alias (friendly name) of the certificate.

handle
Int64

Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise.

When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object after such operation. pdfSigner.setSigningCertHandle(certMgr.getCertHandle());

hashAlgorithm
String

Specifies the hash algorithm to be used in the operations on the certificate (such as key signing)

SB_HASH_ALGORITHM_SHA1SHA1
SB_HASH_ALGORITHM_SHA224SHA224
SB_HASH_ALGORITHM_SHA256SHA256
SB_HASH_ALGORITHM_SHA384SHA384
SB_HASH_ALGORITHM_SHA512SHA512
SB_HASH_ALGORITHM_MD2MD2
SB_HASH_ALGORITHM_MD4MD4
SB_HASH_ALGORITHM_MD5MD5
SB_HASH_ALGORITHM_RIPEMD160RIPEMD160
SB_HASH_ALGORITHM_CRC32CRC32
SB_HASH_ALGORITHM_SSL3SSL3
SB_HASH_ALGORITHM_GOST_R3411_1994GOST1994
SB_HASH_ALGORITHM_WHIRLPOOLWHIRLPOOL
SB_HASH_ALGORITHM_POLY1305POLY1305
SB_HASH_ALGORITHM_SHA3_224SHA3_224
SB_HASH_ALGORITHM_SHA3_256SHA3_256
SB_HASH_ALGORITHM_SHA3_384SHA3_384
SB_HASH_ALGORITHM_SHA3_512SHA3_512
SB_HASH_ALGORITHM_BLAKE2S_128BLAKE2S_128
SB_HASH_ALGORITHM_BLAKE2S_160BLAKE2S_160
SB_HASH_ALGORITHM_BLAKE2S_224BLAKE2S_224
SB_HASH_ALGORITHM_BLAKE2S_256BLAKE2S_256
SB_HASH_ALGORITHM_BLAKE2B_160BLAKE2B_160
SB_HASH_ALGORITHM_BLAKE2B_256BLAKE2B_256
SB_HASH_ALGORITHM_BLAKE2B_384BLAKE2B_384
SB_HASH_ALGORITHM_BLAKE2B_512BLAKE2B_512
SB_HASH_ALGORITHM_SHAKE_128SHAKE_128
SB_HASH_ALGORITHM_SHAKE_256SHAKE_256
SB_HASH_ALGORITHM_SHAKE_128_LENSHAKE_128_LEN
SB_HASH_ALGORITHM_SHAKE_256_LENSHAKE_256_LEN

issuer
String

The common name of the certificate issuer (CA), typically a company name.

issuerRDN
String

A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.

keyAlgorithm
String

Specifies the public key algorithm of this certificate.

SB_CERT_ALGORITHM_ID_RSA_ENCRYPTIONrsaEncryption
SB_CERT_ALGORITHM_MD2_RSA_ENCRYPTIONmd2withRSAEncryption
SB_CERT_ALGORITHM_MD5_RSA_ENCRYPTIONmd5withRSAEncryption
SB_CERT_ALGORITHM_SHA1_RSA_ENCRYPTIONsha1withRSAEncryption
SB_CERT_ALGORITHM_ID_DSAid-dsa
SB_CERT_ALGORITHM_ID_DSA_SHA1id-dsa-with-sha1
SB_CERT_ALGORITHM_DH_PUBLICdhpublicnumber
SB_CERT_ALGORITHM_SHA224_RSA_ENCRYPTIONsha224WithRSAEncryption
SB_CERT_ALGORITHM_SHA256_RSA_ENCRYPTIONsha256WithRSAEncryption
SB_CERT_ALGORITHM_SHA384_RSA_ENCRYPTIONsha384WithRSAEncryption
SB_CERT_ALGORITHM_SHA512_RSA_ENCRYPTIONsha512WithRSAEncryption
SB_CERT_ALGORITHM_ID_RSAPSSid-RSASSA-PSS
SB_CERT_ALGORITHM_ID_RSAOAEPid-RSAES-OAEP
SB_CERT_ALGORITHM_RSASIGNATURE_RIPEMD160ripemd160withRSA
SB_CERT_ALGORITHM_ID_ELGAMALelGamal
SB_CERT_ALGORITHM_SHA1_ECDSAecdsa-with-SHA1
SB_CERT_ALGORITHM_RECOMMENDED_ECDSAecdsa-recommended
SB_CERT_ALGORITHM_SHA224_ECDSAecdsa-with-SHA224
SB_CERT_ALGORITHM_SHA256_ECDSAecdsa-with-SHA256
SB_CERT_ALGORITHM_SHA384_ECDSAecdsa-with-SHA384
SB_CERT_ALGORITHM_SHA512_ECDSAecdsa-with-SHA512
SB_CERT_ALGORITHM_ECid-ecPublicKey
SB_CERT_ALGORITHM_SPECIFIED_ECDSAecdsa-specified
SB_CERT_ALGORITHM_GOST_R3410_1994id-GostR3410-94
SB_CERT_ALGORITHM_GOST_R3410_2001id-GostR3410-2001
SB_CERT_ALGORITHM_GOST_R3411_WITH_R3410_1994id-GostR3411-94-with-GostR3410-94
SB_CERT_ALGORITHM_GOST_R3411_WITH_R3410_2001id-GostR3411-94-with-GostR3410-2001
SB_CERT_ALGORITHM_SHA1_ECDSA_PLAINecdsa-plain-SHA1
SB_CERT_ALGORITHM_SHA224_ECDSA_PLAINecdsa-plain-SHA224
SB_CERT_ALGORITHM_SHA256_ECDSA_PLAINecdsa-plain-SHA256
SB_CERT_ALGORITHM_SHA384_ECDSA_PLAINecdsa-plain-SHA384
SB_CERT_ALGORITHM_SHA512_ECDSA_PLAINecdsa-plain-SHA512
SB_CERT_ALGORITHM_RIPEMD160_ECDSA_PLAINecdsa-plain-RIPEMD160
SB_CERT_ALGORITHM_WHIRLPOOL_RSA_ENCRYPTIONwhirlpoolWithRSAEncryption
SB_CERT_ALGORITHM_ID_DSA_SHA224id-dsa-with-sha224
SB_CERT_ALGORITHM_ID_DSA_SHA256id-dsa-with-sha256
SB_CERT_ALGORITHM_SHA3_224_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-sha3-224
SB_CERT_ALGORITHM_SHA3_256_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-sha3-256
SB_CERT_ALGORITHM_SHA3_384_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-sha3-384
SB_CERT_ALGORITHM_SHA3_512_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-sha3-512
SB_CERT_ALGORITHM_SHA3_224_ECDSAid-ecdsa-with-sha3-224
SB_CERT_ALGORITHM_SHA3_256_ECDSAid-ecdsa-with-sha3-256
SB_CERT_ALGORITHM_SHA3_384_ECDSAid-ecdsa-with-sha3-384
SB_CERT_ALGORITHM_SHA3_512_ECDSAid-ecdsa-with-sha3-512
SB_CERT_ALGORITHM_SHA3_224_ECDSA_PLAINid-ecdsa-plain-with-sha3-224
SB_CERT_ALGORITHM_SHA3_256_ECDSA_PLAINid-ecdsa-plain-with-sha3-256
SB_CERT_ALGORITHM_SHA3_384_ECDSA_PLAINid-ecdsa-plain-with-sha3-384
SB_CERT_ALGORITHM_SHA3_512_ECDSA_PLAINid-ecdsa-plain-with-sha3-512
SB_CERT_ALGORITHM_ID_DSA_SHA3_224id-dsa-with-sha3-224
SB_CERT_ALGORITHM_ID_DSA_SHA3_256id-dsa-with-sha3-256
SB_CERT_ALGORITHM_BLAKE2S_128_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2s128
SB_CERT_ALGORITHM_BLAKE2S_160_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2s160
SB_CERT_ALGORITHM_BLAKE2S_224_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2s224
SB_CERT_ALGORITHM_BLAKE2S_256_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2s256
SB_CERT_ALGORITHM_BLAKE2B_160_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2b160
SB_CERT_ALGORITHM_BLAKE2B_256_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2b256
SB_CERT_ALGORITHM_BLAKE2B_384_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2b384
SB_CERT_ALGORITHM_BLAKE2B_512_RSA_ENCRYPTIONid-rsassa-pkcs1-v1_5-with-blake2b512
SB_CERT_ALGORITHM_BLAKE2S_128_ECDSAid-ecdsa-with-blake2s128
SB_CERT_ALGORITHM_BLAKE2S_160_ECDSAid-ecdsa-with-blake2s160
SB_CERT_ALGORITHM_BLAKE2S_224_ECDSAid-ecdsa-with-blake2s224
SB_CERT_ALGORITHM_BLAKE2S_256_ECDSAid-ecdsa-with-blake2s256
SB_CERT_ALGORITHM_BLAKE2B_160_ECDSAid-ecdsa-with-blake2b160
SB_CERT_ALGORITHM_BLAKE2B_256_ECDSAid-ecdsa-with-blake2b256
SB_CERT_ALGORITHM_BLAKE2B_384_ECDSAid-ecdsa-with-blake2b384
SB_CERT_ALGORITHM_BLAKE2B_512_ECDSAid-ecdsa-with-blake2b512
SB_CERT_ALGORITHM_BLAKE2S_128_ECDSA_PLAINid-ecdsa-plain-with-blake2s128
SB_CERT_ALGORITHM_BLAKE2S_160_ECDSA_PLAINid-ecdsa-plain-with-blake2s160
SB_CERT_ALGORITHM_BLAKE2S_224_ECDSA_PLAINid-ecdsa-plain-with-blake2s224
SB_CERT_ALGORITHM_BLAKE2S_256_ECDSA_PLAINid-ecdsa-plain-with-blake2s256
SB_CERT_ALGORITHM_BLAKE2B_160_ECDSA_PLAINid-ecdsa-plain-with-blake2b160
SB_CERT_ALGORITHM_BLAKE2B_256_ECDSA_PLAINid-ecdsa-plain-with-blake2b256
SB_CERT_ALGORITHM_BLAKE2B_384_ECDSA_PLAINid-ecdsa-plain-with-blake2b384
SB_CERT_ALGORITHM_BLAKE2B_512_ECDSA_PLAINid-ecdsa-plain-with-blake2b512
SB_CERT_ALGORITHM_ID_DSA_BLAKE2S_224id-dsa-with-blake2s224
SB_CERT_ALGORITHM_ID_DSA_BLAKE2S_256id-dsa-with-blake2s256
SB_CERT_ALGORITHM_EDDSA_ED25519id-Ed25519
SB_CERT_ALGORITHM_EDDSA_ED448id-Ed448
SB_CERT_ALGORITHM_EDDSA_ED25519_PHid-Ed25519ph
SB_CERT_ALGORITHM_EDDSA_ED448_PHid-Ed448ph
SB_CERT_ALGORITHM_EDDSAid-EdDSA
SB_CERT_ALGORITHM_EDDSA_SIGNATUREid-EdDSA-sig

keyBits
Int32

Returns the length of the public key.

keyFingerprint
Data

Returns a fingerprint of the public key contained in the certificate.

keyUsage
Int32

Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.

This value is a bit mask of the following values:

ckuUnknown0x00000Unknown key usage

ckuDigitalSignature0x00001Digital signature

ckuNonRepudiation0x00002Non-repudiation

ckuKeyEncipherment0x00004Key encipherment

ckuDataEncipherment0x00008Data encipherment

ckuKeyAgreement0x00010Key agreement

ckuKeyCertSign0x00020Certificate signing

ckuCRLSign0x00040Revocation signing

ckuEncipherOnly0x00080Encipher only

ckuDecipherOnly0x00100Decipher only

ckuServerAuthentication0x00200Server authentication

ckuClientAuthentication0x00400Client authentication

ckuCodeSigning0x00800Code signing

ckuEmailProtection0x01000Email protection

ckuTimeStamping0x02000Timestamping

ckuOCSPSigning0x04000OCSP signing

ckuSmartCardLogon0x08000Smartcard logon

ckuKeyPurposeClientAuth0x10000Kerberos - client authentication

ckuKeyPurposeKDC0x20000Kerberos - KDC

keyValid
Bool

Returns True if the certificate's key is cryptographically valid, and False otherwise.

ocspLocations
String

Locations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA.

ocspNoCheck
Bool

TBD.

origin
Int32

Returns the origin of this certificate.

policyIDs
String

Contains identifiers (OIDs) of the applicable certificate policies.

The Certificate Policies extension identifies a sequence of policies under which the certificate has been issued, and which regulate its usage.

privateKeyBytes
Data

Contains the certificate's private key. It is normal for this property to be empty if the private key is non-exportable.

privateKeyExists
Bool

Indicates whether the certificate has an associated private key.

privateKeyExtractable
Bool

Indicates whether the private key is extractable

publicKeyBytes
Data

Contains the certificate's public key in DER format.

qualifiedStatements
QualifiedStatementsTypes

TBD

selfSigned
Bool

Indicates whether the certificate is self-signed (root) or signed by an external CA.

serialNumber
Data

Returns the certificate's serial number.

sigAlgorithm
String

Indicates the algorithm that was used by the CA to sign this certificate.

subject
String

The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.

subjectAlternativeName
String

TBD.

subjectKeyID
Data

Contains a unique identifier (fingerprint) of the certificate's private key.

Subject Key Identifier is a (non-critical) X.509 certificate extension which allows the identification of certificates containing a particular public key. In SecureBlackbox, the unique identifier is represented with a SHA1 hash of the bit string of the subject public key.

subjectRDN
String

A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).

validFrom
String

The time point at which the certificate becomes valid, in UTC.

validTo
String

The time point at which the certificate expires, in UTC.

Constructors

public init(stream: InputStream?)

Loads the X.509 certificate from a stream. Stream is a stream containing the certificate data.

public init()

Creates a new object with default field values.

CRL Type

Represents a Certificate Revocation List.

Remarks

CRLs store information about revoked certificates, i.e., certificates that have been identified as invalid by their issuing certificate authority (CA) for any number of reasons.

Each CRL object lists certificates from a single CA and identifies them by their serial numbers. A CA may or may not publish a CRL, may publish several CRLs, or may publish the same CRL in multiple locations.

Unlike OCSP responses, CRLs only list certificates that have been revoked. They do not list certificates that are still valid.

Fields

bytes
Data

Returns raw CRL data in DER format.

caKeyID
Data

A unique identifier (fingerprint) of the CA certificate's private key, if present in the CRL.

entryCount
Int32

Returns the number of certificate status entries in the CRL.

handle
Int64

Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise.

When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object after such operation. pdfSigner.setSigningCertHandle(certMgr.getCertHandle());

issuer
String

The common name of the CRL issuer (CA), typically a company name.

issuerRDN
String

A collection of information, in the form of [OID, Value] pairs, uniquely identifying the CRL issuer.

location
String

The URL that the CRL was downloaded from.

nextUpdate
String

The planned time and date of the next version of this CRL to be published.

sigAlgorithm
String

The public key algorithm that was used by the CA to sign this CRL.

tbs
Data

The to-be-signed part of the CRL (the CRL without the signature part).

thisUpdate
String

The date and time at which this version of the CRL was published.

Constructors

public init()

Creates an empty CRL object.

OCSPResponse Type

Represents a single OCSP response originating from an OCSP responder.

Remarks

OCSP is a protocol that allows verification of certificate status in real-time, and is an alternative to Certificate Revocation Lists (CRL).

An OCSP response is a snapshot of the certificate status at a given time.

Fields

bytes
Data

Buffer containing raw OCSP response data.

entryCount
Int32

The number of SingleResponse elements contained in this OCSP response. Each SingleResponse element corresponds to a certificate status.

handle
Int64

Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise.

When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object after such operation. pdfSigner.setSigningCertHandle(certMgr.getCertHandle());

issuer
String

Indicates the issuer of this response (a CA or its authorized representative).

issuerRDN
String

Indicates the RDN of the issuer of this response (a CA or its authorized representative).

location
String

Location of the OCSP responder.

producedAt
String

Specifies the time when the response was produced, in UTC.

Constructors

public init()

Creates an empty OCSP response object.

ProxySettings Type

A container for proxy server settings.

Remarks

This type exposes a collection of properties for tuning up the proxy server configuration.

Fields

address
String

The IP address of the proxy server.

authentication
ProxyAuthTypes

The authentication type used by the proxy server.

patNoAuthentication0
patBasic1
patDigest2
patNTLM3

password
String

The password to authenticate to the proxy server.

port
Int32

The port on the proxy server to connect to.

proxyType
ProxyTypes

The type of the proxy server.

The WebTunnel proxy is also known as HTTPS proxy. Unlike HTTP proxy, HTTPS proxy (WebTunnel) provides end-to-end security.

cptNone0
cptSocks41
cptSocks52
cptWebTunnel3
cptHTTP4

requestHeaders
String

Contains HTTP request headers for WebTunnel and HTTP proxy.

responseBody
String

Contains the HTTP or HTTPS (WebTunnel) proxy response body.

responseHeaders
String

Contains response headers received from an HTTP or HTTPS (WebTunnel) proxy server.

useIPv6
Bool

Specifies whether IPv6 should be used when connecting through the proxy.

useProxy
Bool

Enables or disables proxy-driven connection.

username
String

Specifies the username credential for proxy authentication.

Constructors

public init()

Creates a new ProxySettings object.

SAMLArtifact Type

Represents a SAML Artifact entity.

Remarks

This type is a container for a SAML Artifact entity. A SAML artifact consists of a , an , and a , which contains the body of the artifact and varies depending on the .

Fields

endpointIndex
Int32

An accessor to the EndpointIndex entry of the artifact.

The EndpointIndex references a specific artifact resolution endpoint (IdP or SP) managed by the artifact issuer.

messageHandle
Data

An accessor to the MessageHandle property of the artifact.

A message handle is a unique reference to a SAML message that can be produced by the artifact issuer upon request.

remainingArtifact
Data

Returns the contents of the artifact.

Check this property to access the encoded contents of the artifact. This property is updated internally from the parameters of the artifact.

sourceID
Data

An accessor to the SourceID property of the artifact.

SourceID uniquely identifies the issuer of the artifact.

typeCode
Int32

The TypeCode field of the artifact.

The type code artifact parameter uniquely identifies the artifact format. Currently (as per SAML 2.0) the only type code of 4 is defined. This format assumes the presence of , , and parameters.

uri
String

An accessor to the URI property of the artifact.

The URI property contains the origin of the artifact.

Constructors

public init()

Creates a new SAMLArtifact object.

SAMLAssertionCondition Type

Represents a SAML assertion Condition parameter.

Remarks

This type is a container for a single Condition parameter of a SAML assertion.

Fields

audienceList
String

An accessor to the Audience list parameter of an audience restriction condition.

Use this property to read or set a list of audiences included in the restriction. Each audience is represented by an URI. Provide multiple audiences by splitting them with CRLF separators.

conditionType
SAMLConditionTypes

Specifies a type of the condition object.

Use this property to check or specify a type of the condition object. This can be either an audience restriction, a one time use limitation, or a proxy restriction.

proxyRestrictionCount
Int32

An accessor to the proxy restriction count element of the condition.

Use this setting to access or set the value of the proxy restriction count condition.

Constructors

public init()

Creates a new SAMLAssertionCondition object.

SAMLAssertionIDRequest Type

Represents a SAML AssertionIDRequest object.

Remarks

This type is a container for a SAML AssertionIDRequest element. This element is used to request assertions by their IDs.

Fields

references
String

Contains the References entry of the SAML assertion ID request.

Use this property to read or specify the value of the References entry of the Assertion ID Request.

Constructors

public init()

Creates a new SAMLAssertionIDRequest object.

SAMLAssertionInfo Type

Contains information about a SAML assertion.

Remarks

Use this type to get general information about a SAML assertion.

Fields

adviceAssertionCount
Int32

Contains the number of advice assertions.

Use this property to access the number of advice assertions.

assertionType
SAMLAssertionTypes

Specifies the type of the assertion.

Use this property to check or set the type of the assertion.

chainValidationDetails
Int32

The details of a certificate chain validation outcome. They may often suggest what reasons that contributed to the overall validation result.

Returns a bit mask of the following options:

cvrBadData0x0001One or more certificates in the validation path are malformed

cvrRevoked0x0002One or more certificates are revoked

cvrNotYetValid0x0004One or more certificates are not yet valid

cvrExpired0x0008One or more certificates are expired

cvrInvalidSignature0x0010A certificate contains a non-valid digital signature

cvrUnknownCA0x0020A CA certificate for one or more certificates has not been found (chain incomplete)

cvrCAUnauthorized0x0040One of the CA certificates are not authorized to act as CA

cvrCRLNotVerified0x0080One or more CRLs could not be verified

cvrOCSPNotVerified0x0100One or more OCSP responses could not be verified

cvrIdentityMismatch0x0200The identity protected by the certificate (a TLS endpoint or an e-mail addressee) does not match what is recorded in the certificate

cvrNoKeyUsage0x0400A mandatory key usage is not enabled in one of the chain certificates

cvrBlocked0x0800One or more certificates are blocked

cvrFailure0x1000General validation failure

cvrChainLoop0x2000Chain loop: one of the CA certificates recursively signs itself

cvrWeakAlgorithm0x4000A weak algorithm is used in one of certificates or revocation elements

cvrUserEnforced0x8000The chain was considered invalid following intervention from a user code

chainValidationResult
ChainValidities

The outcome of a certificate chain validation routine.

Available options:

cvtValid0The chain is valid

cvtValidButUntrusted1The chain is valid, but the root certificate is not trusted

cvtInvalid2The chain is not valid (some of certificates are revoked, expired, or contain an invalid signature)

cvtCantBeEstablished3The validity of the chain cannot be established because of missing or unavailable validation information (certificates, CRLs, or OCSP responses)

Use the ValidationLog property to access the detailed validation log.

conditionsNotBefore
String

Represents the Conditions.NotBefore assertion property.

Use this property to get or set the Conditions.NotBefore property of the assertion.

conditionsNotOnOrAfter
String

Represents the Conditions.NotOnOrAfter assertion property.

Use this property to get or set the Conditions.NotOnOrAfter property of the assertion.

encryptedContent
String

Represents the encrypted assertion content.

Use this property to get or set the encrypted assertion content.

id
String

Represents the ID of the assertion.

Use this property to read or set the unique ID of the assertion.

idRef
String

Represents an ID reference value.

Use this property to read or set the ID reference value for assertions of csatAssertionIDRef type.

issueInstant
String

Contains the assertion issuance time stamp.

Use this property to check or set the assertion issuance time.

signatureValidationResult
SignatureValidities

The outcome of the cryptographic signature validation.

The following signature validity values are supported:

svtValid0The signature is valid

svtUnknown1Signature validity is unknown

svtCorrupted2The signature is corrupted

svtSignerNotFound3Failed to acquire the signing certificate. The signature cannot be validated.

svtFailure4General failure

signed
Bool

Specifies whether the assertion is signed.

Use this property to establish whether the assertion is signed.

uriRef
String

Represents an URI reference value.

Use this property to read or set the URI reference value for assertions of csatAssertionURIRef type.

validationLog
String

Contains the signing certificate's chain validation log. This information may be very useful in investigating chain validation failures.

version
String

Specifies the SAML protocol version used.

This property specifies the SAML protocol version. The default value is 2.0.

Constructors

public init()

Creates a new SAMLAssertionInfo object.

SAMLAssertionStatement Type

Represents an assertion statement.

Remarks

This type is a container for an assertion statement.

Fields

attributes
String

Contains a list of statement attribute names.

Use this property to access the set of names of assertion attributes, separated by CRLF.

authnContextAuthenticatingAuthorities
String

Contains the list of authenticating authorities.

Use this property to access the list of URIs of authenticating authorities (IdP entity IDs).

authnContextChoice
String

Specifies the authentication context choice variant.

Use this property to set the authentication context choice variant. The currently supported values are v1 and v2. If this setting is left empty, the v1 variant is assumed.

authnContextClassRef
String

Indicates the authentication contexts class reference.

Use this property to get or set the authentication contexts class reference attribute.

authnContextDecl
String

Specifies the authentication contexts declaration.

Use this property to access or set the declaration element of the authentication context.

authnContextDeclRef
String

Specifies the authentication contexts declaration reference.

Use this property to get or set the declaration reference of the authentication context.

authnInstant
String

Specifies the authentication event timestamp.

Use this property to read or set the moment in time the authentication event took place.

authnSessionIndex
String

Contains the authentication session index.

Use this property to access or set the authentication session index.

authnSessionNotOnOrAfter
String

Maps to the SessionNotOnOrAfter parameter of the authentication statement.

Use this property to access or set the SessionNotOnOrAfter parameter of the authentication statement.

authnSubjectLocalityAddress
String

Specifies the authentication subjects address.

Use this property to specify the address parameter of the authentication subjects locality.

authnSubjectLocalityDNSName
String

Maps to the authentication subjects DNS name parameter.

Use this property to access or set the authentication subjects DNS name locality parameter.

authzActions
String

Provides access to the list of actions of the authorization statement.

Use this property to read or set the actions of the authorization statement. Actions are represented as a list of Namespace=namespace;Value=Value strings, separated with CRLFs.

authzDecision
SAMLDecisions

Specifies the authorization decision.

Use this property to check or set the authorization decision. This can be one of Permit, Deny, or Indeterminate.

authzDecisionEvidence
String

Manages the authorization decision statement evidence parameter.

Use this property to read or set the authorization decision statement evidence parameter.

authzDecisionResource
String

Specifies the authorization decision statement resource parameter.

Use this property to access or set the resource parameter of the authorization statement.

statementType
SAMLAssertionStatementTypes

Specifies the assertion statement type.

This property specifies the assertion statement type. A statement can carry an authentication assertion, an attribute assertion, or an authorization decision assertion.

Constructors

public init()

Creates a new SAMLAssertionStatement object.

SAMLAttribute Type

A container for the SAML attribute object.

Remarks

This type is a container for the SAML attribute object.

Fields

friendlyName
String

Specifies the friendly name of the attribute

Use this property to access or set the friendly name of a SAML attribute (e.g. givenName).

name
String

Specifies the name of the attribute.

Use this property to read or set the formal name of the attribute (e.g. urn:oid:2.5.4.42).

nameFormat
String

Indicates the format used to reference the attribute.

This property specifies the format that is used to reference the attribute (e.g. urn:oasis:names:tc:SAML:2.0:attrname-format:uri).

statementIndex
Int32

Contains the index of the statement the attribute corresponds to.

Use this property to read or set the index of the statement in the statement list that this attribute corresponds to.

values
String

Contains a list of attribute values.

Use this property to access or set the value(s) included with the attribute. The value contains a list of strings of ContentType=contentType;Value=value format, separated with CRLF.

Constructors

public init()

Creates a new SAMLAttribute object.

SAMLAuthnQuery Type

A container for AuthnQuery element.

Remarks

This type is a container for SAML AuthnQuery element, which represents an authentication event query.

Fields

comparison
SAMLAuthnContextComparisons

Specifies the authentication context comparison method.

Use this property to access or set the authentication contexts comparison method (none, exact, minimum, maximum, or better).

contextClassRefs
String

Specifies the context class reference.

Use this property to access or set the authentication context class reference.

refType
SAMLAuthnRefTypes

Specifies the context reference type.

Use this property to access or set the authentication contexts reference type (class or declaration).

sessionIndex
String

Specifies the index of the session to the authentication entity.

Use this property to access or set the index of the session to the authentication entity.

Constructors

public init()

Creates a new SAMLAuthnQuery object.

SAMLAuthnRequest Type

Represents a SAML AuthnRequest object.

Remarks

This type represents a SAML AuthnRequest object. An AuthnRequest is sent by a principal to the identity provider when it needs to request an assertion containing an authentication statement.

Fields

assertionConsumerServiceIndex
Int32

Specifies the assertion consumer service index.

Use this property to access or set the location index to which the response has to be returned.

assertionConsumerServiceURL
String

Specifies the assertion consumer service URL.

Use this property to access or set the URL of the location to which the response has to be returned.

attributeConsumingServiceIndex
Int32

Specifies the attribute consuming service index.

Use this property to read or set the attribute consuming service index.

conditionsNotBefore
String

Specifies the NotBefore condition of the request.

Use this property to access or set the NotBefore condition of the request.

conditionsNotOnOrAfter
String

Provides access to the NotOnOrAfter condition of the request.

Use this property to access or set the NotOnOrAfter condition of the request.

contextClassRefs
String

Provides access to the authentication context class references.

Use this property to access or set the class references of the authentication context. This property may contain a list of CRLF-separated strings.

contextComparison
SAMLAuthnContextComparisons

Specifies the AuthnContext comparison method.

Use this property to access or set the authentication contexts comparison method (none, exact, minimum, maximum, or better).

contextRefType
SAMLAuthnRefTypes

Specifies the context reference type.

Use this property to get or set the context reference type (Class or Declaration).

forceAuthn
Bool

Corresponds to the ForceAuthn parameter of the request.

Use this property to check or set the ForceAuthn parameter of the request, which enforces the identity provider to re-authenticate the presenter.

isPassive
Bool

Maps to the IsPassive parameter of the request.

Use this property to access or set the IsPassive parameter of the authentication request. IsPassive sets out the control the identity provider and user agent have over the authenticating users UI.

nameIDPolicyAllowCreate
Bool

Matches the AllowCreate attribute of NameIDPolicy element of the request.

Use this property to access or set the AllowCreate attribute of NameIDPolicy, which allows or disallows the identity provider to create a new identifier when processing the authentication request.

nameIDPolicyFormat
String

Matches to the Format attribute of the NameIDPolicy element of the request.

Use this property to access or set the Format attribute of NameIDPolicy.

nameIDPolicySPNameQualifier
String

Matches to the SP name qualifier attribute of the request.

Use this property to access or set the SP name qualifier attribute of the authentication request.

nameIDPolicyUseAllowCreate
Bool

Controls inclusion of AllowCreate attribute in the request.

Use this property to check or specify whether the AllowCreate attribute is included in the authentication request.

protocolBinding
String

Specifies the protocol binding to be requested in the authentication request.

Use this property to check or set the protocol binding to be used when responding to this request.

providerName
String

Specifies the name of the requestor.

Use this property to read or set the name of the requestor.

scopingIDPListGetComplete
String

Matches the GetComplete element of the IDPList entry of the Scoping object.

Use this property to access or set the GetComplete element of the IDPList entry of the Scoping object of the authentication request. This property typically contains an URI that allows to retrieve a complete list of identity providers.

scopingProxyCount
Int32

The maximum number of proxies on the way between the requestor and the provider.

Use this property to get or set the maximum number of intermediaries allowed between the requestor and the provider.

scopingRequesterIDs
String

A collection of requestor IDs on whose behalf the request is being sent.

Use this property to specify or read the requestor IDs, in the form of CRLF-separated strings, on whose behalf the request is being sent.

useForceAuthn
Bool

Controls inclusion of ForceAuthn attribute in the request.

Use this property to check or enable presence of the ForceAuthn attribute in the authentication request. Set this property to false to suppress inclusion of the attribute.

useIsPassive
Bool

Controls inclusion of IsPassive attribute in the request.

Use this property to check or enable presence of the IsPassive attribute in the authentication request. Set this property to false to suppress inclusion of the attribute.

Constructors

public init()

Creates a new SAMLAuthnRequest object.

SAMLAuthzDecisionQuery Type

Represents SAML AuthzDecisionQuery element.

Remarks

This type is a container for SAML AuthzDecisionQuery type.

Fields

actions
String

Specifies the list of actions included in the query.

Read or set this property to access the list of actions (as CRLF-separated strings) included in the query.

resource
String

Matches the Resource element of the query.

Use this property to read or set the Resource element of the authorization decision query.

Constructors

public init()

Creates a new SAMLAuthzDecisionQuery object.

SAMLIDPEntry Type

Represents a single identity provider information.

Remarks

This type is a container of single identity provider-specific details.

Fields

loc
String

Contains the value of the Loc attribute.

Use this property to access or set the value of the Loc (location) attribute.

name
String

Contains the name of the IdP provider.

Use this property to retrieve or set the Name attribute of the IdP provider.

providerID
String

Contains the provider ID.

Use this property to read or set the identity provider ID.

Constructors

public init()

Creates a new SAMLIDPEntry object.

SAMLLogoutRequest Type

Represents SAML LogoutRequest element.

Remarks

This type is a container for SAML LogoutRequest element.

Fields

nameID
String

Contains the value of the NameID parameter.

Use this property to access or set the value of the NameID parameter of the request.

notOnOrAfter
String

Contains the value of the NotOnOrAfter parameter.

Use this property to access or set the value of the NotOnOrAfter parameter.

reason
String

Contains the value of the Reason parameter.

Use this property to read or set the value of the Reason parameter.

sessionIndexes
String

Contains the list of session indices.

Use this property to access or set the list of session indices, as a CRLF-separated list of strings.

Constructors

public init()

Creates a new SAMLLogoutRequest object.

SAMLManageNameIDRequest Type

Represents a SAML ManageNameIDRequest element.

Remarks

This type is a container for ManageNameIDRequest element.

Fields

nameID
String

Contains the value of the NameID parameter of the request.

Use this property to read or set the value of the NameID parameter of the request.

newEncryptedID
String

Contains the value of the NewEncryptedID parameter of the request.

Use this property to check or set the value of the NewEncryptedID parameter of the request.

newID
String

Contains the value of the NewID parameter.

Use this property to access or set the NewID parameter of the request.

terminate
String

Contains the value of the Terminate parameter of the request.

Use this property to read or set the value of the Terminate parameter of the request.

Constructors

public init()

Creates a new SAMLManageNameIDRequest object.

SAMLNameIDMappingRequest Type

Represents SAML NameIDMappingRequest element.

Remarks

This type is a container for NameIDMappingRequest element.

Fields

nameID
String

An accessor to the NameID parameter of the request.

Use this property to read or set the value of the NameID parameter of the request object.

nameIDPolicyAllowCreate
Bool

Contains the value of AllowCreate parameter of the NameIDPolicy object.

Use this property to read or set the value of the AllowCreate parameter of the NameIDPolicy object. AllowCreate regulates whether the identity provider is given permission to create new subject identifiers.

nameIDPolicyFormat
String

Specifies the format of the NameIDPolicy element.

Use this property to set or read the value of the Format parameter of the NameIDPolicy object.

nameIDPolicySPNameQualifier
String

Contains the SPNameQualifier parameter of the NameIDPolicy element.

Use this property to specify or read the value of the SPNameQualifier parameter of the NameIDPolicy element of the request.

nameIDPolicyUseAllowCreate
Bool

Controls inclusion of UseAllow modifier in the NameIDPolicy object.

Use this property to include or exclude the UseAllow parameter from the NameIDPolicy object.

Constructors

public init()

Creates a new SAMLNameIDMappingRequest object.

SAMLPOSTBinding Type

Contains the details of the POST binding.

Remarks

This type provides access to properties of POST binding.

Fields

body
String

Contains the form body.

Use this property to read or set the body of the form returned by the service provider.

formTemplate
String

Contains the XHTML form template returned by the service provider.

Use this property to access or set the template of a POST form provided by the service provider.

mode
SAMLPOSTBindingModes

Specifies whether binding is applied on a server, or on a client side.

Use this property to specify whether binding is used on the server or client side of the communication. The default value is cspmClient.

relayState
String

Contains the value of the RelayState parameter of POST binding mechanism.

Use this property to read or set the value of the RelayState parameter of the POST binding. RelayState contains an uninterpreted service-provider-originating state object, which should be passed back to it with any further requests.

url
String

Contains the URL of POST binding mechanism.

Use this property to check or set the URL of POST binding mechanism.

Constructors

public init()

Creates a new SAMLPOSTBinding object.

SAMLRedirectBinding Type

Contains parameters of SAML Redirect binding.

Remarks

This type is a container for properties of SAML Redirect binding mechanism.

Fields

encoding
String

Specifies the message encoding.

Use this property to access or set the message encoding.

forceSign
Bool

Enforces a signature over all outgoing messages.

Use this property to enforce signing of all outgoing messages, independently of whether the original message was signed or not. See also .

relayState
String

Contains the RelayState parameter of the binding.

Use this property to access or set the RelayState parameter of the binding. This is an uninterpreted state string that should be passed back to the service provider with subsequent requests.

sign
Bool

Specifies whether to sign generated messages.

Use this property to enable or disable signing of generated binding entities. The SAML specification instructs that the binding should only be signed if the original XML was. This property therefore is only taken into account if the original XML was signed. With that in mind, certain service providers demand the binding to be signed at all times. Use property to enforce signatures on all binding entities.

signatureAlgorithm
String

Contains the signature algorithm.

Use this property to get or set the signature algorithm. This corresponds to the SigAlg query string parameter, and contains the URI of the signature algorithm.

url
String

Contains the URL of the request query.

Use this property to read or set the URL of the request query.

verifySignatures
Bool

Instructs the component whether to verify incoming signatures.

Use this property to activate or deactivate verification of signatures in incoming requests.

Constructors

public init()

Creates a new SAMLRedirectBinding object.

SAMLResponse Type

Represents a SAML response.

Remarks

This is a container for SAML response parameters.

Fields

nameID
String

Contains the NameID parameter of a NameIDMapping response.

Use this property to read or set the NameID parameter of the NameIDMapping response.

optionalElement
String

An optional message element to be returned with the response.

Use this property to access or set the optional XML element returned with the response.

responseType
SAMLResponseTypes

Contains the type of the response.

Use this property to get or set the type of the SAML response.

statusCodeSubValue
String

The value of the nested StatusCode.

This property contains the value of the nested StatusCode element.

statusCodeValue
String

Contains the status code value.

Use this property to read or set one of the status codes defined by SAML specification, such as 'urn:oasis:names:tc:SAML:2.0:status:Success' or 'urn:oasis:names:tc:SAML:2.0:status:Requester'.

statusDetail
String

Contains additional information on the status of the request.

The StatusDetail element contains additional request status information.

statusMessage
String

Contains a status message (optional).

This property specifies the status message which may, optionally, be returned to an operator.

Constructors

public init()

Creates a new SAMLResponse object.

SAMLSubjectConfirmation Type

Represents SAML SubjectConfirmation element.

Remarks

This type is a container for SAML SubjectConfirmating element.

Fields

dataAddress
String

Contains the address enabled for presenting assertions.

Use this property to specify the network address or location from which the subject confirmation should be issued. This optional element can be used to restrict the possibilities of an attacker to steal the assertion and present it from another IP address.

dataInResponseTo
String

The ID of the SAML message in response to which the assertion is issued.

This property specifies the ID of the SAML message in response to which the assertion is issued.

dataNotBefore
String

Time moment before which the subject cannot be confirmed.

This property specifies the time before which the subject cannot be confirmed.

dataNotOnOrAfter
String

Limits the time until which the subject can be confirmed.

This property specifies the time on (or after) which the subject cannot be confirmed.

dataRecipient
String

The URI of the entity or the location of the resource to which the assertion should be presented.

This property specifies The URI of the entity or the location of the resource to which the assertion should be presented.

dataType
String

The type of data contained in the confirmation.

Use this property to read or specify the type of confirmation data included in the object.

id
String

The identifier of the entity which can satisfy the subject confirmation requirements.

This property specifies the identifier of the entity which is expected to satisfy the subject confirmation requirements.

method
String

Specifies the mechanism to be used to confirm the subject.

This property contains a URI reference that identifies the mechanism to be used to confirm the subject.

Constructors

public init()

Creates a new SAMLSubjectConfirmation object.

SocketSettings Type

A container for the socket settings.

Remarks

This type is a container for socket-layer parameters.

Fields

dnsMode
DNSResolveModes

Selects the DNS resolver to use: the component's (secure) built-in one, or the one provided by the system.

dmAuto0
dmPlatform1
dmOwn2
dmOwnSecure3

dnsPort
Int32

Specifies the port number to be used for sending queries to the DNS server.

dnsQueryTimeout
Int32

The timeout (in milliseconds) for each DNS query. The value of 0 indicates the infinite timeout.

dnsServers
String

The addresses of DNS servers to use for address resolution, separated by commas or semicolons.

dnsTotalTimeout
Int32

The timeout (in milliseconds) for the whole resolution process. The value of 0 indicates the infinite timeout.

incomingSpeedLimit
Int32

The maximum number of bytes to read from the socket, per second.

localAddress
String

The local network interface to bind the socket to.

localPort
Int32

The local port number to bind the socket to.

outgoingSpeedLimit
Int32

The maximum number of bytes to write to the socket, per second.

timeout
Int32

The maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful.

If Timeout is set to 0, a socket operation will expire after the system-default timeout (2 hrs 8 min for TCP stack).

useIPv6
Bool

Enables or disables IP protocol version 6.

Constructors

public init()

Creates a new SocketSettings object.

TLSSettings Type

A container for TLS connection settings.

Remarks

TLS (Transport Layer Security) protocol provides security for information exchanged over insecure connections such as TCP/IP.

Fields

autoValidateCertificates
Bool

Specifies whether server-side TLS certificates should be validated automatically using internal validation rules.

baseConfiguration
SecureTransportPredefinedConfigurations

Selects the base configuration for the TLS settings. Several profiles are on offer, tuned up for different purposes, such as high security or higher compatibility.

stpcDefault0
stpcCompatible1
stpcComprehensiveInsecure2
stpcHighlySecure3

ciphersuites
String

A list of ciphersuites separated with commas or semicolons. Each ciphersuite in the list may be prefixed with a minus sign (-) to indicate that the ciphersuite should be disabled rather than enabled. Besides the specific ciphersuite modifiers, this property supports the all (and -all) aliases that allow to blanketly enable or disable all ciphersuites at once.

Note: the list of ciphersuites provided to this property alters the baseline list of ciphersuites as defined by BaseConfiguration. Remember to start your ciphersuite string with -all; if you need to only enable a specific fixed set of ciphersuites. The list of supported ciphersuites is provided below:

  • NULL_NULL_NULL
  • RSA_NULL_MD5
  • RSA_NULL_SHA
  • RSA_RC4_MD5
  • RSA_RC4_SHA
  • RSA_RC2_MD5
  • RSA_IDEA_MD5
  • RSA_IDEA_SHA
  • RSA_DES_MD5
  • RSA_DES_SHA
  • RSA_3DES_MD5
  • RSA_3DES_SHA
  • RSA_AES128_SHA
  • RSA_AES256_SHA
  • DH_DSS_DES_SHA
  • DH_DSS_3DES_SHA
  • DH_DSS_AES128_SHA
  • DH_DSS_AES256_SHA
  • DH_RSA_DES_SHA
  • DH_RSA_3DES_SHA
  • DH_RSA_AES128_SHA
  • DH_RSA_AES256_SHA
  • DHE_DSS_DES_SHA
  • DHE_DSS_3DES_SHA
  • DHE_DSS_AES128_SHA
  • DHE_DSS_AES256_SHA
  • DHE_RSA_DES_SHA
  • DHE_RSA_3DES_SHA
  • DHE_RSA_AES128_SHA
  • DHE_RSA_AES256_SHA
  • DH_ANON_RC4_MD5
  • DH_ANON_DES_SHA
  • DH_ANON_3DES_SHA
  • DH_ANON_AES128_SHA
  • DH_ANON_AES256_SHA
  • RSA_RC2_MD5_EXPORT
  • RSA_RC4_MD5_EXPORT
  • RSA_DES_SHA_EXPORT
  • DH_DSS_DES_SHA_EXPORT
  • DH_RSA_DES_SHA_EXPORT
  • DHE_DSS_DES_SHA_EXPORT
  • DHE_RSA_DES_SHA_EXPORT
  • DH_ANON_RC4_MD5_EXPORT
  • DH_ANON_DES_SHA_EXPORT
  • RSA_CAMELLIA128_SHA
  • DH_DSS_CAMELLIA128_SHA
  • DH_RSA_CAMELLIA128_SHA
  • DHE_DSS_CAMELLIA128_SHA
  • DHE_RSA_CAMELLIA128_SHA
  • DH_ANON_CAMELLIA128_SHA
  • RSA_CAMELLIA256_SHA
  • DH_DSS_CAMELLIA256_SHA
  • DH_RSA_CAMELLIA256_SHA
  • DHE_DSS_CAMELLIA256_SHA
  • DHE_RSA_CAMELLIA256_SHA
  • DH_ANON_CAMELLIA256_SHA
  • PSK_RC4_SHA
  • PSK_3DES_SHA
  • PSK_AES128_SHA
  • PSK_AES256_SHA
  • DHE_PSK_RC4_SHA
  • DHE_PSK_3DES_SHA
  • DHE_PSK_AES128_SHA
  • DHE_PSK_AES256_SHA
  • RSA_PSK_RC4_SHA
  • RSA_PSK_3DES_SHA
  • RSA_PSK_AES128_SHA
  • RSA_PSK_AES256_SHA
  • RSA_SEED_SHA
  • DH_DSS_SEED_SHA
  • DH_RSA_SEED_SHA
  • DHE_DSS_SEED_SHA
  • DHE_RSA_SEED_SHA
  • DH_ANON_SEED_SHA
  • SRP_SHA_3DES_SHA
  • SRP_SHA_RSA_3DES_SHA
  • SRP_SHA_DSS_3DES_SHA
  • SRP_SHA_AES128_SHA
  • SRP_SHA_RSA_AES128_SHA
  • SRP_SHA_DSS_AES128_SHA
  • SRP_SHA_AES256_SHA
  • SRP_SHA_RSA_AES256_SHA
  • SRP_SHA_DSS_AES256_SHA
  • ECDH_ECDSA_NULL_SHA
  • ECDH_ECDSA_RC4_SHA
  • ECDH_ECDSA_3DES_SHA
  • ECDH_ECDSA_AES128_SHA
  • ECDH_ECDSA_AES256_SHA
  • ECDHE_ECDSA_NULL_SHA
  • ECDHE_ECDSA_RC4_SHA
  • ECDHE_ECDSA_3DES_SHA
  • ECDHE_ECDSA_AES128_SHA
  • ECDHE_ECDSA_AES256_SHA
  • ECDH_RSA_NULL_SHA
  • ECDH_RSA_RC4_SHA
  • ECDH_RSA_3DES_SHA
  • ECDH_RSA_AES128_SHA
  • ECDH_RSA_AES256_SHA
  • ECDHE_RSA_NULL_SHA
  • ECDHE_RSA_RC4_SHA
  • ECDHE_RSA_3DES_SHA
  • ECDHE_RSA_AES128_SHA
  • ECDHE_RSA_AES256_SHA
  • ECDH_ANON_NULL_SHA
  • ECDH_ANON_RC4_SHA
  • ECDH_ANON_3DES_SHA
  • ECDH_ANON_AES128_SHA
  • ECDH_ANON_AES256_SHA
  • RSA_NULL_SHA256
  • RSA_AES128_SHA256
  • RSA_AES256_SHA256
  • DH_DSS_AES128_SHA256
  • DH_RSA_AES128_SHA256
  • DHE_DSS_AES128_SHA256
  • DHE_RSA_AES128_SHA256
  • DH_DSS_AES256_SHA256
  • DH_RSA_AES256_SHA256
  • DHE_DSS_AES256_SHA256
  • DHE_RSA_AES256_SHA256
  • DH_ANON_AES128_SHA256
  • DH_ANON_AES256_SHA256
  • RSA_AES128_GCM_SHA256
  • RSA_AES256_GCM_SHA384
  • DHE_RSA_AES128_GCM_SHA256
  • DHE_RSA_AES256_GCM_SHA384
  • DH_RSA_AES128_GCM_SHA256
  • DH_RSA_AES256_GCM_SHA384
  • DHE_DSS_AES128_GCM_SHA256
  • DHE_DSS_AES256_GCM_SHA384
  • DH_DSS_AES128_GCM_SHA256
  • DH_DSS_AES256_GCM_SHA384
  • DH_ANON_AES128_GCM_SHA256
  • DH_ANON_AES256_GCM_SHA384
  • ECDHE_ECDSA_AES128_SHA256
  • ECDHE_ECDSA_AES256_SHA384
  • ECDH_ECDSA_AES128_SHA256
  • ECDH_ECDSA_AES256_SHA384
  • ECDHE_RSA_AES128_SHA256
  • ECDHE_RSA_AES256_SHA384
  • ECDH_RSA_AES128_SHA256
  • ECDH_RSA_AES256_SHA384
  • ECDHE_ECDSA_AES128_GCM_SHA256
  • ECDHE_ECDSA_AES256_GCM_SHA384
  • ECDH_ECDSA_AES128_GCM_SHA256
  • ECDH_ECDSA_AES256_GCM_SHA384
  • ECDHE_RSA_AES128_GCM_SHA256
  • ECDHE_RSA_AES256_GCM_SHA384
  • ECDH_RSA_AES128_GCM_SHA256
  • ECDH_RSA_AES256_GCM_SHA384
  • PSK_AES128_GCM_SHA256
  • PSK_AES256_GCM_SHA384
  • DHE_PSK_AES128_GCM_SHA256
  • DHE_PSK_AES256_GCM_SHA384
  • RSA_PSK_AES128_GCM_SHA256
  • RSA_PSK_AES256_GCM_SHA384
  • PSK_AES128_SHA256
  • PSK_AES256_SHA384
  • PSK_NULL_SHA256
  • PSK_NULL_SHA384
  • DHE_PSK_AES128_SHA256
  • DHE_PSK_AES256_SHA384
  • DHE_PSK_NULL_SHA256
  • DHE_PSK_NULL_SHA384
  • RSA_PSK_AES128_SHA256
  • RSA_PSK_AES256_SHA384
  • RSA_PSK_NULL_SHA256
  • RSA_PSK_NULL_SHA384
  • RSA_CAMELLIA128_SHA256
  • DH_DSS_CAMELLIA128_SHA256
  • DH_RSA_CAMELLIA128_SHA256
  • DHE_DSS_CAMELLIA128_SHA256
  • DHE_RSA_CAMELLIA128_SHA256
  • DH_ANON_CAMELLIA128_SHA256
  • RSA_CAMELLIA256_SHA256
  • DH_DSS_CAMELLIA256_SHA256
  • DH_RSA_CAMELLIA256_SHA256
  • DHE_DSS_CAMELLIA256_SHA256
  • DHE_RSA_CAMELLIA256_SHA256
  • DH_ANON_CAMELLIA256_SHA256
  • ECDHE_ECDSA_CAMELLIA128_SHA256
  • ECDHE_ECDSA_CAMELLIA256_SHA384
  • ECDH_ECDSA_CAMELLIA128_SHA256
  • ECDH_ECDSA_CAMELLIA256_SHA384
  • ECDHE_RSA_CAMELLIA128_SHA256
  • ECDHE_RSA_CAMELLIA256_SHA384
  • ECDH_RSA_CAMELLIA128_SHA256
  • ECDH_RSA_CAMELLIA256_SHA384
  • RSA_CAMELLIA128_GCM_SHA256
  • RSA_CAMELLIA256_GCM_SHA384
  • DHE_RSA_CAMELLIA128_GCM_SHA256
  • DHE_RSA_CAMELLIA256_GCM_SHA384
  • DH_RSA_CAMELLIA128_GCM_SHA256
  • DH_RSA_CAMELLIA256_GCM_SHA384
  • DHE_DSS_CAMELLIA128_GCM_SHA256
  • DHE_DSS_CAMELLIA256_GCM_SHA384
  • DH_DSS_CAMELLIA128_GCM_SHA256
  • DH_DSS_CAMELLIA256_GCM_SHA384
  • DH_anon_CAMELLIA128_GCM_SHA256
  • DH_anon_CAMELLIA256_GCM_SHA384
  • ECDHE_ECDSA_CAMELLIA128_GCM_SHA256
  • ECDHE_ECDSA_CAMELLIA256_GCM_SHA384
  • ECDH_ECDSA_CAMELLIA128_GCM_SHA256
  • ECDH_ECDSA_CAMELLIA256_GCM_SHA384
  • ECDHE_RSA_CAMELLIA128_GCM_SHA256
  • ECDHE_RSA_CAMELLIA256_GCM_SHA384
  • ECDH_RSA_CAMELLIA128_GCM_SHA256
  • ECDH_RSA_CAMELLIA256_GCM_SHA384
  • PSK_CAMELLIA128_GCM_SHA256
  • PSK_CAMELLIA256_GCM_SHA384
  • DHE_PSK_CAMELLIA128_GCM_SHA256
  • DHE_PSK_CAMELLIA256_GCM_SHA384
  • RSA_PSK_CAMELLIA128_GCM_SHA256
  • RSA_PSK_CAMELLIA256_GCM_SHA384
  • PSK_CAMELLIA128_SHA256
  • PSK_CAMELLIA256_SHA384
  • DHE_PSK_CAMELLIA128_SHA256
  • DHE_PSK_CAMELLIA256_SHA384
  • RSA_PSK_CAMELLIA128_SHA256
  • RSA_PSK_CAMELLIA256_SHA384
  • ECDHE_PSK_CAMELLIA128_SHA256
  • ECDHE_PSK_CAMELLIA256_SHA384
  • ECDHE_PSK_RC4_SHA
  • ECDHE_PSK_3DES_SHA
  • ECDHE_PSK_AES128_SHA
  • ECDHE_PSK_AES256_SHA
  • ECDHE_PSK_AES128_SHA256
  • ECDHE_PSK_AES256_SHA384
  • ECDHE_PSK_NULL_SHA
  • ECDHE_PSK_NULL_SHA256
  • ECDHE_PSK_NULL_SHA384
  • ECDHE_RSA_CHACHA20_POLY1305_SHA256
  • ECDHE_ECDSA_CHACHA20_POLY1305_SHA256
  • DHE_RSA_CHACHA20_POLY1305_SHA256
  • PSK_CHACHA20_POLY1305_SHA256
  • ECDHE_PSK_CHACHA20_POLY1305_SHA256
  • DHE_PSK_CHACHA20_POLY1305_SHA256
  • RSA_PSK_CHACHA20_POLY1305_SHA256
  • AES128_GCM_SHA256
  • AES256_GCM_SHA384
  • CHACHA20_POLY1305_SHA256
  • AES128_CCM_SHA256
  • AES128_CCM8_SHA256

ecCurves
String

Defines the elliptic curves to enable.

extensions
String

Provides access to TLS extensions.

forceResumeIfDestinationChanges
Bool

Whether to force TLS session resumption when the destination address changes.

preSharedIdentity
String

Defines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated.

preSharedKey
String

Contains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16.

preSharedKeyCiphersuite
String

Defines the ciphersuite used for PSK (Pre-Shared Key) negotiation.

renegotiationAttackPreventionMode
RenegotiationAttackPreventionModes

Selects renegotiation attack prevention mechanism.

The following options are available:

crapmCompatible0TLS 1.0 and 1.1 compatibility mode (renegotiation indication extension is disabled).
crapmStrict1Renegotiation attack prevention is enabled and enforced.
crapmAuto2Automatically choose whether to enable or disable renegotiation attack prevention.

revocationCheck
RevocationCheckKinds

Specifies the kind(s) of revocation check to perform.

Revocation checking is necessary to ensure the integrity of the chain and obtain up-to-date certificate validity and trustworthiness information.

crcNone (0)No revocation checking
crcAuto (1)Automatic mode selection. Currently this maps to crcAnyOCSPOrCRL, but it may change in the future.
crcAllCRL (2)Check all provided CRL endpoints for all chain certificates.
crcAllOCSP (3)Check all provided OCSP endpoints for all chain certificates.
crcAllCRLAndOCSP (4)Check all CRL and OCSP endpoints for all chain certificates.
crcAnyCRL (5)At least one CRL check for every certificate in the chain must succeed.
crcAnyOCSP (6)At least one OCSP check for every certificate in the chain must succeed.
crcAnyCRLOrOCSP (7)At least one CRL or OCSP check for every certificate in the chain must succeed. CRL endpoints are checked first.
crcAnyOCSPOrCRL (8)At least one CRL or OCSP check for every certificate in the chain must succeed. OCSP endpoints are checked first.

This setting controls the way the revocation checks are performed. Typically certificates come with two types of revocation information sources: CRL (certificate revocation lists) and OCSP responders. CRLs are static objects periodically published by the CA at some online location. OCSP responders are active online services maintained by the CA that can provide up-to-date information on certificate statuses in near real time.

There are some conceptual differences between the two. CRLs are normally larger in size. Their use involves some latency because there is normally some delay between the time when a certificate was revoked and the time the subsequent CRL mentioning that is published. The benefits of CRL is that the same object can provide statuses for all certificates issued by a particular CA, and that the whole technology is much simpler than OCSP (and thus is supported by more CAs).

This setting lets you adjust the validation course by including or excluding certain types of revocation sources from the validation process. The crcAnyOCSPOrCRL setting (give preference to faster OCSP route and only demand one source to succeed) is a good choice for most of typical validation environments. The "crcAll*" modes are much stricter, and may be used in scenarios where bulletproof validity information is essential.

sslOptions
Int32

Various SSL (TLS) protocol options, set of

cssloExpectShutdownMessage0x001Wait for the close-notify message when shutting down the connection

cssloOpenSSLDTLSWorkaround0x002(DEPRECATED) Use a DTLS version workaround when talking to very old OpenSSL versions

cssloDisableKexLengthAlignment0x004Do not align the client-side PMS by the RSA modulus size. It is unlikely that you will ever need to adjust it.

cssloForceUseOfClientCertHashAlg0x008Enforce use of client certificate hash algorithm. It is unlikely that you will ever need to adjust it.

cssloAutoAddServerNameExtension0x010Automatically add server name extension when known

cssloAcceptTrustedSRPPrimesOnly0x020Accept trusted SRP primes only

cssloDisableSignatureAlgorithmsExtension0x040Disable (not send) signature algorithms extension. It is unlikely that you will ever need to adjust it.

cssloIntolerateHigherProtocolVersions0x080(server option) Do not allow fallback from TLS versions higher than currently enabled

cssloStickToPrefCertHashAlg0x100Stick to preferred certificate hash algorithms

cssloNoImplicitTLS12Fallback0x200Disable implicit TLS 1.3 to 1.2 fallbacks

cssloUseHandshakeBatches0x400Send handshake message as large batches rather than individually

tlsMode
SSLModes

Specifies the TLS mode to use.

smDefault0
smNoTLS1Do not use TLS
smExplicitTLS2Connect to the server without any encryption and then request an SSL session.
smImplicitTLS3Connect to the specified port, and establish the SSL session at once.

useExtendedMasterSecret
Bool

Enables Extended Master Secret Extension, as defined in RFC 7627.

useSessionResumption
Bool

Enables or disables TLS session resumption capability.

versions
Int32

Th SSL/TLS versions to enable by default.

csbSSL20x01SSL 2

csbSSL30x02SSL 3

csbTLS10x04TLS 1.0

csbTLS110x08TLS 1.1

csbTLS120x10TLS 1.2

csbTLS130x20TLS 1.3

Constructors

public init()

Creates a new TLSSettings object.

Configuration Settings (SAMLReader Module)

The class accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

SAMLReader Configuration Settings

IgnoreSystemTrust:   Whether trusted Windows Certificate Stores should be treated as trusted.

Specifies whether, during chain validation, the component should respect the trust to CA certificates as configured in the operating system. In Windows this effectively defines whether the component should trust the certificates residing in the Trusted Root Certification Authorities store.

If IgnoreSystemTrust is True, certificates residing in the trusted root store are treated as if they are known, rather than trusted. Only certificates provided via other means (such as TrustedCertificates property) are considered trusted.

TolerateMinorChainIssues:   Whether to tolerate minor chain issues.

TBD

UseMicrosoftCTL:   Enables or disables automatic use of Microsoft online certificate trust list.

Enable this property to make the chain validation module automatically look up missing CA certificates in the public Windows Update repository.

UseSystemCertificates:   Enables or disables the use of the system certificates.

Use this property to tell chain validation module automatically look up missing CA certificates in the system certificates. In many cases it is beneficial to switch this property on, as the operating system certificate configuration provides a representative trust framework.

Base Configuration Settings

CheckKeyIntegrityBeforeUse:   Enables or disable private key integrity check before use.

This global property enables or disables private key material check before each signing operation. This slows down performance a bit, but prevents a selection of attacks on RSA keys where keys with unknown origins are used.

You can switch this property off to improve performance if your project only uses known, good private keys.

CookieCaching:   Specifies whether a cookie cache should be used for HTTP(S) transports.

Set this property to enable or disable cookies caching for the class.

Supported values are:

offNo caching (default)
localLocal caching (supported for HTTPClient, RESTClient and SOAPClient only)
globalGlobal caching

Cookies:   Gets or sets local cookies for the class (supported for HTTPClient, RESTClient and SOAPClient only).

Use this property to get cookies from the internal cookie storage of the class and/or restore them back between application sessions.

DefDeriveKeyIterations:   Specifies the default key derivation algorithm iteration count.

This global property sets the default number of iterations for all supported key derivation algorithms. Note that you can provide the required number of iterations by using properties of the relevant key generation component; this global setting is used in scenarios where specific iteration count is not or cannot be provided.

EnableClientSideSSLFFDHE:   Enables or disables finite field DHE key exchange support in TLS clients.

This global property enables or disables support for finite field DHE key exchange methods in TLS clients. FF DHE is a slower algorithm if compared to EC DHE; enabling it may result in slower connections.

This setting only applies to sessions negotiated with TLS version 1.3.

GlobalCookies:   Gets or sets global cookies for all the HTTP transports.

Use this property to get cookies from the GLOBAL cookie storage or restore them back between application sessions. These cookies will be used by all the classes that have its CookieCaching property set to "global".

HttpUserAgent:   Specifies the user agent name to be used by all HTTP clients.

This global setting defines the User-Agent field of the HTTP request provides information about the software that initiates the request. This value will be used by all the HTTP clients including the ones used internally in other classes.

LogDestination:   Specifies the debug log destination.

Contains a comma-separated list of values that specifies where debug log should be dumped.

Supported values are:

fileFile
consoleConsole
systemlogSystem Log (supported for Android only)
debuggerDebugger (supported for VCL for Windows and .Net)

LogDetails:   Specifies the debug log details to dump.

Contains a comma-separated list of values that specifies which debug log details to dump.

Supported values are:

timeCurrent time
levelLevel
packagePackage name
moduleModule name
classClass name
methodMethod name
threadidThread Id
contenttypeContent type
contentContent
allAll details

LogFile:   Specifies the debug log filename.

Use this property to provide a path to the log file.

LogFilters:   Specifies the debug log filters.

Contains a comma-separated list of value pairs ("name:value") that describe filters.

Supported filter names are:

exclude-packageExclude a package specified in the value
exclude-moduleExclude a module specified in the value
exclude-classExclude a class specified in the value
exclude-methodExclude a method specified in the value
include-packageInclude a package specified in the value
include-moduleInclude a module specified in the value
include-classInclude a class specified in the value
include-methodInclude a method specified in the value

LogFlushMode:   Specifies the log flush mode.

Use this property to set the log flush mode. The following values are defined:

noneNo flush (caching only)
immediateImmediate flush (real-time logging)
maxcountFlush cached entries upon reaching LogMaxEventCount entries in the cache.

LogLevel:   Specifies the debug log level.

Use this property to provide the desired debug log level.

Supported values are:

noneNone (by default)
fatalSevere errors that cause premature termination.
errorOther runtime errors or unexpected conditions.
warningUse of deprecated APIs, poor use of API, 'almost' errors, other runtime situations that are undesirable or unexpected, but not necessarily "wrong".
infoInteresting runtime events (startup/shutdown).
debugDetailed information on flow of through the system.
traceMore detailed information.

LogMaxEventCount:   Specifies the maximum number of events to cache before further action is taken.

Use this property to specify the log event number threshold. This threshold may have different effects, depending on the rotation setting and/or the flush mode.

The default value of this setting is 100.

LogRotationMode:   Specifies the log rotation mode.

Use this property to set the log rotation mode. The following values are defined:

noneNo rotation
deleteolderDelete older entries from the cache upon reaching LogMaxEventCount
keepolderKeep older entries in the cache upon reaching LogMaxEventCount (newer entries are discarded)

MaxASN1BufferLength:   Specifies the maximal allowed length for ASN.1 primitive tag data.

This global property limits the maximal allowed length for ASN.1 tag data for non-content-carrying structures, such as certificates, CRLs, or timestamps. It does not affect structures that can carry content, such as CMS/CAdES messages. This is a security property aiming at preventing DoS attacks.

MaxASN1TreeDepth:   Specifies the maximal depth for processed ASN.1 trees.

This global property limits the maximal depth of ASN.1 trees that the component can handle without throwing an error. This is a security property aiming at preventing DoS attacks.

OCSPHashAlgorithm:   Specifies the hash algorithm to be used to identify certificates in OCSP requests.

This global setting defines the hash algorithm to use in OCSP requests during chain validation. Some OCSP responders can only use older algorithms, in which case setting this property to SHA1 may be helpful.

Tag:   Allows to store any custom data.

Use this config property to store any custom data.

UseSharedSystemStorages:   Specifies whether the validation engine should use a global per-process copy of the system certificate stores.

Set this global property to false to make each validation run use its own copy of system certificate stores.

UseSystemOAEPAndPSS:   Enforces or disables the use of system-driven RSA OAEP and PSS computations.

This global setting defines who is responsible for performing RSA-OAEP and RSA-PSS computations where the private key is stored in a Windows system store and is exportable. If set to true, SBB will delegate the computations to Windows via a CryptoAPI call. Otherwise, it will export the key material and perform the computations using its own OAEP/PSS implementation.

This setting only applies to certificates originating from a Windows system store.

UseSystemRandom:   Enables or disables the use of the OS PRNG.

Use this global property to enable or disable the use of operating system-driven pseudorandom number generation.

Trappable Errors (SAMLReader Module)

Copyright (c) 2022 /n software inc. - All rights reserved.
SecureBlackbox 2022 macOS Edition - Version 22.0 [Build 8174]