SAML Class
Properties Methods Events Config Settings Errors
The SAML class is used to obtain security tokens and assertions.
Class Name
IPWorksAuth_SAML
Procedural Interface
ipworksauth_saml_open(); ipworksauth_saml_close($res); ipworksauth_saml_register_callback($res, $id, $function); ipworksauth_saml_get_last_error($res); ipworksauth_saml_get_last_error_code($res); ipworksauth_saml_set($res, $id, $index, $value); ipworksauth_saml_get($res, $id, $index); ipworksauth_saml_do_config($res, $configurationstring); ipworksauth_saml_do_getassertion($res); ipworksauth_saml_do_getsecuritytoken($res); ipworksauth_saml_do_parseassertion($res, $assertion);
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
- Claim* properties
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
- Claim* properties
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. |
CertEncoded | This is the certificate (PEM/base64 encoded). |
CertStore | This is the name of the certificate store for the client certificate. |
CertStorePassword | If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store. |
CertStoreType | This is the type of certificate store for this certificate. |
CertSubject | This is the subject of the certificate used for client authentication. |
ClaimCount | The number of records in the Claim arrays. |
ClaimIssuerName | The name of the issuer. |
ClaimOriginalIssuer | The name of the original issuer. |
ClaimPropertyCount | The number of properties in the claim. |
ClaimPropertyIndex | Selects a property. |
ClaimPropertyName | The name of the property. |
ClaimPropertyValue | The value of the property. |
ClaimTypeName | The type name of the claim. |
ClaimValue | The value of the claim. |
ClaimValueType | The type of value. |
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. |
ProxyAuthScheme | This property is used to tell the class which type of authorization to perform when connecting to the proxy. |
ProxyAutoDetect | This property tells the class whether or not to automatically detect and use proxy system settings, if available. |
ProxyPassword | This property contains a password if authentication is to be used for the proxy. |
ProxyPort | This property contains the Transmission Control Protocol (TCP) port for the proxy Server (default 80). |
ProxyServer | If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified. |
ProxySSL | This property determines when to use a Secure Sockets Layer (SSL) for the connection to the proxy. |
ProxyUser | This property contains a user name, if authentication is to be used for the proxy. |
SecurityTokenXML | The security token XML. |
SignerCertEncoded | This is the certificate (PEM/base64 encoded). |
SignerCertStore | This is the name of the certificate store for the client certificate. |
SignerCertStorePassword | If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store. |
SignerCertStoreType | This is the type of certificate store for this certificate. |
SignerCertSubject | This is the subject of the certificate used for client authentication. |
SSLAcceptServerCertEncoded | This is the certificate (PEM/base64 encoded). |
SSLCertEncoded | This is the certificate (PEM/base64 encoded). |
SSLCertStore | This is the name of the certificate store for the client certificate. |
SSLCertStorePassword | If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store. |
SSLCertStoreType | This is the type of certificate store for this certificate. |
SSLCertSubject | This is the subject of the certificate used for client authentication. |
SSLProvider | This specifies the SSL/TLS implementation to use. |
SSLServerCertEncoded | This is the certificate (PEM/base64 encoded). |
User | The username. |
AttrCount | The number of records in the Attr arrays. |
AttrName | The Name provides the local name (without prefix) of the attribute. |
AttrNamespace | Attribute namespace. |
AttrPrefix | Attribute prefix (if any). |
AttrValue | Attribute value. |
XChildCount | The number of records in the XChild arrays. |
XChildName | The Name property provides the local name (without prefix) of the element. |
XChildNamespace | Namespace of the element. |
XChildPrefix | Prefix of the element (if any). |
XChildXText | The inner text of the 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.
AssertionAudienceCount | Specifies the number of Audience elements found in the assertion. |
AssertionAudienceValue[i] | Contains the audience value at the specified index. |
AssertionXPath | The XPath to the assertion. |
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. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
ProcessIdleEvents | Whether the class uses its internal event loop to process events when the main thread is idle. |
SelectWaitMillis | The length of time in milliseconds the class will wait when DoEvents is called if there are no events to process. |
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 (IPWorksAuth_SAML Class)
The application's Uniform Resource Name (URN).
Object Oriented Interface
public function getApplicationURN(); public function setApplicationURN($value);
Procedural Interface
ipworksauth_saml_get($res, 1 ); ipworksauth_saml_set($res, 1, $value );
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.
Data Type
String
AssertionId Property (IPWorksAuth_SAML Class)
The assertion id.
Object Oriented Interface
public function getAssertionId();
Procedural Interface
ipworksauth_saml_get($res, 2 );
Default Value
''
Remarks
This property hold the id of the assertion.
This property is read-only and not available at design time.
Data Type
String
AssertionIssueInstant Property (IPWorksAuth_SAML Class)
The time in UTC that the assertion was issued.
Object Oriented Interface
public function getAssertionIssueInstant();
Procedural Interface
ipworksauth_saml_get($res, 3 );
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.
Data Type
String
AssertionIssuer Property (IPWorksAuth_SAML Class)
The assertion issuer.
Object Oriented Interface
public function getAssertionIssuer();
Procedural Interface
ipworksauth_saml_get($res, 4 );
Default Value
''
Remarks
This property holds the issuer of the assertion.
This property is read-only and not available at design time.
Data Type
String
AssertionNotBefore Property (IPWorksAuth_SAML Class)
The date on which the assertion becomes valid.
Object Oriented Interface
public function getAssertionNotBefore();
Procedural Interface
ipworksauth_saml_get($res, 5 );
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.
Data Type
String
AssertionNotOnOrAfter Property (IPWorksAuth_SAML Class)
The time at which the assertion expires.
Object Oriented Interface
public function getAssertionNotOnOrAfter();
Procedural Interface
ipworksauth_saml_get($res, 6 );
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.
Data Type
String
AssertionSubject Property (IPWorksAuth_SAML Class)
The subject of the assertion.
Object Oriented Interface
public function getAssertionSubject();
Procedural Interface
ipworksauth_saml_get($res, 7 );
Default Value
''
Remarks
This property holds the subject of the assertion.
This property is read-only and not available at design time.
Data Type
String
AssertionVersion Property (IPWorksAuth_SAML Class)
The version of the assertion.
Object Oriented Interface
public function getAssertionVersion(); public function setAssertionVersion($value);
Procedural Interface
ipworksauth_saml_get($res, 8 ); ipworksauth_saml_set($res, 8, $value );
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.
Data Type
Integer
AssertionXML Property (IPWorksAuth_SAML Class)
The assertion XML.
Object Oriented Interface
public function getAssertionXML();
Procedural Interface
ipworksauth_saml_get($res, 9 );
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.
Data Type
String
AuthMode Property (IPWorksAuth_SAML Class)
The authentication mode.
Object Oriented Interface
public function getAuthMode(); public function setAuthMode($value);
Procedural Interface
ipworksauth_saml_get($res, 10 ); ipworksauth_saml_set($res, 10, $value );
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.
Data Type
Integer
CertEncoded Property (IPWorksAuth_SAML Class)
This is the certificate (PEM/base64 encoded).
Object Oriented Interface
public function getCertEncoded(); public function setCertEncoded($value);
Procedural Interface
ipworksauth_saml_get($res, 12 ); ipworksauth_saml_set($res, 12, $value );
Default Value
''
Remarks
This is the certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The CertStore and CertSubject properties also may be used to specify a certificate.
When CertEncoded is set, a search is initiated in the current CertStore for the private key of the certificate. If the key is found, CertSubject is updated to reflect the full subject of the selected certificate; otherwise, CertSubject is set to an empty string.
This property is not available at design time.
Data Type
Binary String
CertStore Property (IPWorksAuth_SAML Class)
This is the name of the certificate store for the client certificate.
Object Oriented Interface
public function getCertStore(); public function setCertStore($value);
Procedural Interface
ipworksauth_saml_get($res, 28 ); ipworksauth_saml_set($res, 28, $value );
Default Value
'MY'
Remarks
This is the name of the certificate store for the client certificate.
The CertStoreType property denotes the type of the certificate store specified by CertStore. If the store is password protected, specify the password in CertStorePassword.
CertStore is used in conjunction with the CertSubject property to specify client certificates. If CertStore has a value, and CertSubject or CertEncoded is set, a search for a certificate is initiated. Please see the CertSubject property for details.
Designations of certificate stores are platform dependent.
The following designations are the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
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., PKCS#12 certificate store).
This property is not available at design time.
Data Type
Binary String
CertStorePassword Property (IPWorksAuth_SAML Class)
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
Object Oriented Interface
public function getCertStorePassword(); public function setCertStorePassword($value);
Procedural Interface
ipworksauth_saml_get($res, 29 ); ipworksauth_saml_set($res, 29, $value );
Default Value
''
Remarks
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
This property is not available at design time.
Data Type
String
CertStoreType Property (IPWorksAuth_SAML Class)
This is the type of certificate store for this certificate.
Object Oriented Interface
public function getCertStoreType(); public function setCertStoreType($value);
Procedural Interface
ipworksauth_saml_get($res, 30 ); ipworksauth_saml_set($res, 30, $value );
Default Value
0
Remarks
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 property can take one of the following values:
0 (cstUser - default) | For Windows, this specifies that the certificate store is a certificate store owned by the current user.
Note: This store type is not available in Java. |
1 (cstMachine) | For Windows, this specifies that the certificate store is a machine store.
Note: This store type is not available in Java. |
2 (cstPFXFile) | The certificate store is the name of a PFX (PKCS#12) file containing certificates. |
3 (cstPFXBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format. |
4 (cstJKSFile) | The certificate store is the name of a Java Key Store (JKS) file containing certificates.
Note: This store type is only available in Java. |
5 (cstJKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.
Note: this store type is only available in Java. |
6 (cstPEMKeyFile) | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
7 (cstPEMKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate. |
8 (cstPublicKeyFile) | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
9 (cstPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate. |
10 (cstSSHPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key. |
11 (cstP7BFile) | The certificate store is the name of a PKCS#7 file containing certificates. |
12 (cstP7BBlob) | The certificate store is a string (binary) representing a certificate store in PKCS#7 format. |
13 (cstSSHPublicKeyFile) | The certificate store is the name of a file that contains an SSH-style public key. |
14 (cstPPKFile) | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
15 (cstPPKBlob) | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
16 (cstXMLFile) | The certificate store is the name of a file that contains a certificate in XML format. |
17 (cstXMLBlob) | The certificate store is a string that contains a certificate in XML format. |
18 (cstJWKFile) | The certificate store is the name of a file that contains a JWK (JSON Web Key). |
19 (cstJWKBlob) | The certificate store is a string that contains a JWK (JSON Web Key). |
21 (cstBCFKSFile) | The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).
Note: This store type is only available in Java and .NET. |
22 (cstBCFKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.
Note: This store type is only available in Java and .NET. |
23 (cstPKCS11) | The certificate is present on a physical security key accessible via a PKCS#11 interface.
To use a security key, the necessary data must first be collected using the CertMgr class. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use. When using a certificate, pass the previously saved security key information as the CertStore and set CertStorePassword to the PIN. Code Example. SSH Authentication with Security Key:
|
99 (cstAuto) | The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically. |
This property is not available at design time.
Data Type
Integer
CertSubject Property (IPWorksAuth_SAML Class)
This is the subject of the certificate used for client authentication.
Object Oriented Interface
public function getCertSubject(); public function setCertSubject($value);
Procedural Interface
ipworksauth_saml_get($res, 31 ); ipworksauth_saml_set($res, 31, $value );
Default Value
''
Remarks
This is the subject of the certificate used for client authentication.
This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.
If a matching certificate is found, the property is set to the full subject of the matching certificate.
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 as follows:
Field | Meaning |
CN | Common Name. This is commonly a hostname like www.server.com. |
O | Organization |
OU | Organizational Unit |
L | Locality |
S | State |
C | Country |
E | Email Address |
If a field value contains a comma, it must be quoted.
This property is not available at design time.
Data Type
String
ClaimCount Property (IPWorksAuth_SAML Class)
The number of records in the Claim arrays.
Object Oriented Interface
public function getClaimCount();
Procedural Interface
ipworksauth_saml_get($res, 39 );
Default Value
0
Remarks
This property controls the size of the following arrays:
- ClaimIssuerName
- ClaimOriginalIssuer
- ClaimPropertyCount
- ClaimPropertyIndex
- ClaimPropertyName
- ClaimPropertyValue
- ClaimTypeName
- ClaimValue
- ClaimValueType
The array indices start at 0 and end at ClaimCount - 1.
This property is read-only and not available at design time.
Data Type
Integer
ClaimIssuerName Property (IPWorksAuth_SAML Class)
The name of the issuer.
Object Oriented Interface
public function getClaimIssuerName($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 40 , $claimindex);
Default Value
''
Remarks
The name of the issuer. This may be a URL like "http://adfs.contoso.com/adfs/services/trust".
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimOriginalIssuer Property (IPWorksAuth_SAML Class)
The name of the original issuer.
Object Oriented Interface
public function getClaimOriginalIssuer($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 41 , $claimindex);
Default Value
''
Remarks
The name of the original issuer. This may be a URL like "http://adfs.contoso.com/adfs/services/trust".
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimPropertyCount Property (IPWorksAuth_SAML Class)
The number of properties in the claim.
Object Oriented Interface
public function getClaimPropertyCount($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 42 , $claimindex);
Default Value
0
Remarks
The number of properties in the claim.
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
Integer
ClaimPropertyIndex Property (IPWorksAuth_SAML Class)
Selects a property.
Object Oriented Interface
public function getClaimPropertyIndex($claimindex); public function setClaimPropertyIndex($claimindex, $value);
Procedural Interface
ipworksauth_saml_get($res, 43 , $claimindex); ipworksauth_saml_set($res, 43, $value , $claimindex);
Default Value
0
Remarks
Selects a property. This is valid from 0 to ClaimPropertyCount. To inspect a property, first set this property and then inspect ClaimPropertyName and ClaimPropertyValue. For instance:
for(int i=0;i<component.Claims[0].PropertyCount;i++)
{
component.Claims[0].PropertyIndex = i;
Console.WriteLine(component.Claims[0].PropertyName + ": " + component.Claims[0].PropertyValue);
}
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is not available at design time.
Data Type
Integer
ClaimPropertyName Property (IPWorksAuth_SAML Class)
The name of the property.
Object Oriented Interface
public function getClaimPropertyName($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 44 , $claimindex);
Default Value
''
Remarks
The name of the property.
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimPropertyValue Property (IPWorksAuth_SAML Class)
The value of the property.
Object Oriented Interface
public function getClaimPropertyValue($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 45 , $claimindex);
Default Value
''
Remarks
The value of the property.
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimTypeName Property (IPWorksAuth_SAML Class)
The type name of the claim.
Object Oriented Interface
public function getClaimTypeName($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 46 , $claimindex);
Default Value
''
Remarks
The type name of the claim. This may be a value like "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier".
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimValue Property (IPWorksAuth_SAML Class)
The value of the claim.
Object Oriented Interface
public function getClaimValue($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 47 , $claimindex);
Default Value
''
Remarks
The value of the claim.
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
ClaimValueType Property (IPWorksAuth_SAML Class)
The type of value.
Object Oriented Interface
public function getClaimValueType($claimindex);
Procedural Interface
ipworksauth_saml_get($res, 48 , $claimindex);
Default Value
''
Remarks
The type of value. This may be a value like "http://www.w3.org/2001/XMLSchema#string".
The $claimindex parameter specifies the index of the item in the array. The size of the array is controlled by the ClaimCount property.
This property is read-only and not available at design time.
Data Type
String
FederationSTS Property (IPWorksAuth_SAML Class)
The URL of the federation Security Token Service (STS).
Object Oriented Interface
public function getFederationSTS(); public function setFederationSTS($value);
Procedural Interface
ipworksauth_saml_get($res, 49 ); ipworksauth_saml_set($res, 49, $value );
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.
Data Type
String
FederationURN Property (IPWorksAuth_SAML Class)
The federation Uniform Resource Name (URN).
Object Oriented Interface
public function getFederationURN(); public function setFederationURN($value);
Procedural Interface
ipworksauth_saml_get($res, 50 ); ipworksauth_saml_set($res, 50, $value );
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.
Data Type
String
LocalSTS Property (IPWorksAuth_SAML Class)
The local Security Token Service (STS).
Object Oriented Interface
public function getLocalSTS(); public function setLocalSTS($value);
Procedural Interface
ipworksauth_saml_get($res, 51 ); ipworksauth_saml_set($res, 51, $value );
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.
Data Type
String
Password Property (IPWorksAuth_SAML Class)
The user's password.
Object Oriented Interface
public function getPassword(); public function setPassword($value);
Procedural Interface
ipworksauth_saml_get($res, 52 ); ipworksauth_saml_set($res, 52, $value );
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.
Data Type
String
ProxyAuthScheme Property (IPWorksAuth_SAML Class)
This property is used to tell the class which type of authorization to perform when connecting to the proxy.
Object Oriented Interface
public function getProxyAuthScheme(); public function setProxyAuthScheme($value);
Procedural Interface
ipworksauth_saml_get($res, 53 ); ipworksauth_saml_set($res, 53, $value );
Default Value
0
Remarks
This property is used to tell the class which type of authorization to perform when connecting to the proxy. This is used only when the ProxyUser and ProxyPassword properties are set.
ProxyAuthScheme should be set to authNone (3) when no authentication is expected.
By default, ProxyAuthScheme is authBasic (0), and if the ProxyUser and ProxyPassword properties are set, the component will attempt basic authentication.
If ProxyAuthScheme is set to authDigest (1), digest authentication will be attempted instead.
If ProxyAuthScheme 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 ProxyAuthScheme is set to authNtlm (4), NTLM authentication will be used.
For security reasons, setting this property will clear the values of ProxyUser and ProxyPassword.
Data Type
Integer
ProxyAutoDetect Property (IPWorksAuth_SAML Class)
This property tells the class whether or not to automatically detect and use proxy system settings, if available.
Object Oriented Interface
public function getProxyAutoDetect(); public function setProxyAutoDetect($value);
Procedural Interface
ipworksauth_saml_get($res, 54 ); ipworksauth_saml_set($res, 54, $value );
Default Value
false
Remarks
This property tells the class whether or not to automatically detect and use proxy system settings, if available. The default value is false.
Data Type
Boolean
ProxyPassword Property (IPWorksAuth_SAML Class)
This property contains a password if authentication is to be used for the proxy.
Object Oriented Interface
public function getProxyPassword(); public function setProxyPassword($value);
Procedural Interface
ipworksauth_saml_get($res, 55 ); ipworksauth_saml_set($res, 55, $value );
Default Value
''
Remarks
This property contains a password if authentication is to be used for the proxy.
If ProxyAuthScheme is set to Basic Authentication, the ProxyUser and ProxyPassword are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password].
If ProxyAuthScheme is set to Digest Authentication, the ProxyUser and ProxyPassword properties are used to respond to the Digest Authentication challenge from the server.
If ProxyAuthScheme is set to NTLM Authentication, the ProxyUser and ProxyPassword properties are used to authenticate through NTLM negotiation.
Data Type
String
ProxyPort Property (IPWorksAuth_SAML Class)
This property contains the Transmission Control Protocol (TCP) port for the proxy Server (default 80).
Object Oriented Interface
public function getProxyPort(); public function setProxyPort($value);
Procedural Interface
ipworksauth_saml_get($res, 56 ); ipworksauth_saml_set($res, 56, $value );
Default Value
80
Remarks
This property contains the Transmission Control Protocol (TCP) port for the proxy ProxyServer (default 80). See the description of the ProxyServer property for details.
Data Type
Integer
ProxyServer Property (IPWorksAuth_SAML Class)
If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified.
Object Oriented Interface
public function getProxyServer(); public function setProxyServer($value);
Procedural Interface
ipworksauth_saml_get($res, 57 ); ipworksauth_saml_set($res, 57, $value );
Default Value
''
Remarks
If a proxy ProxyServer is given, then the HTTP request is sent to the proxy instead of the server otherwise specified.
If the ProxyServer property is set to a domain name, a DNS request is initiated. Upon successful termination of the request, the ProxyServer property is set to the corresponding address. If the search is not successful, an error is returned.
Data Type
String
ProxySSL Property (IPWorksAuth_SAML Class)
This property determines when to use a Secure Sockets Layer (SSL) for the connection to the proxy.
Object Oriented Interface
public function getProxySSL(); public function setProxySSL($value);
Procedural Interface
ipworksauth_saml_get($res, 58 ); ipworksauth_saml_set($res, 58, $value );
Default Value
0
Remarks
This property determines when to use a Secure Sockets Layer (SSL) for the connection to the proxy. The applicable values are as follows:
psAutomatic (0) | Default setting. If the URL is an https URL, the class will use the psTunnel option. If the URL is an http URL, the class will use the psNever option. |
psAlways (1) | The connection is always SSL enabled. |
psNever (2) | The connection is not SSL enabled. |
psTunnel (3) | The connection is made through a tunneling (HTTP) proxy. |
Data Type
Integer
ProxyUser Property (IPWorksAuth_SAML Class)
This property contains a user name, if authentication is to be used for the proxy.
Object Oriented Interface
public function getProxyUser(); public function setProxyUser($value);
Procedural Interface
ipworksauth_saml_get($res, 59 ); ipworksauth_saml_set($res, 59, $value );
Default Value
''
Remarks
This property contains a username if authentication is to be used for the proxy.
If ProxyAuthScheme is set to Basic Authentication, the ProxyUser and ProxyPassword properties are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password].
If ProxyAuthScheme is set to Digest Authentication, the ProxyUser and ProxyPassword properties are used to respond to the Digest Authentication challenge from the server.
If ProxyAuthScheme is set to NTLM Authentication, the ProxyUser and ProxyPassword properties are used to authenticate through NTLM negotiation.
Data Type
String
SecurityTokenXML Property (IPWorksAuth_SAML Class)
The security token XML.
Object Oriented Interface
public function getSecurityTokenXML();
Procedural Interface
ipworksauth_saml_get($res, 60 );
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.
Data Type
String
SignerCertEncoded Property (IPWorksAuth_SAML Class)
This is the certificate (PEM/base64 encoded).
Object Oriented Interface
public function getSignerCertEncoded(); public function setSignerCertEncoded($value);
Procedural Interface
ipworksauth_saml_get($res, 62 ); ipworksauth_saml_set($res, 62, $value );
Default Value
''
Remarks
This is the certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SignerCertStore and SignerCertSubject properties also may be used to specify a certificate.
When SignerCertEncoded is set, a search is initiated in the current SignerCertStore for the private key of the certificate. If the key is found, SignerCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SignerCertSubject is set to an empty string.
This property is not available at design time.
Data Type
Binary String
SignerCertStore Property (IPWorksAuth_SAML Class)
This is the name of the certificate store for the client certificate.
Object Oriented Interface
public function getSignerCertStore(); public function setSignerCertStore($value);
Procedural Interface
ipworksauth_saml_get($res, 78 ); ipworksauth_saml_set($res, 78, $value );
Default Value
'MY'
Remarks
This is the name of the certificate store for the client certificate.
The SignerCertStoreType property denotes the type of the certificate store specified by SignerCertStore. If the store is password protected, specify the password in SignerCertStorePassword.
SignerCertStore is used in conjunction with the SignerCertSubject property to specify client certificates. If SignerCertStore has a value, and SignerCertSubject or SignerCertEncoded is set, a search for a certificate is initiated. Please see the SignerCertSubject property for details.
Designations of certificate stores are platform dependent.
The following designations are the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
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., PKCS#12 certificate store).
This property is not available at design time.
Data Type
Binary String
SignerCertStorePassword Property (IPWorksAuth_SAML Class)
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
Object Oriented Interface
public function getSignerCertStorePassword(); public function setSignerCertStorePassword($value);
Procedural Interface
ipworksauth_saml_get($res, 79 ); ipworksauth_saml_set($res, 79, $value );
Default Value
''
Remarks
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
This property is not available at design time.
Data Type
String
SignerCertStoreType Property (IPWorksAuth_SAML Class)
This is the type of certificate store for this certificate.
Object Oriented Interface
public function getSignerCertStoreType(); public function setSignerCertStoreType($value);
Procedural Interface
ipworksauth_saml_get($res, 80 ); ipworksauth_saml_set($res, 80, $value );
Default Value
0
Remarks
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 property can take one of the following values:
0 (cstUser - default) | For Windows, this specifies that the certificate store is a certificate store owned by the current user.
Note: This store type is not available in Java. |
1 (cstMachine) | For Windows, this specifies that the certificate store is a machine store.
Note: This store type is not available in Java. |
2 (cstPFXFile) | The certificate store is the name of a PFX (PKCS#12) file containing certificates. |
3 (cstPFXBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format. |
4 (cstJKSFile) | The certificate store is the name of a Java Key Store (JKS) file containing certificates.
Note: This store type is only available in Java. |
5 (cstJKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.
Note: this store type is only available in Java. |
6 (cstPEMKeyFile) | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
7 (cstPEMKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate. |
8 (cstPublicKeyFile) | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
9 (cstPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate. |
10 (cstSSHPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key. |
11 (cstP7BFile) | The certificate store is the name of a PKCS#7 file containing certificates. |
12 (cstP7BBlob) | The certificate store is a string (binary) representing a certificate store in PKCS#7 format. |
13 (cstSSHPublicKeyFile) | The certificate store is the name of a file that contains an SSH-style public key. |
14 (cstPPKFile) | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
15 (cstPPKBlob) | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
16 (cstXMLFile) | The certificate store is the name of a file that contains a certificate in XML format. |
17 (cstXMLBlob) | The certificate store is a string that contains a certificate in XML format. |
18 (cstJWKFile) | The certificate store is the name of a file that contains a JWK (JSON Web Key). |
19 (cstJWKBlob) | The certificate store is a string that contains a JWK (JSON Web Key). |
21 (cstBCFKSFile) | The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).
Note: This store type is only available in Java and .NET. |
22 (cstBCFKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.
Note: This store type is only available in Java and .NET. |
23 (cstPKCS11) | The certificate is present on a physical security key accessible via a PKCS#11 interface.
To use a security key, the necessary data must first be collected using the CertMgr class. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use. When using a certificate, pass the previously saved security key information as the SignerCertStore and set SignerCertStorePassword to the PIN. Code Example. SSH Authentication with Security Key:
|
99 (cstAuto) | The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically. |
This property is not available at design time.
Data Type
Integer
SignerCertSubject Property (IPWorksAuth_SAML Class)
This is the subject of the certificate used for client authentication.
Object Oriented Interface
public function getSignerCertSubject(); public function setSignerCertSubject($value);
Procedural Interface
ipworksauth_saml_get($res, 81 ); ipworksauth_saml_set($res, 81, $value );
Default Value
''
Remarks
This is the subject of the certificate used for client authentication.
This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.
If a matching certificate is found, the property is set to the full subject of the matching certificate.
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 as follows:
Field | Meaning |
CN | Common Name. This is commonly a hostname like www.server.com. |
O | Organization |
OU | Organizational Unit |
L | Locality |
S | State |
C | Country |
E | Email Address |
If a field value contains a comma, it must be quoted.
This property is not available at design time.
Data Type
String
SSLAcceptServerCertEncoded Property (IPWorksAuth_SAML Class)
This is the certificate (PEM/base64 encoded).
Object Oriented Interface
public function getSSLAcceptServerCertEncoded(); public function setSSLAcceptServerCertEncoded($value);
Procedural Interface
ipworksauth_saml_get($res, 90 ); ipworksauth_saml_set($res, 90, $value );
Default Value
''
Remarks
This is the certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLAcceptServerCertStore and SSLAcceptServerCertSubject properties also may be used to specify a certificate.
When SSLAcceptServerCertEncoded is set, a search is initiated in the current SSLAcceptServerCertStore for the private key of the certificate. If the key is found, SSLAcceptServerCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLAcceptServerCertSubject is set to an empty string.
This property is not available at design time.
Data Type
Binary String
SSLCertEncoded Property (IPWorksAuth_SAML Class)
This is the certificate (PEM/base64 encoded).
Object Oriented Interface
public function getSSLCertEncoded(); public function setSSLCertEncoded($value);
Procedural Interface
ipworksauth_saml_get($res, 118 ); ipworksauth_saml_set($res, 118, $value );
Default Value
''
Remarks
This is the certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLCertStore and SSLCertSubject properties also may be used to specify a certificate.
When SSLCertEncoded is set, a search is initiated in the current SSLCertStore for the private key of the certificate. If the key is found, SSLCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLCertSubject is set to an empty string.
This property is not available at design time.
Data Type
Binary String
SSLCertStore Property (IPWorksAuth_SAML Class)
This is the name of the certificate store for the client certificate.
Object Oriented Interface
public function getSSLCertStore(); public function setSSLCertStore($value);
Procedural Interface
ipworksauth_saml_get($res, 134 ); ipworksauth_saml_set($res, 134, $value );
Default Value
'MY'
Remarks
This is the name of the certificate store for the client certificate.
The SSLCertStoreType property denotes the type of the certificate store specified by SSLCertStore. If the store is password protected, specify the password in SSLCertStorePassword.
SSLCertStore is used in conjunction with the SSLCertSubject property to specify client certificates. If SSLCertStore has a value, and SSLCertSubject or SSLCertEncoded is set, a search for a certificate is initiated. Please see the SSLCertSubject property for details.
Designations of certificate stores are platform dependent.
The following designations are the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
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., PKCS#12 certificate store).
Data Type
Binary String
SSLCertStorePassword Property (IPWorksAuth_SAML Class)
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
Object Oriented Interface
public function getSSLCertStorePassword(); public function setSSLCertStorePassword($value);
Procedural Interface
ipworksauth_saml_get($res, 135 ); ipworksauth_saml_set($res, 135, $value );
Default Value
''
Remarks
If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
Data Type
String
SSLCertStoreType Property (IPWorksAuth_SAML Class)
This is the type of certificate store for this certificate.
Object Oriented Interface
public function getSSLCertStoreType(); public function setSSLCertStoreType($value);
Procedural Interface
ipworksauth_saml_get($res, 136 ); ipworksauth_saml_set($res, 136, $value );
Default Value
0
Remarks
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 property can take one of the following values:
0 (cstUser - default) | For Windows, this specifies that the certificate store is a certificate store owned by the current user.
Note: This store type is not available in Java. |
1 (cstMachine) | For Windows, this specifies that the certificate store is a machine store.
Note: This store type is not available in Java. |
2 (cstPFXFile) | The certificate store is the name of a PFX (PKCS#12) file containing certificates. |
3 (cstPFXBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format. |
4 (cstJKSFile) | The certificate store is the name of a Java Key Store (JKS) file containing certificates.
Note: This store type is only available in Java. |
5 (cstJKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.
Note: this store type is only available in Java. |
6 (cstPEMKeyFile) | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
7 (cstPEMKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate. |
8 (cstPublicKeyFile) | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
9 (cstPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate. |
10 (cstSSHPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key. |
11 (cstP7BFile) | The certificate store is the name of a PKCS#7 file containing certificates. |
12 (cstP7BBlob) | The certificate store is a string (binary) representing a certificate store in PKCS#7 format. |
13 (cstSSHPublicKeyFile) | The certificate store is the name of a file that contains an SSH-style public key. |
14 (cstPPKFile) | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
15 (cstPPKBlob) | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
16 (cstXMLFile) | The certificate store is the name of a file that contains a certificate in XML format. |
17 (cstXMLBlob) | The certificate store is a string that contains a certificate in XML format. |
18 (cstJWKFile) | The certificate store is the name of a file that contains a JWK (JSON Web Key). |
19 (cstJWKBlob) | The certificate store is a string that contains a JWK (JSON Web Key). |
21 (cstBCFKSFile) | The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).
Note: This store type is only available in Java and .NET. |
22 (cstBCFKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.
Note: This store type is only available in Java and .NET. |
23 (cstPKCS11) | The certificate is present on a physical security key accessible via a PKCS#11 interface.
To use a security key, the necessary data must first be collected using the CertMgr class. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use. When using a certificate, pass the previously saved security key information as the SSLCertStore and set SSLCertStorePassword to the PIN. Code Example. SSH Authentication with Security Key:
|
99 (cstAuto) | The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically. |
Data Type
Integer
SSLCertSubject Property (IPWorksAuth_SAML Class)
This is the subject of the certificate used for client authentication.
Object Oriented Interface
public function getSSLCertSubject(); public function setSSLCertSubject($value);
Procedural Interface
ipworksauth_saml_get($res, 137 ); ipworksauth_saml_set($res, 137, $value );
Default Value
''
Remarks
This is the subject of the certificate used for client authentication.
This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.
If a matching certificate is found, the property is set to the full subject of the matching certificate.
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 as follows:
Field | Meaning |
CN | Common Name. This is commonly a hostname like www.server.com. |
O | Organization |
OU | Organizational Unit |
L | Locality |
S | State |
C | Country |
E | Email Address |
If a field value contains a comma, it must be quoted.
Data Type
String
SSLProvider Property (IPWorksAuth_SAML Class)
This specifies the SSL/TLS implementation to use.
Object Oriented Interface
public function getSSLProvider(); public function setSSLProvider($value);
Procedural Interface
ipworksauth_saml_get($res, 145 ); ipworksauth_saml_set($res, 145, $value );
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, on Windows the class will use the platform implementation. On Linux/macOS the class will use the internal implementation. When TLS 1.3 is enabled via SSLEnabledProtocols the internal implementation is used on all platforms.
Data Type
Integer
SSLServerCertEncoded Property (IPWorksAuth_SAML Class)
This is the certificate (PEM/base64 encoded).
Object Oriented Interface
public function getSSLServerCertEncoded();
Procedural Interface
ipworksauth_saml_get($res, 147 );
Default Value
''
Remarks
This is the certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLServerCertStore and SSLServerCertSubject properties also may be used to specify a certificate.
When SSLServerCertEncoded is set, a search is initiated in the current SSLServerCertStore for the private key of the certificate. If the key is found, SSLServerCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLServerCertSubject is set to an empty string.
This property is read-only and not available at design time.
Data Type
Binary String
User Property (IPWorksAuth_SAML Class)
The username.
Object Oriented Interface
public function getUser(); public function setUser($value);
Procedural Interface
ipworksauth_saml_get($res, 174 ); ipworksauth_saml_set($res, 174, $value );
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.
Data Type
String
AttrCount Property (IPWorksAuth_SAML Class)
The number of records in the Attr arrays.
Object Oriented Interface
public function getAttrCount(); public function setAttrCount($value);
Procedural Interface
ipworksauth_saml_get($res, 175 ); ipworksauth_saml_set($res, 175, $value );
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at AttrCount - 1.
This property is not available at design time.
Data Type
Integer
AttrName Property (IPWorksAuth_SAML Class)
The Name provides the local name (without prefix) of the attribute.
Object Oriented Interface
public function getAttrName($attrindex);
Procedural Interface
ipworksauth_saml_get($res, 176 , $attrindex);
Default Value
''
Remarks
The AttrName provides the local name (without prefix) of the attribute.
The $attrindex parameter specifies the index of the item in the array. The size of the array is controlled by the AttrCount property.
This property is read-only and not available at design time.
Data Type
String
AttrNamespace Property (IPWorksAuth_SAML Class)
Attribute namespace.
Object Oriented Interface
public function getAttrNamespace($attrindex);
Procedural Interface
ipworksauth_saml_get($res, 177 , $attrindex);
Default Value
''
Remarks
Attribute namespace.
The $attrindex parameter specifies the index of the item in the array. The size of the array is controlled by the AttrCount property.
This property is read-only and not available at design time.
Data Type
String
AttrPrefix Property (IPWorksAuth_SAML Class)
Attribute prefix (if any).
Object Oriented Interface
public function getAttrPrefix($attrindex);
Procedural Interface
ipworksauth_saml_get($res, 178 , $attrindex);
Default Value
''
Remarks
Attribute prefix (if any). If the attribute does not have a prefix, this property is empty.
The $attrindex parameter specifies the index of the item in the array. The size of the array is controlled by the AttrCount property.
This property is read-only and not available at design time.
Data Type
String
AttrValue Property (IPWorksAuth_SAML Class)
Attribute value.
Object Oriented Interface
public function getAttrValue($attrindex);
Procedural Interface
ipworksauth_saml_get($res, 179 , $attrindex);
Default Value
''
Remarks
Attribute value.
The $attrindex parameter specifies the index of the item in the array. The size of the array is controlled by the AttrCount property.
This property is read-only and not available at design time.
Data Type
String
XChildCount Property (IPWorksAuth_SAML Class)
The number of records in the XChild arrays.
Object Oriented Interface
public function getXChildCount(); public function setXChildCount($value);
Procedural Interface
ipworksauth_saml_get($res, 180 ); ipworksauth_saml_set($res, 180, $value );
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at XChildCount - 1.
This property is not available at design time.
Data Type
Integer
XChildName Property (IPWorksAuth_SAML Class)
The Name property provides the local name (without prefix) of the element.
Object Oriented Interface
public function getXChildName($xchildindex);
Procedural Interface
ipworksauth_saml_get($res, 181 , $xchildindex);
Default Value
''
Remarks
The XChildName property provides the local name (without prefix) of the element.
The $xchildindex parameter specifies the index of the item in the array. The size of the array is controlled by the XChildCount property.
This property is read-only and not available at design time.
Data Type
String
XChildNamespace Property (IPWorksAuth_SAML Class)
Namespace of the element.
Object Oriented Interface
public function getXChildNamespace($xchildindex);
Procedural Interface
ipworksauth_saml_get($res, 182 , $xchildindex);
Default Value
''
Remarks
Namespace of the element.
The $xchildindex parameter specifies the index of the item in the array. The size of the array is controlled by the XChildCount property.
This property is read-only and not available at design time.
Data Type
String
XChildPrefix Property (IPWorksAuth_SAML Class)
Prefix of the element (if any).
Object Oriented Interface
public function getXChildPrefix($xchildindex);
Procedural Interface
ipworksauth_saml_get($res, 183 , $xchildindex);
Default Value
''
Remarks
Prefix of the element (if any). If the element does not have a prefix, this property is empty.
The $xchildindex parameter specifies the index of the item in the array. The size of the array is controlled by the XChildCount property.
This property is read-only and not available at design time.
Data Type
String
XChildXText Property (IPWorksAuth_SAML Class)
The inner text of the element.
Object Oriented Interface
public function getXChildXText($xchildindex);
Procedural Interface
ipworksauth_saml_get($res, 184 , $xchildindex);
Default Value
''
Remarks
The inner text of the element.
The $xchildindex parameter specifies the index of the item in the array. The size of the array is controlled by the XChildCount property.
This property is read-only and not available at design time.
Data Type
String
XElement Property (IPWorksAuth_SAML Class)
The name of the current element.
Object Oriented Interface
public function getXElement(); public function setXElement($value);
Procedural Interface
ipworksauth_saml_get($res, 185 ); ipworksauth_saml_set($res, 185, $value );
Default Value
''
Remarks
The current element is specified via the XPath property.
Data Type
String
XNamespace Property (IPWorksAuth_SAML Class)
The namespace of the current element.
Object Oriented Interface
public function getXNamespace(); public function setXNamespace($value);
Procedural Interface
ipworksauth_saml_get($res, 186 ); ipworksauth_saml_set($res, 186, $value );
Default Value
''
Remarks
The current element is specified via the XPath property.
Data Type
String
XParent Property (IPWorksAuth_SAML Class)
The parent of the current element.
Object Oriented Interface
public function getXParent();
Procedural Interface
ipworksauth_saml_get($res, 187 );
Default Value
''
Remarks
The current element is specified via the XPath property.
This property is read-only.
Data Type
String
XPath Property (IPWorksAuth_SAML Class)
Provides a way to point to a specific element in the document.
Object Oriented Interface
public function getXPath(); public function setXPath($value);
Procedural Interface
ipworksauth_saml_get($res, 188 ); ipworksauth_saml_set($res, 188, $value );
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]" |
Data Type
String
XPrefix Property (IPWorksAuth_SAML Class)
The prefix of the current element.
Object Oriented Interface
public function getXPrefix(); public function setXPrefix($value);
Procedural Interface
ipworksauth_saml_get($res, 189 ); ipworksauth_saml_set($res, 189, $value );
Default Value
''
Remarks
The current element is specified via the XPath property.
Data Type
String
XSubTree Property (IPWorksAuth_SAML Class)
A snapshot of the current element in the document.
Object Oriented Interface
public function getXSubTree();
Procedural Interface
ipworksauth_saml_get($res, 190 );
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.
Data Type
String
XText Property (IPWorksAuth_SAML Class)
The text of the current element.
Object Oriented Interface
public function getXText(); public function setXText($value);
Procedural Interface
ipworksauth_saml_get($res, 191 ); ipworksauth_saml_set($res, 191, $value );
Default Value
''
Remarks
The current element is specified via the XPath property.
Data Type
String
Config Method (IPWorksAuth_SAML Class)
Sets or retrieves a configuration setting.
Object Oriented Interface
public function doConfig($configurationstring);
Procedural Interface
ipworksauth_saml_do_config($res, $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 (IPWorksAuth_SAML Class)
Gets the assertion.
Object Oriented Interface
public function doGetAssertion();
Procedural Interface
ipworksauth_saml_do_getassertion($res);
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
- Claim* properties
GetSecurityToken Method (IPWorksAuth_SAML Class)
Gets the security token.
Object Oriented Interface
public function doGetSecurityToken();
Procedural Interface
ipworksauth_saml_do_getsecuritytoken($res);
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 (IPWorksAuth_SAML Class)
Parses the specified assertion.
Object Oriented Interface
public function doParseAssertion($assertion);
Procedural Interface
ipworksauth_saml_do_parseassertion($res, $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
- Claim* properties
Characters Event (IPWorksAuth_SAML Class)
Fired for plain text segments of the input stream.
Object Oriented Interface
public function fireCharacters($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 1, array($this, 'fireCharacters'));
Parameter List
'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 (IPWorksAuth_SAML Class)
Fired when a comment section is encountered.
Object Oriented Interface
public function fireComment($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 2, array($this, 'fireComment'));
Parameter List
'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 (IPWorksAuth_SAML Class)
Fired when an end-element tag is encountered.
Object Oriented Interface
public function fireEndElement($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 3, array($this, 'fireEndElement'));
Parameter List
'namespace'
'element'
'qname'
'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 (IPWorksAuth_SAML Class)
Information about errors during data delivery.
Object Oriented Interface
public function fireError($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 4, array($this, 'fireError'));
Parameter List
'errorcode'
'description'
Remarks
The Error event is fired in case of exceptional conditions during message processing. Normally the class fails with an error.
The ErrorCode parameter contains an error code, and the Description parameter 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 (IPWorksAuth_SAML Class)
Fired when a processing instruction section is encountered.
Object Oriented Interface
public function firePI($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 5, array($this, 'firePI'));
Parameter List
'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 (IPWorksAuth_SAML Class)
Fired after the server presents its certificate to the client.
Object Oriented Interface
public function fireSSLServerAuthentication($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 6, array($this, 'fireSSLServerAuthentication'));
Parameter List
'certencoded'
'certsubject'
'certissuer'
'status'
'accept'
Remarks
During this event, the client can decide whether or not to continue with the connection process. 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 or not to continue.
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 (IPWorksAuth_SAML Class)
Shows the progress of the secure connection.
Object Oriented Interface
public function fireSSLStatus($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 7, array($this, 'fireSSLStatus'));
Parameter List
'message'
Remarks
The event is fired for informational and logging purposes only. This event tracks the progress of the connection.
StartElement Event (IPWorksAuth_SAML Class)
Fired when a begin-element tag is encountered in the document.
Object Oriented Interface
public function fireStartElement($param);
Procedural Interface
ipworksauth_saml_register_callback($res, 8, array($this, 'fireStartElement'));
Parameter List
'namespace'
'element'
'qname'
'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 AttrName, AttrNamespace, AttrPrefix, and AttrValue properties.
The IsEmpty parameter is true when the event corresponds with an empty element declaration.
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
This configuration setting is used to access the Audience elements found in an assertion's AudienceRestriction element. The audience is useful when verifying who the assertion is intended for. This is used in conjunction with AssertionAudienceValue configuration setting. For instance, the below sample will iterate through all of the Audience elements in the assertion's AudienceRestriction element:
int audCount = int.Parse(component.Config("AssertionAudienceCount"));
for(int i = 0; i < audCount; i++){
string curAudience = component.Config("AssertionAudienceValue[" + i + "]");
//...
}
This configuration setting provides the value of the Audience element at the index specified. See AssertionAudienceCount for details.
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.
saml.Config("AssertionXPath=/Response/Assertion");
saml.ParseAssertion(Assertion);
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.
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.
saml.Config("AssertionXPath=/Response/Assertion");
saml.ParseAssertion(Assertion);
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.
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.
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.
saml.Config("EncryptedAssertionXPath=/Response/EncryptedAssertion"");
saml.ParseAssertion(Assertion);
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");
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");
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
When queried, this setting will return a string containing information about the product's build.
The default code page is Unicode UTF-8 (65001).
The following is a list of valid code page identifiers:
Identifier | Name |
037 | IBM EBCDIC - U.S./Canada |
437 | OEM - United States |
500 | IBM EBCDIC - International |
708 | Arabic - ASMO 708 |
709 | Arabic - ASMO 449+, BCON V4 |
710 | Arabic - Transparent Arabic |
720 | Arabic - Transparent ASMO |
737 | OEM - Greek (formerly 437G) |
775 | OEM - Baltic |
850 | OEM - Multilingual Latin I |
852 | OEM - Latin II |
855 | OEM - Cyrillic (primarily Russian) |
857 | OEM - Turkish |
858 | OEM - Multilingual Latin I + Euro symbol |
860 | OEM - Portuguese |
861 | OEM - Icelandic |
862 | OEM - Hebrew |
863 | OEM - Canadian-French |
864 | OEM - Arabic |
865 | OEM - Nordic |
866 | OEM - Russian |
869 | OEM - Modern Greek |
870 | IBM EBCDIC - Multilingual/ROECE (Latin-2) |
874 | ANSI/OEM - Thai (same as 28605, ISO 8859-15) |
875 | IBM EBCDIC - Modern Greek |
932 | ANSI/OEM - Japanese, Shift-JIS |
936 | ANSI/OEM - Simplified Chinese (PRC, Singapore) |
949 | ANSI/OEM - Korean (Unified Hangul Code) |
950 | ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC) |
1026 | IBM EBCDIC - Turkish (Latin-5) |
1047 | IBM EBCDIC - Latin 1/Open System |
1140 | IBM EBCDIC - U.S./Canada (037 + Euro symbol) |
1141 | IBM EBCDIC - Germany (20273 + Euro symbol) |
1142 | IBM EBCDIC - Denmark/Norway (20277 + Euro symbol) |
1143 | IBM EBCDIC - Finland/Sweden (20278 + Euro symbol) |
1144 | IBM EBCDIC - Italy (20280 + Euro symbol) |
1145 | IBM EBCDIC - Latin America/Spain (20284 + Euro symbol) |
1146 | IBM EBCDIC - United Kingdom (20285 + Euro symbol) |
1147 | IBM EBCDIC - France (20297 + Euro symbol) |
1148 | IBM EBCDIC - International (500 + Euro symbol) |
1149 | IBM EBCDIC - Icelandic (20871 + Euro symbol) |
1200 | Unicode UCS-2 Little-Endian (BMP of ISO 10646) |
1201 | Unicode UCS-2 Big-Endian |
1250 | ANSI - Central European |
1251 | ANSI - Cyrillic |
1252 | ANSI - Latin I |
1253 | ANSI - Greek |
1254 | ANSI - Turkish |
1255 | ANSI - Hebrew |
1256 | ANSI - Arabic |
1257 | ANSI - Baltic |
1258 | ANSI/OEM - Vietnamese |
1361 | Korean (Johab) |
10000 | MAC - Roman |
10001 | MAC - Japanese |
10002 | MAC - Traditional Chinese (Big5) |
10003 | MAC - Korean |
10004 | MAC - Arabic |
10005 | MAC - Hebrew |
10006 | MAC - Greek I |
10007 | MAC - Cyrillic |
10008 | MAC - Simplified Chinese (GB 2312) |
10010 | MAC - Romania |
10017 | MAC - Ukraine |
10021 | MAC - Thai |
10029 | MAC - Latin II |
10079 | MAC - Icelandic |
10081 | MAC - Turkish |
10082 | MAC - Croatia |
12000 | Unicode UCS-4 Little-Endian |
12001 | Unicode UCS-4 Big-Endian |
20000 | CNS - Taiwan |
20001 | TCA - Taiwan |
20002 | Eten - Taiwan |
20003 | IBM5550 - Taiwan |
20004 | TeleText - Taiwan |
20005 | Wang - Taiwan |
20105 | IA5 IRV International Alphabet No. 5 (7-bit) |
20106 | IA5 German (7-bit) |
20107 | IA5 Swedish (7-bit) |
20108 | IA5 Norwegian (7-bit) |
20127 | US-ASCII (7-bit) |
20261 | T.61 |
20269 | ISO 6937 Non-Spacing Accent |
20273 | IBM EBCDIC - Germany |
20277 | IBM EBCDIC - Denmark/Norway |
20278 | IBM EBCDIC - Finland/Sweden |
20280 | IBM EBCDIC - Italy |
20284 | IBM EBCDIC - Latin America/Spain |
20285 | IBM EBCDIC - United Kingdom |
20290 | IBM EBCDIC - Japanese Katakana Extended |
20297 | IBM EBCDIC - France |
20420 | IBM EBCDIC - Arabic |
20423 | IBM EBCDIC - Greek |
20424 | IBM EBCDIC - Hebrew |
20833 | IBM EBCDIC - Korean Extended |
20838 | IBM EBCDIC - Thai |
20866 | Russian - KOI8-R |
20871 | IBM EBCDIC - Icelandic |
20880 | IBM EBCDIC - Cyrillic (Russian) |
20905 | IBM EBCDIC - Turkish |
20924 | IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol) |
20932 | JIS X 0208-1990 & 0121-1990 |
20936 | Simplified Chinese (GB2312) |
21025 | IBM EBCDIC - Cyrillic (Serbian, Bulgarian) |
21027 | Extended Alpha Lowercase |
21866 | Ukrainian (KOI8-U) |
28591 | ISO 8859-1 Latin I |
28592 | ISO 8859-2 Central Europe |
28593 | ISO 8859-3 Latin 3 |
28594 | ISO 8859-4 Baltic |
28595 | ISO 8859-5 Cyrillic |
28596 | ISO 8859-6 Arabic |
28597 | ISO 8859-7 Greek |
28598 | ISO 8859-8 Hebrew |
28599 | ISO 8859-9 Latin 5 |
28605 | ISO 8859-15 Latin 9 |
29001 | Europa 3 |
38598 | ISO 8859-8 Hebrew |
50220 | ISO 2022 Japanese with no halfwidth Katakana |
50221 | ISO 2022 Japanese with halfwidth Katakana |
50222 | ISO 2022 Japanese JIS X 0201-1989 |
50225 | ISO 2022 Korean |
50227 | ISO 2022 Simplified Chinese |
50229 | ISO 2022 Traditional Chinese |
50930 | Japanese (Katakana) Extended |
50931 | US/Canada and Japanese |
50933 | Korean Extended and Korean |
50935 | Simplified Chinese Extended and Simplified Chinese |
50936 | Simplified Chinese |
50937 | US/Canada and Traditional Chinese |
50939 | Japanese (Latin) Extended and Japanese |
51932 | EUC - Japanese |
51936 | EUC - Simplified Chinese |
51949 | EUC - Korean |
51950 | EUC - Traditional Chinese |
52936 | HZ-GB2312 Simplified Chinese |
54936 | Windows XP: GB18030 Simplified Chinese (4 Byte) |
57002 | ISCII Devanagari |
57003 | ISCII Bengali |
57004 | ISCII Tamil |
57005 | ISCII Telugu |
57006 | ISCII Assamese |
57007 | ISCII Oriya |
57008 | ISCII Kannada |
57009 | ISCII Malayalam |
57010 | ISCII Gujarati |
57011 | ISCII Punjabi |
65000 | Unicode UTF-7 |
65001 | Unicode UTF-8 |
Identifier | Name |
1 | ASCII |
2 | NEXTSTEP |
3 | JapaneseEUC |
4 | UTF8 |
5 | ISOLatin1 |
6 | Symbol |
7 | NonLossyASCII |
8 | ShiftJIS |
9 | ISOLatin2 |
10 | Unicode |
11 | WindowsCP1251 |
12 | WindowsCP1252 |
13 | WindowsCP1253 |
14 | WindowsCP1254 |
15 | WindowsCP1250 |
21 | ISO2022JP |
30 | MacOSRoman |
10 | UTF16String |
0x90000100 | UTF16BigEndian |
0x94000100 | UTF16LittleEndian |
0x8c000100 | UTF32String |
0x98000100 | UTF32BigEndian |
0x9c000100 | UTF32LittleEndian |
65536 | Proprietary |
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:
- Product: The product the license is for.
- Product Key: The key the license was generated from.
- License Source: Where the license was found (e.g., RuntimeLicense, License File).
- License Type: The type of license installed (e.g., Royalty Free, Single Server).
- Last Valid Build: The last valid build number for which the license will work.
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 true.
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.
If set to False, the class will not fire internal idle events. Set this to False to use the class in a background thread on Mac OS. By default, this setting is True.
If there are no events to process when DoEvents is called, the class will wait for the amount of time specified here before returning. The default value is 20.
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.
FIPS mode can be enabled by setting the UseFIPSCompliantAPI configuration setting to true. This is a static setting which applies to all instances of all classes of the toolkit within the process. It is recommended to enable or disable this setting once before the component has been used to establish a connection. Enabling FIPS while an instance of the component is active and connected may result in unexpected behavior.
For more details please see the FIPS 140-2 Compliance article.
Note: This setting is only applicable on Windows.
Note: Enabling FIPS-compliance requires a special license; please contact sales@nsoftware.com for details.
When set to false, the class will use the system security libraries by default to perform cryptographic functions where applicable.
Setting this configuration setting to true tells the class to use the internal implementation instead of using the system security libraries.
On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.
To use the system security libraries for Linux, OpenSSL support must be enabled. For more information on how to enable OpenSSL, please refer to the OpenSSL Notes section.
Trappable Errors (SAML Class)
SAML Errors
603 Cannot obtain assertion. LocalSTS must be set. |
The class may also return one of the following error codes, which are inherited from other classes.
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. |
The class may also return one of the following error codes, which are inherited from other classes.
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. | |
302 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). |