SAML Class
Properties Methods Events Config Settings Errors
The SAML class is used to obtain security tokens and assertions.
Syntax
ipworksauth.Saml
Remarks
The SAML class provides an easy-to-use interface to obtain security tokens and assertions. The class can also be used to parse assertions and inspect the claims within.
The component has built in support for working with Microsoft SharePoint Online and Microsoft Dynamics CRM Online. This support means only a minimum of information needs to be supplied to the component.
Microsoft SharePoint Online and Dynamics CRM Online
To begin working with SharePoint Online or Dynamics CRM Online first set the AuthMode to the appropriate value. The class will automatically populate several properties to known values. Set the User, Password, ApplicationURN properties and call GetSecurityToken. For instance:
component.AuthMode = SAMLAuthModes.amDynamicsCRM; //dynamic crm
component.User = "user@mycrm.onmicrosoft.com";
component.Password = "password";
component.ApplicationURN = "urn:crmapac:dynamics.com";
component.GetSecurityToken();
After calling GetSecurityToken the SecurityTokenXML property will be populated.
ADFS and Others
When working with ADFS or another Security Token Service (STS) the GetAssertion method may be used to obtain an assertion. To begin set AuthMode to either amADFS or amCustom. Then set LocalSTS, User, Password, and ApplicationURN. For instance:
component.AuthMode = SAMLAuthModes.amADFS;
component.User = "administrator";
component.Password = "admin";
component.LocalSTS = "https://adfs.contoso.com";
component.ApplicationURN = "https://fsweb.contoso.com/ClaimsAwareWebAppWithManagedSTS/";
component.GetAssertion();
If the assertion is signed the class will use the certificate specified in SignerCert
to verify the signature. If SignerCert is not set the class will attempt to parse
the certificate present in the assertion to perform verification.
After the assertion is parsed and the signature is verified (if present) the following properties will be populated:
- AssertionId
- AssertionIssueInstant
- AssertionIssuer
- AssertionNotBefore
- AssertionNotOnOrAfter
- AssertionSubject
- AssertionVersion
- AssertionXML
- Claims
Parsing an Assertion
The class may also be used to parse an existing assertion without contacting a STS. To parse an existing assertion call ParseAssertion with the assertion XML. If the assertion is signed the class will use the certificate specified in SignerCert to verify the signature. If SignerCert is not set the class will attempt to parse the certificate present in the assertion to perform verification.
After the assertion is parsed and the signature is verified (if present) the following properties will be populated:
- AssertionId
- AssertionIssueInstant
- AssertionIssuer
- AssertionNotBefore
- AssertionNotOnOrAfter
- AssertionSubject
- AssertionVersion
- AssertionXML
- Claims
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
ApplicationURN | The application's Uniform Resource Name (URN). |
AssertionId | The assertion id. |
AssertionIssueInstant | The time in UTC that the assertion was issued. |
AssertionIssuer | The assertion issuer. |
AssertionNotBefore | The date on which the assertion becomes valid. |
AssertionNotOnOrAfter | The time at which the assertion expires. |
AssertionSubject | The subject of the assertion. |
AssertionVersion | The version of the assertion. |
AssertionXML | The assertion XML. |
AuthMode | The authentication mode. |
Certificate | The certificate used for decryption. |
Claims | A collection of claims. |
FederationSTS | The URL of the federation Security Token Service (STS). |
FederationURN | The federation Uniform Resource Name (URN). |
LocalSTS | The local Security Token Service (STS). |
Password | The user's password. |
Proxy | This property includes a set of properties related to proxy access. |
SecurityTokenXML | The security token XML. |
SignerCert | The certificate used for signature verification. |
SSLAcceptServerCert | Instructs the class to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to be used during SSL negotiation. |
SSLProvider | This specifies the SSL/TLS implementation to use. |
SSLServerCert | The server certificate for the last established connection. |
User | The username. |
XAttributes | A collection of attributes of the current element. |
XChildren | Collection of child elements of the currently selected XML element. |
XElement | The name of the current element. |
XNamespace | The namespace of the current element. |
XParent | The parent of the current element. |
XPath | Provides a way to point to a specific element in the document. |
XPrefix | The prefix of the current element. |
XSubTree | A snapshot of the current element in the document. |
XText | The text of the current element. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
Config | Sets or retrieves a configuration setting. |
GetAssertion | Gets the assertion. |
GetSecurityToken | Gets the security token. |
ParseAssertion | Parses the specified assertion. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
Characters | Fired for plain text segments of the input stream. |
Comment | Fired when a comment section is encountered. |
EndElement | Fired when an end-element tag is encountered. |
Error | Information about errors during data delivery. |
PI | Fired when a processing instruction section is encountered. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
StartElement | Fired when a begin-element tag is encountered in the document. |
Config Settings
The following is a list of config settings for the class with short descriptions. Click on the links for further details.
AssertionXPath | The XPath to the assertion. |
DecryptAssertion | Whether to decrypt the assertion. |
EncryptedAssertionXPath | The XPath to the encrypted assertion. |
RawRequest | Returns the raw HTTP request. |
RawResponse | Returns the raw HTTP response. |
UserRealm | The URL of a web service to determine the LocalSTS (if any). |
BuildInfo | Information about the product's build. |
GUIAvailable | Tells the class whether or not a message loop is available for processing events. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
UseDaemonThreads | Whether threads created by the class are daemon threads. |
UseFIPSCompliantAPI | Tells the class whether or not to use FIPS certified APIs. |
UseInternalSecurityAPI | Tells the class whether or not to use the system security libraries or an internal implementation. |
ApplicationURN Property (SAML Class)
The application's Uniform Resource Name (URN).
Syntax
public String getApplicationURN(); public void setApplicationURN(String applicationURN);
Default Value
""
Remarks
This property specifies the application's Uniform Resource Name (URN). This must be set before calling GetAssertion or GetSecurityToken.
When AuthMode is set to amDynamicsCRM the value specified here depends on the location of the account. Valid values are:
Dynamics CRM Location | URN |
North America | urn:crmna:dynamics.com |
EMEA | urn:crmemea:dynamics.com |
APAC | urn:crmapac:dynamics.com |
When AuthMode is set to camSharePointOnline this value is typically the URL to your site. For instance: "https://mycrm.sharepoint.com".
This property is not available at design time.
AssertionId Property (SAML Class)
The assertion id.
Syntax
public String getAssertionId();
Default Value
""
Remarks
This property hold the id of the assertion.
This property is read-only and not available at design time.
AssertionIssueInstant Property (SAML Class)
The time in UTC that the assertion was issued.
Syntax
public String getAssertionIssueInstant();
Default Value
""
Remarks
This property holds the time that the assertion was issued.
This is in the standard xsd:dateTime format "YYYY-MM-DDThh:mm:ss". The date is specified in UTC.
This property is read-only and not available at design time.
AssertionIssuer Property (SAML Class)
The assertion issuer.
Syntax
public String getAssertionIssuer();
Default Value
""
Remarks
This property holds the issuer of the assertion.
This property is read-only and not available at design time.
AssertionNotBefore Property (SAML Class)
The date on which the assertion becomes valid.
Syntax
public String getAssertionNotBefore();
Default Value
""
Remarks
This property specifies the earliest time instant at which the assertion is valid.
This is in the standard xsd:dateTime format "YYYY-MM-DDThh:mm:ss". The date is specified in UTC.
This property is read-only and not available at design time.
AssertionNotOnOrAfter Property (SAML Class)
The time at which the assertion expires.
Syntax
public String getAssertionNotOnOrAfter();
Default Value
""
Remarks
This property specifies the time instant at which the assertion has expired.
This is in the standard xsd:dateTime format "YYYY-MM-DDThh:mm:ss". The date is specified in UTC.
This property is read-only and not available at design time.
AssertionSubject Property (SAML Class)
The subject of the assertion.
Syntax
public String getAssertionSubject();
Default Value
""
Remarks
This property holds the subject of the assertion.
This property is read-only and not available at design time.
AssertionVersion Property (SAML Class)
The version of the assertion.
Syntax
public int getAssertionVersion(); public void setAssertionVersion(int assertionVersion); Enumerated values: public final static int svSAMLv11 = 0; public final static int svSAMLv20 = 1;
Default Value
0
Remarks
This property specifies the version of the assertion. This may be set before calling GetAssertion. This will be populated after calling ParseAssertion. Possible values are:
0 (svSAMLv11 - default) | SAML version 1.1 |
1 (svSAMLv20) | SAML version 2.0 |
This property is not available at design time.
AssertionXML Property (SAML Class)
The assertion XML.
Syntax
public String getAssertionXML();
Default Value
""
Remarks
This property holds the returned assertion. This is populated after calling GetAssertion.
This property is read-only and not available at design time.
AuthMode Property (SAML Class)
The authentication mode.
Syntax
public int getAuthMode(); public void setAuthMode(int authMode); Enumerated values: public final static int camSharePointOnline = 0; public final static int camDynamicsCRM = 1; public final static int camADFS = 2; public final static int camCustom = 3;
Default Value
0
Remarks
This property specifies the authentication mode. Possible values are:
0 (camSharePointOnline - default) | Microsoft SharePoint Online |
1 (camDynamicsCRM) | Microsoft Dynamics CRM |
2 (camADFS) | Active Directory Federation Services |
3 (camCustom) | Custom |
When this property is set the component is initialized based on common settings for the selected mode.
Setting this property to 2 (camADFS) or 3 (camCustom) will clear the values in FederationURN, and FederationSTS. There is no functional difference between 2 (camADFS) and 3 (camCustom), they operate identically.
Setting this property to 0 (camSharePointOnline) or 1 (camDynamicsCRM) will populate FederationURN, and FederationSTS with known valid values for FederationURN, and FederationSTS.
The table below shows which properties are set depending on the value of this property.
AuthMode | FederationURN | FederationSTS | UserRealm |
camSharePointOnline | urn:federation:MicrosoftOnline | "https://login.microsoftonline.com/RST2.srf" | "https://login.microsoftonline.com/GetUserRealm.srf" |
camDynamicsCRM | urn:federation:MicrosoftOnline | "https://login.microsoftonline.com/RST2.srf" | "https://login.microsoftonline.com/GetUserRealm.srf" |
camADFS | "" | "" | "" |
camCustom | "" | "" | "" |
The value 3 (camCustom) may be used with any STS as long as WS-TRUST is supported.
This property is not available at design time.
Certificate Property (SAML Class)
The certificate used for decryption.
Syntax
public Certificate getCertificate(); public void setCertificate(Certificate certificate);
Remarks
This property specifies the certificate used for decryption. This is only applicable if DecryptAssertion is set to True.
This property is not available at design time.
Claims Property (SAML Class)
A collection of claims.
Syntax
public ClaimList getClaims();
Remarks
This property is a collection of claims parsed from the assertion. This is populated after calling GetAssertion or ParseAssertion.
This property is read-only and not available at design time.
FederationSTS Property (SAML Class)
The URL of the federation Security Token Service (STS).
Syntax
public String getFederationSTS(); public void setFederationSTS(String federationSTS);
Default Value
""
Remarks
This property specifies the URL of the federation Security Token Service (STS). When AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM) this property is automatically populated.
This property is not available at design time.
FederationURN Property (SAML Class)
The federation Uniform Resource Name (URN).
Syntax
public String getFederationURN(); public void setFederationURN(String federationURN);
Default Value
""
Remarks
This property specifies the federation Uniform Resource Name (URN). This property is automatically populated when AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM).
This property is not available at design time.
LocalSTS Property (SAML Class)
The local Security Token Service (STS).
Syntax
public String getLocalSTS(); public void setLocalSTS(String localSTS);
Default Value
""
Remarks
This property specifies the URL of the local Security Token Service(STS).
When AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM) if this is not specified, then the class will attempt to determine this value automatically by querying the UserRealm.
When AuthMode is set to 2 (camADFS) or 3 (camCustom) this property is required.
This property is not available at design time.
Password Property (SAML Class)
The user's password.
Syntax
public String getPassword(); public void setPassword(String password);
Default Value
""
Remarks
This property specifies the user's password. This must be set before calling GetAssertion or GetSecurityToken.
This property is not available at design time.
Proxy Property (SAML Class)
This property includes a set of properties related to proxy access.
Syntax
public Proxy getProxy(); public void setProxy(Proxy proxy);
Remarks
This property contains fields describing the proxy through which the class will attempt to connect.
SecurityTokenXML Property (SAML Class)
The security token XML.
Syntax
public String getSecurityTokenXML();
Default Value
""
Remarks
This property holds the security token. This is populated after calling GetSecurityToken.
This property is read-only and not available at design time.
SignerCert Property (SAML Class)
The certificate used for signature verification.
Syntax
public Certificate getSignerCert(); public void setSignerCert(Certificate signerCert);
Remarks
This property optionally specifies a certificate used for signature verification. When calling GetAssertion or ParseAssertion, if the assertion is signed the class will use the certificate specified in this property to verify the signature. If this property is not set the class will attempt to parse the certificate present in the assertion to perform verification.
This property is not available at design time.
SSLAcceptServerCert Property (SAML Class)
Instructs the class to unconditionally accept the server certificate that matches the supplied certificate.
Syntax
public Certificate getSSLAcceptServerCert(); public void setSSLAcceptServerCert(Certificate SSLAcceptServerCert);
Remarks
If it finds any issues with the certificate presented by the server, the class will normally terminate the connection with an error.
You may override this behavior by supplying a value for SSLAcceptServerCert. If the certificate supplied in SSLAcceptServerCert is the same as the certificate presented by the server, then the server certificate is accepted unconditionally, and the connection will continue normally.
Please note that this functionality is provided only for cases where you otherwise know that you are communicating with the right server. If used improperly, this property may create a security breach. Use it at your own risk.
SSLCert Property (SAML Class)
The certificate to be used during SSL negotiation.
Syntax
public Certificate getSSLCert(); public void setSSLCert(Certificate SSLCert);
Remarks
The digital certificate that the class will use during SSL negotiation. Set this property to a valid certificate before starting SSL negotiation. To set a certificate, you may set the Encoded field to the encoded certificate. To select a certificate, use the store and subject fields.
SSLProvider Property (SAML Class)
This specifies the SSL/TLS implementation to use.
Syntax
public int getSSLProvider(); public void setSSLProvider(int SSLProvider); Enumerated values: public final static int sslpAutomatic = 0; public final static int sslpPlatform = 1; public final static int sslpInternal = 2;
Default Value
0
Remarks
This property specifies the SSL/TLS implementation to use. In most cases the default value of 0 (Automatic) is recommended and should not be changed. When set to 0 (Automatic) the class will select whether to use the platform implementation or the internal implementation depending on the operating system as well as the TLS version being used.
Possible values are:
0 (sslpAutomatic - default) | Automatically selects the appropriate implementation. |
1 (sslpPlatform) | Uses the platform/system implementation. |
2 (sslpInternal) | Uses the internal implementation. |
In most cases using the default value (Automatic) is recommended. The class will select a provider depending on the current platform.
When Automatic is selected the platform implementation is used by default. When TLS 1.3 is enabled via SSLEnabledProtocols the internal implementation is used.
SSLServerCert Property (SAML Class)
The server certificate for the last established connection.
Syntax
public Certificate getSSLServerCert();
Remarks
SSLServerCert contains the server certificate for the last established connection.
SSLServerCert is reset every time a new connection is attempted.
This property is read-only.
User Property (SAML Class)
The username.
Syntax
public String getUser(); public void setUser(String user);
Default Value
""
Remarks
This property specifies the username. This must be set before calling GetAssertion or GetSecurityToken.
This property is not available at design time.
XAttributes Property (SAML Class)
A collection of attributes of the current element.
Syntax
public XMLAttributeList getXAttributes(); public void setXAttributes(XMLAttributeList XAttributes);
Remarks
This collection consists of all attributes of the current XML element. The component parses each attribute into a collection of XMLAttribute types.
This collection is indexed from 0 to size -1.
This property is not available at design time.
XChildren Property (SAML Class)
Collection of child elements of the currently selected XML element.
Syntax
public XMLElementList getXChildren(); public void setXChildren(XMLElementList XChildren);
Remarks
This property contains a collection of child elements of the currently selected XML element. The elements are provided in the collection in the same order they are found in the XML document.
This collection is indexed from 0 to size -1.
This property is not available at design time.
XElement Property (SAML Class)
The name of the current element.
Syntax
public String getXElement(); public void setXElement(String XElement);
Default Value
""
Remarks
The current element is specified via the XPath property.
XNamespace Property (SAML Class)
The namespace of the current element.
Syntax
public String getXNamespace(); public void setXNamespace(String XNamespace);
Default Value
""
Remarks
The current element is specified via the XPath property.
XParent Property (SAML Class)
The parent of the current element.
Syntax
public String getXParent();
Default Value
""
Remarks
The current element is specified via the XPath property.
This property is read-only.
XPath Property (SAML Class)
Provides a way to point to a specific element in the document.
Syntax
public String getXPath(); public void setXPath(String XPath);
Default Value
""
Remarks
XPath implements a subset of the XML XPath specification, allowing you to point to specific elements in the XML documents.
The path is a series of one or more element accessors separated by '/'. The path can be absolute (starting with '/') or relative to the current XPath location.
The following are possible values for an element accessor:
'name' | A particular element name |
name[i] | The i-th subelement of the current element with the given name |
[i] | The i-th subelement of the current element |
[last()] | The last subelement of the current element |
[last()-i] | The subelement located at the last location minus i in the current element |
name[@attrname="attrvalue"] | The subelement containing a particular value for a given attribute (supports single AND double quotes) |
.. | The parent of the current element |
BuildDOM must be set to True prior to parsing the document for the XPath functionality to be available.
Example (Setting XPath):
Document root | XML.XPath = "/" |
Specific Element | XML.XPath = "/root/SubElement1/SubElement2/" |
i-th Child | XML.XPath = "/root/SubElement1[i]" |
XPrefix Property (SAML Class)
The prefix of the current element.
Syntax
public String getXPrefix(); public void setXPrefix(String XPrefix);
Default Value
""
Remarks
The current element is specified via the XPath property.
XSubTree Property (SAML Class)
A snapshot of the current element in the document.
Syntax
public String getXSubTree();
Default Value
""
Remarks
The current element is specified via the XPath property. In order for this property to work you must have the CacheContent set to true.
This property is read-only.
XText Property (SAML Class)
The text of the current element.
Syntax
public String getXText(); public void setXText(String XText);
Default Value
""
Remarks
The current element is specified via the XPath property.
Config Method (Saml Class)
Sets or retrieves a configuration setting.
Syntax
public String config(String 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.
GetAssertion Method (Saml Class)
Gets the assertion.
Syntax
public void getAssertion();
Remarks
This method communicates with LocalSTS as to obtain an assertion.
When AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM) the class will automatically populate various properties to known values to reduce the number of required settings. Typically only the following properties are required:
When AuthMode is set to 2 (camADFS) or 3 (camCustom) the following properties are required:
If the assertion is signed the class will use the certificate specified in SignerCert to verify the signature. If SignerCert is not set the class will attempt to parse the certificate present in the assertion to perform verification.
After the assertion is parsed and the signature is verified (if present) the following properties will be populated:
- AssertionId
- AssertionIssueInstant
- AssertionIssuer
- AssertionNotBefore
- AssertionNotOnOrAfter
- AssertionSubject
- AssertionVersion
- AssertionXML
- Claims
GetSecurityToken Method (Saml Class)
Gets the security token.
Syntax
public void getSecurityToken();
Remarks
This method communicates with FederationSTS and LocalSTS as applicable to obtain a security token. The SecurityTokenXML property will be populated with the retrieved token.
When AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM) the class will automatically populate various properties to known values to reduce the number of required settings. Typically only the following properties are required:
When AuthMode is set to 2 (camADFS) or 3 (camCustom) the following properties are required:
ParseAssertion Method (Saml Class)
Parses the specified assertion.
Syntax
public void parseAssertion(String assertion);
Remarks
This method parses the assertion specified by the assertion parameter. If the assertion is signed the class will use the certificate specified in SignerCert to verify the signature. If SignerCert is not set the class will attempt to parse the certificate present in the assertion to perform verification.
After the assertion is parsed and the signature is verified (if present) the following properties will be populated:
- AssertionId
- AssertionIssueInstant
- AssertionIssuer
- AssertionNotBefore
- AssertionNotOnOrAfter
- AssertionSubject
- AssertionVersion
- AssertionXML
- Claims
Characters Event (Saml Class)
Fired for plain text segments of the input stream.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void characters(SamlCharactersEvent e) {} ... } public class SamlCharactersEvent { public String text; }
Remarks
The Characters event provides the plain text content of the XML document (i.e. the text inside the tags). The text is provided through the Text parameter.
The text includes white space as well as end of line characters, except for ignorable whitespace which is fired through the IgnorableWhitespace event.
Comment Event (Saml Class)
Fired when a comment section is encountered.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void comment(SamlCommentEvent e) {} ... } public class SamlCommentEvent { public String text; }
Remarks
The Comment event is fired whenever a comment section (<!-- ..text... -->) is found in the document.
The full text of the comment is provided by the Text parameter.
EndElement Event (Saml Class)
Fired when an end-element tag is encountered.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void endElement(SamlEndElementEvent e) {} ... } public class SamlEndElementEvent { public String namespace; public String element; public String QName; public boolean isEmpty; }
Remarks
The EndElement event is fired when an end-element tag is found in the document.
The element name is provided by the Element parameter.
The IsEmpty parameter is true when the event corresponds with an empty element declaration.
Error Event (Saml Class)
Information about errors during data delivery.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void error(SamlErrorEvent e) {} ... } public class SamlErrorEvent { public int errorCode; public String description; }
Remarks
The Error event is fired in case of exceptional conditions during message processing. Normally the class throws an exception.
ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.
PI Event (Saml Class)
Fired when a processing instruction section is encountered.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void PI(SamlPIEvent e) {} ... } public class SamlPIEvent { public String text; }
Remarks
The PI event is fired whenever a processing instruction section (<? ..text... ?>) is found in the document.
The full text of the processing instruction is provided by the Text parameter.
SSLServerAuthentication Event (Saml Class)
Fired after the server presents its certificate to the client.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void SSLServerAuthentication(SamlSSLServerAuthenticationEvent e) {} ... } public class SamlSSLServerAuthenticationEvent { public byte[] certEncoded; public String certSubject; public String certIssuer; public String status; public boolean accept; }
Remarks
This event is where the client can decide whether to continue with the connection process or not. The Accept parameter is a recommendation on whether to continue or close the connection. This is just a suggestion: application software must use its own logic to determine whether to continue or not.
When Accept is False, Status shows why the verification failed (otherwise, Status contains the string "OK"). If it is decided to continue, you can override and accept the certificate by setting the Accept parameter to True.
SSLStatus Event (Saml Class)
Shows the progress of the secure connection.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void SSLStatus(SamlSSLStatusEvent e) {} ... } public class SamlSSLStatusEvent { public String message; }
Remarks
The event is fired for informational and logging purposes only. Used to track the progress of the connection.
StartElement Event (Saml Class)
Fired when a begin-element tag is encountered in the document.
Syntax
public class DefaultSamlEventListener implements SamlEventListener { ... public void startElement(SamlStartElementEvent e) {} ... } public class SamlStartElementEvent { public String namespace; public String element; public String QName; public boolean isEmpty; }
Remarks
The StartElement event is fired when a begin-element tag is found in the document.
The element name is provided through the Element parameter. The attribute names and values (if any) are provided through the XAttributes collection.
The IsEmpty parameter is true when the event corresponds with an empty element declaration.
Certificate Type
This is the digital certificate being used.
Remarks
This type describes the current digital certificate. The certificate may be a public or private key. The fields are used to identify or select certificates.
Fields
EffectiveDate String |
This is the date on which this certificate becomes valid. Before this date, it is not valid. The following example illustrates the format of an encoded date: 23-Jan-2000 15:00:00. |
||||||||||||||||||||||||||||||||||||||||||||||||
Encoded String |
This is the certificate (PEM/base64 encoded). This field is used to assign a specific certificate. The Store and Subject fields also may be used to specify a certificate. When Encoded is set, a search is initiated in the current Store for the private key of the certificate. If the key is found, Subject is updated to reflect the full subject of the selected certificate; otherwise, Subject is set to an empty string. |
||||||||||||||||||||||||||||||||||||||||||||||||
EncodedB byte[] |
This is the certificate (PEM/base64 encoded). This field is used to assign a specific certificate. The Store and Subject fields also may be used to specify a certificate. When Encoded is set, a search is initiated in the current Store for the private key of the certificate. If the key is found, Subject is updated to reflect the full subject of the selected certificate; otherwise, Subject is set to an empty string. |
||||||||||||||||||||||||||||||||||||||||||||||||
ExpirationDate String |
This is the date the certificate expires. After this date, the certificate will no longer be valid. The following example illustrates the format of an encoded date: 23-Jan-2001 15:00:00. |
||||||||||||||||||||||||||||||||||||||||||||||||
ExtendedKeyUsage String |
This is a comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs). |
||||||||||||||||||||||||||||||||||||||||||||||||
Fingerprint String |
This is the hex-encoded, 16-byte MD5 fingerprint of the certificate. The following example illustrates the format: bc:2a:72:af:fe:58:17:43:7a:5f:ba:5a:7c:90:f7:02 |
||||||||||||||||||||||||||||||||||||||||||||||||
FingerprintSHA1 String |
This is the hex-encoded, 20-byte SHA-1 fingerprint of the certificate. The following example illustrates the format: 30:7b:fa:38:65:83:ff:da:b4:4e:07:3f:17:b8:a4:ed:80:be:ff:84 |
||||||||||||||||||||||||||||||||||||||||||||||||
FingerprintSHA256 String |
This is the hex-encoded, 32-byte SHA-256 fingerprint of the certificate. The following example illustrates the format: 6a:80:5c:33:a9:43:ea:b0:96:12:8a:64:96:30:ef:4a:8a:96:86:ce:f4:c7:be:10:24:8e:2b:60:9e:f3:59:53 |
||||||||||||||||||||||||||||||||||||||||||||||||
Issuer String |
This is the issuer of the certificate. This field contains a string representation of the name of the issuing authority for the certificate. |
||||||||||||||||||||||||||||||||||||||||||||||||
KeyPassword String |
This is the password for the certificate's private key (if any). Some certificate stores may individually protect certificates' private keys, separate from the standard protection offered by the StorePassword. KeyPassword. This field can be used to read such password-protected private keys. Note: this property defaults to the value of StorePassword. To clear it, you must set the property to the empty string (""). It can be set at any time, but when the private key's password is different from the store's password, then it must be set before calling PrivateKey. |
||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKey String |
This is the private key of the certificate (if available). The key is provided as PEM/Base64-encoded data. Note: The PrivateKey may be available but not exportable. In this case, PrivateKey returns an empty string. |
||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKeyAvailable boolean |
This field shows whether a PrivateKey is available for the selected certificate. If PrivateKeyAvailable is True, the certificate may be used for authentication purposes (e.g., server authentication). |
||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKeyContainer String |
This is the name of the PrivateKey container for the certificate (if available). This functionality is available only on Windows platforms. |
||||||||||||||||||||||||||||||||||||||||||||||||
PublicKey String |
This is the public key of the certificate. The key is provided as PEM/Base64-encoded data. |
||||||||||||||||||||||||||||||||||||||||||||||||
PublicKeyAlgorithm String |
This field contains the textual description of the certificate's public key algorithm. The property contains either the name of the algorithm (e.g., "RSA" or "RSA_DH") or an object identifier (OID) string representing the algorithm. |
||||||||||||||||||||||||||||||||||||||||||||||||
PublicKeyLength int |
This is the length of the certificate's public key (in bits). Common values are 512, 1024, and 2048. |
||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber String |
This is the serial number of the certificate encoded as a string. The number is encoded as a series of hexadecimal digits, with each pair representing a byte of the serial number. |
||||||||||||||||||||||||||||||||||||||||||||||||
SignatureAlgorithm String |
The field contains the text description of the certificate's signature algorithm. The property contains either the name of the algorithm (e.g., "RSA" or "RSA_MD5RSA") or an object identifier (OID) string representing the algorithm. |
||||||||||||||||||||||||||||||||||||||||||||||||
Store String |
This is the name of the certificate store for the client certificate. The StoreType field denotes the type of the certificate store specified by Store. If the store is password protected, specify the password in StorePassword. Store is used in conjunction with the Subject field to specify client certificates. If Store has a value, and Subject or Encoded is set, a search for a certificate is initiated. Please see the Subject field for details. Designations of certificate stores are platform-dependent. The following are designations of the most common User and Machine certificate stores in Windows:
In Java, the certificate store normally is a file containing certificates and optional private keys. When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store). |
||||||||||||||||||||||||||||||||||||||||||||||||
StoreB byte[] |
This is the name of the certificate store for the client certificate. The StoreType field denotes the type of the certificate store specified by Store. If the store is password protected, specify the password in StorePassword. Store is used in conjunction with the Subject field to specify client certificates. If Store has a value, and Subject or Encoded is set, a search for a certificate is initiated. Please see the Subject field for details. Designations of certificate stores are platform-dependent. The following are designations of the most common User and Machine certificate stores in Windows:
In Java, the certificate store normally is a file containing certificates and optional private keys. When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store). |
||||||||||||||||||||||||||||||||||||||||||||||||
StorePassword String |
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store. |
||||||||||||||||||||||||||||||||||||||||||||||||
StoreType int |
This is the type of certificate store for this certificate. The class supports both public and private keys in a variety of formats. When the cstAuto value is used the class will automatically determine the type. This field can take one of the following values:
|
||||||||||||||||||||||||||||||||||||||||||||||||
Subject String |
This is the subject of the certificate used for client authentication. This field will be populated with the full subject of the loaded certificate. When loading a certificate the subject is used to locate the certificate in the store. If an exact match is not found, the store is searched for subjects containing the value of the property. If a match is still not found, the property is set to an empty string, and no certificate is selected. The special value "*" picks a random certificate in the certificate store. The certificate subject is a comma separated list of distinguished name fields and values. For instance "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are displayed below.
If a field value contains a comma it must be quoted. |
||||||||||||||||||||||||||||||||||||||||||||||||
SubjectAltNames String |
This field contains comma-separated lists of alternative subject names for the certificate. |
||||||||||||||||||||||||||||||||||||||||||||||||
ThumbprintMD5 String |
This field contains the MD5 hash of the certificate. If the hash does not already exist, it is computed. |
||||||||||||||||||||||||||||||||||||||||||||||||
ThumbprintSHA1 String |
This field contains the SHA-1 hash of the certificate. If the hash does not already exist, it is computed. |
||||||||||||||||||||||||||||||||||||||||||||||||
ThumbprintSHA256 String |
This field contains the SHA-256 hash of the certificate. If the hash does not already exist, it is computed. |
||||||||||||||||||||||||||||||||||||||||||||||||
Usage String |
This field contains the text description of UsageFlags. This value will be of one or more of the following strings and will be separated by commas:
If the provider is OpenSSL, the value is a comma-separated list of X.509 certificate extension names. |
||||||||||||||||||||||||||||||||||||||||||||||||
UsageFlags int |
This field contains the flags that show intended use for the certificate. The value of UsageFlags is a combination of the following flags:
Please see the Usage field for a text representation of UsageFlags. This functionality currently is not available when the provider is OpenSSL. |
||||||||||||||||||||||||||||||||||||||||||||||||
Version String |
This field contains the certificate's version number. The possible values are the strings "V1", "V2", and "V3". |
Constructors
public Certificate();
Creates a Certificate instance whose properties can be set. This is useful for use with CERTMGR when generating new certificates.
public Certificate( certificateFile);
Opens CertificateFile and reads out the contents as an X509 public key.
public Certificate( certificateData);
Parses CertificateData as an X509 public key.
public Certificate( certStoreType, store, storePassword, subject);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store. After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate( certStoreType, store, storePassword, subject, configurationString);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store. ConfigurationString is a newline separated list of name-value pairs that may be used to modify the default behavior. Possible values include "PersistPFXKey", which shows whether or not the PFX key is persisted after performing operations with the private key. This correlates to the PKCS12_NO_PERSIST_KEY CyrptoAPI option. The default value is True (the key is persisted). "Thumbprint" - a MD5, SHA1, or SHA256 thumbprint of the certificate to load. When specified, this value is used to select the certificate in the store. This is applicable to cstUser, cstMachine, cstPublicKeyFile, and cstPFXFile store types. "UseInternalSecurityAPI" shows whether the platform (default) or the internal security API is used when performing certificate-related operations. After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate( certStoreType, store, storePassword, encoded);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store. After the store has been successfully opened, the class will load Encoded as an X509 certificate and search the opened store for a corresponding private key.
public Certificate( certStoreType, storeBlob, storePassword, subject);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. StoreBlob is a string (binary- or base64-encoded) containing the certificate data. StorePassword is the password used to protect the store. After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate( certStoreType, storeBlob, storePassword, subject, configurationString);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. StoreBlob is a string (binary- or base64-encoded) containing the certificate data. StorePassword is the password used to protect the store. After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate( certStoreType, storeBlob, storePassword, encoded);
CertStoreType identifies the type of certificate store to use. See StoreType for descriptions of the different certificate stores. Store is a string (binary- or base64-encoded) containing the certificate store. StorePassword is the password used to protect the store. After the store has been successfully opened, the class will load Encoded as an X509 certificate and search the opened store for a corresponding private key.
Claim Type
The claim.
Remarks
This type describes the claim.
Fields
IssuerName String |
The name of the issuer. This may be a URL like "http://adfs.contoso.com/adfs/services/trust". |
OriginalIssuer String |
The name of the original issuer. This may be a URL like "http://adfs.contoso.com/adfs/services/trust". |
PropertyCount int |
The number of properties in the claim. |
PropertyIndex int |
Selects a property. This is valid from 0 to PropertyCount.
To inspect a property, first set this field and then inspect PropertyName and PropertyValue.
For instance:
|
PropertyName String |
The name of the property. |
PropertyValue String |
The value of the property. |
TypeName String |
The type name of the claim. This may be a value like "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier". |
Value String |
The value of the claim. |
ValueType String |
The type of value. This may be a value like "http://www.w3.org/2001/XMLSchema#string". |
Constructors
public Claim();
public Claim( typeName, value, valueType, issuerName, originalIssuer);
Proxy Type
This is the proxy the class will connect to.
Remarks
When connecting through a proxy, this type is used to specify different properties of the proxy, such as the Server and the AuthScheme.
Fields
AuthScheme int |
This field is used to tell the class which type of authorization to perform when connecting to the proxy. This is used only when the User and Password fields are set. AuthScheme should be set to authNone (3) when no authentication is expected. By default, AuthScheme is authBasic (0), and if the User and Password fields are set, the component will attempt basic authentication. If AuthScheme is set to authDigest (1), digest authentication will be attempted instead. If AuthScheme is set to authProprietary (2), then the authorization token will not be generated by the class. Look at the configuration file for the class being used to find more information about manually setting this token. If AuthScheme is set to authNtlm (4), NTLM authentication will be used. For security reasons, setting this field will clear the values of User and Password. |
||||||||
AutoDetect boolean |
This field tells the class whether or not to automatically detect and use proxy system settings, if available. The default value is false. Note: This setting is applicable only in Windows. |
||||||||
Password String |
This field contains a password if authentication is to be used for the proxy. If AuthScheme is set to Basic Authentication, the User and Password are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password]. If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server. If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation. |
||||||||
Port int |
This field contains the Transmission Control Protocol (TCP) port for the proxy Server (default 80). See the description of the Server field for details. |
||||||||
Server String |
If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified. If the Server field is set to a domain name, a DNS request is initiated. Upon successful termination of the request, the Server field is set to the corresponding address. If the search is not successful, an error is returned. |
||||||||
SSL int |
This field determines when to use a Secure Sockets Layer (SSL) for the connection to the proxy. The applicable values are as follows:
|
||||||||
User String |
This field contains a user name, if authentication is to be used for the proxy. If AuthScheme is set to Basic Authentication, the User and Password are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password]. If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server. If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation. |
Constructors
public Proxy();
public Proxy( server, port);
public Proxy( server, port, user, password);
XMLAttribute Type
An XML attribute from the current XML element.
Remarks
This type describes an XML attribute from the current element. It includes fields to denote information about the attribute being defined.
Fields
Name String |
The Name provides the local name (without prefix) of the attribute. |
Namespace String |
Attribute namespace. |
Prefix String |
Attribute prefix (if any). If the attribute does not have a prefix, this property is empty. |
Value String |
Attribute value. |
Constructors
public XMLAttribute();
XMLElement Type
An element contained within the XML document.
Remarks
This type describes an XML element. The fields for this type describe the element Name, Prefix, and Namespace of the given element.
The elements are inserted into the array in the same order they are found in the document.
Fields
Name String |
The Name field provides the local name (without prefix) of the element. |
Namespace String |
Namespace of the element. |
Prefix String |
Prefix of the element (if any). If the element does not have a prefix, this property is empty. |
XText String |
The inner text of the element. |
Constructors
public XMLElement();
Config Settings (Saml Class)
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.SAML Config Settings |
AssertionXPath: The XPath to the assertion.Normally when calling ParseAssertion, only the assertion itself should be passed in. In the event that the assertion is nested in other markup, set this to the XPath of the assertion to instruct the class where to find it. For encrypted assertions there is a similar EncryptedAssertionXPath configuration setting. |
DecryptAssertion: Whether to decrypt the assertion.This setting specifies whether the class should decrypt the assertion. If set to True the class will use the certificate specified by Certificate to decrypt the assertion. The default value is False. |
EncryptedAssertionXPath: The XPath to the encrypted assertion.Normally when calling ParseAssertion, only the encrypted assertion itself should be passed in. In the event that the encrypted assertion is nested in other markup, set this to the XPath of the encrypted assertion to instruct the class where to find it. For plaintext assertions there is a similar AssertionXPath configuration setting. |
RawRequest:
Returns the raw HTTP request.This may be queried after calling GetAssertion or GetSecurityToken.
This will return the raw HTTP request which may be useful for troubleshooting purposes.
For instance:
component.GetAssertion();
MyString = component.Config("RawRequest");
|
RawResponse:
Returns the raw HTTP response.This may be queried after calling GetAssertion or GetSecurityToken.
This will return the raw HTTP response which may be useful for troubleshooting purposes.
For instance:
component.GetAssertion();
MyString = component.Config("RawResponse");
|
UserRealm: The URL of a web service to determine the LocalSTS (if any).This setting specifies the URL of a web service which will be queried to determine the LocalSTS value. This is only applicable when AuthMode is set to 0 (camSharePointOnline) or 1 (camDynamicsCRM). When AuthMode is set to either 0 or 1 this setting is automatically set to "https://login.microsoftonline.com/GetUserRealm.srf". In most cases this does not need to be changed. |
Base Config Settings |
BuildInfo: Information about the product's build.When queried, this setting will return a string containing information about the product's build. |
GUIAvailable:
Tells the class whether or not a message loop is available for processing events.In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The class will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.
In some non-GUI applications, an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the class does not attempt to process external events. |
LicenseInfo:
Information about the current license.When queried, this setting will return a string containing information about the license this instance of a class is using. It will return the following information:
|
MaskSensitive:
Whether sensitive data is masked in log messages.In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to true to mask sensitive data. The default is false.
This setting only works on these classes: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer. |
UseDaemonThreads: Whether threads created by the class are daemon threads.If set to True (default), when the class creates a thread, the thread's Daemon property will be explicitly set to True. When set to False, the class will not set the Daemon property on the created thread. The default value is True. |
UseFIPSCompliantAPI:
Tells the class whether or not to use FIPS certified APIs.When set to true, the class will utilize the underlying operating system's certified APIs. Java editions, regardless of OS, utilize Bouncy Castle FIPS, while all the other Windows editions make use of Microsoft security libraries.
The Java edition requires installation of the FIPS certified Bouncy Castle library regardless of the target operating system. This can be downloaded from https://www.bouncycastle.org/fips-java/. Only the "Provider" library is needed. The jar file should then be installed in a JRE search path. In the application where the component will be used the following classes must be imported:
The Bouncy Castle provider must be added as a valid provider and must also be configured to operate in FIPS mode:
For more details please see the FIPS 140-2 Compliance article. Note: Enabling FIPS-compliance requires a special license; please contact sales@nsoftware.com for details. |
UseInternalSecurityAPI:
Tells the class whether or not to use the system security libraries or an internal implementation.
When set to false, the class will use the system security libraries by default to perform cryptographic functions where applicable.
Setting this setting to true tells the class to use the internal implementation instead of using the system security libraries. This setting is set to false by default on all platforms. |
Trappable Errors (Saml Class)
SAML Errors
603 Cannot obtain assertion. LocalSTS must be set. |
HTTP Errors
118 Firewall Error. Error description contains detailed message. | |
143 Busy executing current method. | |
151 HTTP protocol error. The error message has the server response. | |
152 No server specified in URL | |
153 Specified URLScheme is invalid. | |
155 Range operation is not supported by server. | |
156 Invalid cookie index (out of range). | |
301 Interrupted. | |
302 Can't open AttachedFile. |
TCPClient Errors
100 You cannot change the RemotePort at this time. A connection is in progress. | |
101 You cannot change the RemoteHost (Server) at this time. A connection is in progress. | |
102 The RemoteHost address is invalid (0.0.0.0). | |
104 Already connected. If you want to reconnect, close the current connection first. | |
106 You cannot change the LocalPort at this time. A connection is in progress. | |
107 You cannot change the LocalHost at this time. A connection is in progress. | |
112 You cannot change MaxLineLength at this time. A connection is in progress. | |
116 RemotePort cannot be zero. Please specify a valid service port number. | |
117 You cannot change the UseConnection option while the class is active. | |
135 Operation would block. | |
201 Timeout. | |
211 Action impossible in control's present state. | |
212 Action impossible while not connected. | |
213 Action impossible while listening. | |
301 Timeout. | |
303 Could not open file. | |
434 Unable to convert string to selected CodePage. | |
1105 Already connecting. If you want to reconnect, close the current connection first. | |
1117 You need to connect first. | |
1119 You cannot change the LocalHost at this time. A connection is in progress. | |
1120 Connection dropped by remote host. |
TCP/IP Errors
10004 [10004] Interrupted system call. | |
10009 [10009] Bad file number. | |
10013 [10013] Access denied. | |
10014 [10014] Bad address. | |
10022 [10022] Invalid argument. | |
10024 [10024] Too many open files. | |
10035 [10035] Operation would block. | |
10036 [10036] Operation now in progress. | |
10037 [10037] Operation already in progress. | |
10038 [10038] Socket operation on non-socket. | |
10039 [10039] Destination address required. | |
10040 [10040] Message too long. | |
10041 [10041] Protocol wrong type for socket. | |
10042 [10042] Bad protocol option. | |
10043 [10043] Protocol not supported. | |
10044 [10044] Socket type not supported. | |
10045 [10045] Operation not supported on socket. | |
10046 [10046] Protocol family not supported. | |
10047 [10047] Address family not supported by protocol family. | |
10048 [10048] Address already in use. | |
10049 [10049] Can't assign requested address. | |
10050 [10050] Network is down. | |
10051 [10051] Network is unreachable. | |
10052 [10052] Net dropped connection or reset. | |
10053 [10053] Software caused connection abort. | |
10054 [10054] Connection reset by peer. | |
10055 [10055] No buffer space available. | |
10056 [10056] Socket is already connected. | |
10057 [10057] Socket is not connected. | |
10058 [10058] Can't send after socket shutdown. | |
10059 [10059] Too many references, can't splice. | |
10060 [10060] Connection timed out. | |
10061 [10061] Connection refused. | |
10062 [10062] Too many levels of symbolic links. | |
10063 [10063] File name too long. | |
10064 [10064] Host is down. | |
10065 [10065] No route to host. | |
10066 [10066] Directory not empty | |
10067 [10067] Too many processes. | |
10068 [10068] Too many users. | |
10069 [10069] Disc Quota Exceeded. | |
10070 [10070] Stale NFS file handle. | |
10071 [10071] Too many levels of remote in path. | |
10091 [10091] Network subsystem is unavailable. | |
10092 [10092] WINSOCK DLL Version out of range. | |
10093 [10093] Winsock not loaded yet. | |
11001 [11001] Host not found. | |
11002 [11002] Non-authoritative 'Host not found' (try again or check DNS setup). | |
11003 [11003] Non-recoverable errors: FORMERR, REFUSED, NOTIMP. | |
11004 [11004] Valid name, no data record (check DNS setup). |