OFXBatch Class
Properties Methods Events Config Settings Errors
Enables sending of multiple requests to an OFX server through a single connection.
Syntax
inebank.OFXBatch
Remarks
The OFXBatch class allows your application to download account information, bank, credit card, investment, loan statements, make intrabank and/or interbank transfers, and/or download your FI profile in one single request submitted to the FI's OFX server. This class provides for applying a single authentication context to multiple requests in order to reduce the overhead of user authentication.
All downloads are batched into a single secure HTTPS connection to the financial institution. To use the OFXBatch class first identify the financial institution by setting the FIId, FIOrganization and FIUrl,properties. Next identify the OFX user and application by setting the OFXUser, OFXPassword, OFXAppId and OFXAppVersion properties. The same signon information will be used for the entire batch.
To build the request, depending on each request type, the corresponding components should be used. So, if account information, bank, credit card, investment, loan statement, bank transfer, and FI profile are part of this multiple request, then instances of Account, BankStatement, CCStatement, InvStatement, LoanStatement, BankTransfer, and FIProfile (corresponding to the each request type) should be used. The individual components that generate the OFX request aggregate will not need the sign on data to generate their request.
Set properties of each corresponding component (excluding the SignOn part which is already set), as you would do when using these components to send single requests to the server. Please refer to each class help files for details on how to build each individual OFX request .
Once you have finished setting the properties that describe each individual request, set the Request in OFXBatch to the OFXRequest of each corresponding component. For example:
OFXBatch.OFXBatchItems[0].Request = BankStatement.OFXRequest;
OFXBatch.OFXBatchItems[1].Request = CCStatement.OFXRequest;
OFXBatch.OFXBatchItems[2].Request = FIProfile.OFXRequest;
Then, use the PostRequest method to build and transmit the request automatically.
Message sets will/must appear in the following order in the request: Signon, Signup, Bank statement, Intrabank funds transfers, Credit card statements, Loan statements, Investment statements, Interbank funds transfers, and FI Profile, regardless of their order while populating the OFXBatchItems. In the server response, the message sets will be returned in the server response in the same order.
Upon successful response, the Response array property will be populated automatically, which will contain several blocks of information consisting of a server response for each request. To parse this response, the Response at the same index should be passed as OFXResponse of the corresponding component using the same order as submitted in the request.
BankStatement.OFXResponse = OFXBatch.OFXBatchItems[0].Response;
CCStatement.OFXResponse = OFXBatch.OFXBatchItems[1].Response;
FIProfile.OFXResponse = OFXBatch.OFXBatchItems[2].Response;
Properties of each class are now populated and ready for retrieval.
Note: If signon data is different across components, then they cannot be used in the same batch, otherwise an error will be thrown.
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
FIId | Financial institution identifier. |
FIOrganization | Financial institution organization name. |
Firewall | A set of properties related to firewall access. |
FIUrl | Financial institution URL. |
OFXAppId | OFX application identifier. |
OFXAppVersion | OFX application version. |
OFXBatchItems | A list of items (requests/response pairs) that make up the current OFX batch. |
OFXPassword | User's password. |
OFXUser | User's id. |
Proxy | A set of properties related to proxy access. |
SSLAcceptServerCert | Instructs the class to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to be used during Secure Sockets Layer (SSL) negotiation. |
SSLProvider | The Secure Sockets Layer/Transport Layer Security (SSL/TLS) implementation to use. |
SSLServerCert | The server certificate for the last established connection. |
Timeout | The timeout for the class. |
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. |
PostRequest | Submits a batch of requests to an OFX server through a single connection. |
ReadOFXDataFile | Reads an OFX response from a file. |
Reset | Reset the internal state of the class and all properties to their default values. |
WriteOFXDataFile | Writes the OFX response sent by the server to a file. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
ConnectionStatus | Fired to indicate changes in the connection state. |
Error | Fired when information is available about errors during data delivery. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Fired when secure connection progress messages are available. |
Config Settings
The following is a list of config settings for the class with short descriptions. Click on the links for further details.
CacheContent | If true, the original XML is saved in a buffer. |
Charset | Specifies the charset used when encoding data. |
CloseInputStreamAfterProcess | Determines whether or not the input stream is closed after processing. |
CloseOutputStreamAfterProcess | Determines whether or not the output stream is closed after processing. |
EOL | The characters to use for separating lines. |
ErrorOnEmptyAttr | If true, passing an invalid attribute to the Attr method will throw an exception. |
ExtraNameChars | Extra characters for the parser to consider as name characters. |
ExtraSpaceChars | Extra characters for the parser to consider as white space. |
FlushOnEOL | If set, the parser flushes its text buffer after every line of text. |
IgnoreBadAttributePrefixes | If true, bad (unknown) attribute prefixes are ignored. |
IgnoreBadElementPrefixes | If true, bad (unknown) element prefixes are ignored. |
IncludeElementPrefix | Whether to include the prefix in the element name. |
IncludeXMLDeclaration | Whether to include the XML declaration when writing XML. |
Indent | The characters to use for each indentation level. |
Interrupt | Whether to stop parsing the current XML document. |
Offset | Current offset of the document being parsed. |
PreserveWhitespace | If true, leading and trailing whitespace in element text is preserved. |
QuoteChar | Quote character to use for attribute values. |
StringProcessingOptions | Defines options to use when processing string values. |
BuildInfo | Information about the product's build. |
GUIAvailable | Whether or not a message loop is available for processing events. |
LicenseInfo | Information about the current license. |
MaskSensitiveData | Whether sensitive data is masked in log messages. |
UseDaemonThreads | Whether threads created by the class are daemon threads. |
UseInternalSecurityAPI | Whether or not to use the system security libraries or an internal implementation. |
FIId Property (OFXBatch Class)
Financial institution identifier.
Syntax
public String getFIId(); public void setFIId(String FIId);
Default Value
""
Remarks
FIId holds the identifier of the OFX Financial Institution and is used during signon. This value is unique for each organization name.
FIOrganization Property (OFXBatch Class)
Financial institution organization name.
Syntax
public String getFIOrganization(); public void setFIOrganization(String FIOrganization);
Default Value
""
Remarks
This is the name of the OFX Financial Institution and is used during signon. Each organization has a unique FIId that must also be used at signon.
Firewall Property (OFXBatch Class)
A set of properties related to firewall access.
Syntax
public Firewall getFirewall(); public void setFirewall(Firewall firewall);
Remarks
This is a Firewall-type property, which contains fields describing the firewall through which the class will attempt to connect.
Please refer to the Firewall type for a complete list of fields.FIUrl Property (OFXBatch Class)
Financial institution URL.
Syntax
public String getFIUrl(); public void setFIUrl(String FIUrl);
Default Value
""
Remarks
This is the URL of the OFX Financial Institution to which the class will signon and fetch data.
OFXAppId Property (OFXBatch Class)
OFX application identifier.
Syntax
public String getOFXAppId(); public void setOFXAppId(String OFXAppId);
Default Value
""
Remarks
This is the unique identifier of the user's OFX application.
OFXAppVersion Property (OFXBatch Class)
OFX application version.
Syntax
public String getOFXAppVersion(); public void setOFXAppVersion(String OFXAppVersion);
Default Value
""
Remarks
This is the version of the user's OFX application.
OFXBatchItems Property (OFXBatch Class)
A list of items (requests/response pairs) that make up the current OFX batch.
Syntax
public OFXBatchItemList getOFXBatchItems(); public void setOFXBatchItems(OFXBatchItemList OFXBatchItems);
Remarks
This collection represents the list of requests/responses to be sent/received through a single connection. It is used when the PostRequest, ReadOFXDataFile and WriteOFXDataFile methods are called.
Each OFX batch item has a Request, RequestType, RequestUID, and Response tied to it.
The Request should be set for each OFXBatchItemIndex = 0 to OFXBatchItemCount - 1 when any of the above listed methods are called. Upon successful response, the rest of the fields should be inspected for each index (that falls within the range listed above).
This property is not available at design time.
Please refer to the OFXBatchItem type for a complete list of fields.OFXPassword Property (OFXBatch Class)
User's password.
Syntax
public String getOFXPassword(); public void setOFXPassword(String OFXPassword);
Default Value
""
Remarks
This is the password used when signing on to the OFX Financial Institution's service.
OFXUser Property (OFXBatch Class)
User's id.
Syntax
public String getOFXUser(); public void setOFXUser(String OFXUser);
Default Value
""
Remarks
This is the UserID used when signing on to the OFX Financial Institution's service.
Proxy Property (OFXBatch Class)
A set of properties related to proxy access.
Syntax
public Proxy getProxy(); public void setProxy(Proxy proxy);
Remarks
This property contains fields describing the proxy through which the class will attempt to connect.
Please refer to the Proxy type for a complete list of fields.SSLAcceptServerCert Property (OFXBatch Class)
Instructs the class to unconditionally accept the server certificate that matches the supplied certificate.
Syntax
public Certificate getSSLAcceptServerCert(); public void setSSLAcceptServerCert(Certificate SSLAcceptServerCert);
Remarks
If it finds any issues with the certificate presented by the server, the class will normally terminate the connection with an error.
You may override this behavior by supplying a value for SSLAcceptServerCert. If the certificate supplied in SSLAcceptServerCert is the same as the certificate presented by the server, then the server certificate is accepted unconditionally, and the connection will continue normally.
Note: This functionality is provided only for cases in which you otherwise know that you are communicating with the right server. If used improperly, this property may create a security breach. Use it at your own risk.
Please refer to the Certificate type for a complete list of fields.SSLCert Property (OFXBatch Class)
The certificate to be used during Secure Sockets Layer (SSL) negotiation.
Syntax
public Certificate getSSLCert(); public void setSSLCert(Certificate SSLCert);
Remarks
This property includes the digital certificate that the class will use during SSL negotiation. Set this property to a valid certificate before starting SSL negotiation. To set a certificate, you may set the Encoded field to the encoded certificate. To select a certificate, use the store and subject fields.
Please refer to the Certificate type for a complete list of fields.SSLProvider Property (OFXBatch Class)
The Secure Sockets Layer/Transport Layer Security (SSL/TLS) implementation to use.
Syntax
public int getSSLProvider(); public void setSSLProvider(int SSLProvider); Enumerated values: public final static int sslpAutomatic = 0; public final static int sslpPlatform = 1; public final static int sslpInternal = 2;
Default Value
0
Remarks
This property specifies the SSL/TLS implementation to use. In most cases the default value of 0 (Automatic) is recommended and should not be changed. When set to 0 (Automatic), the class will select whether to use the platform implementation or the internal implementation depending on the operating system as well as the TLS version being used.
Possible values are as follows:
0 (sslpAutomatic - default) | Automatically selects the appropriate implementation. |
1 (sslpPlatform) | Uses the platform/system implementation. |
2 (sslpInternal) | Uses the internal implementation. |
In most cases using the default value (Automatic) is recommended. The class will select a provider depending on the current platform.
When Automatic is selected, the platform implementation is used by default. When TLS 1.3 is enabled via SSLEnabledProtocols, the internal implementation is used.
SSLServerCert Property (OFXBatch Class)
The server certificate for the last established connection.
Syntax
public Certificate getSSLServerCert();
Remarks
This property contains the server certificate for the last established connection.
SSLServerCert is reset every time a new connection is attempted.
This property is read-only.
Please refer to the Certificate type for a complete list of fields.Timeout Property (OFXBatch Class)
The timeout for the class.
Syntax
public int getTimeout(); public void setTimeout(int timeout);
Default Value
60
Remarks
If the Timeout property is set to 0, all operations will run uninterrupted until successful completion or an error condition is encountered.
If Timeout is set to a positive value, the class will wait for the operation to complete before returning control.
The class will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not freeze and remains responsive.
If Timeout expires, and the operation is not yet complete, the class throws an exception.
Note: By default, all timeouts are inactivity timeouts, that is, the timeout period is extended by Timeout seconds when any amount of data is successfully sent or received.
The default value for the Timeout property is 60 seconds.
Config Method (OFXBatch Class)
Sets or retrieves a configuration setting.
Syntax
public String config(String configurationString);
Remarks
Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.
These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.
To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).
To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.
PostRequest Method (OFXBatch Class)
Submits a batch of requests to an OFX server through a single connection.
Syntax
public void postRequest();
Remarks
This function generates the Signon and multiple requests page, submits it to the financial institution via secure HTTPS Post, and receives the multiple responses stored in OFXBatchItems property.
To create the batch of requests, first you will to create instances of the corresponding components to request type such as BankStatement, CCStatement, InvStatement, or FIProfile. Then, build the OFX request for each component used.
Finally, set the Request array property to each OFXRequest of the corresponding component.
When PostRequest is called, the server response will be returned in Response array property, ready to be retrieved by each individual component.
ReadOFXDataFile Method (OFXBatch Class)
Reads an OFX response from a file.
Syntax
public void readOFXDataFile(String fileName);
Remarks
This method reads a previously recorded OFX response from a file, including HTTP and OFX headers.
The following read-only properties are populated as a result of parsing the data file:
Reset Method (OFXBatch Class)
Reset the internal state of the class and all properties to their default values.
Syntax
public void reset();
Remarks
The Reset method does not have any parameters and does not return any value.
WriteOFXDataFile Method (OFXBatch Class)
Writes the OFX response sent by the server to a file.
Syntax
public void writeOFXDataFile(String fileName);
Remarks
This method records the entire OFX response, including HTTP and OFX headers to a file. This file can later be read and parsed by the ReadOFXDataFile method as though it were a live response.
ConnectionStatus Event (OFXBatch Class)
Fired to indicate changes in the connection state.
Syntax
public class DefaultOFXBatchEventListener implements OFXBatchEventListener { ... public void connectionStatus(OFXBatchConnectionStatusEvent e) {} ... } public class OFXBatchConnectionStatusEvent { public String connectionEvent; public int statusCode; public String description; }
Remarks
This event is fired when the connection state changes: for example, completion of a firewall or proxy connection or completion of a security handshake.
The ConnectionEvent parameter indicates the type of connection event. Values may include the following:
Firewall connection complete. | |
Secure Sockets Layer (SSL) or S/Shell handshake complete (where applicable). | |
Remote host connection complete. | |
Remote host disconnected. | |
SSL or S/Shell connection broken. | |
Firewall host disconnected. |
Error Event (OFXBatch Class)
Fired when information is available about errors during data delivery.
Syntax
public class DefaultOFXBatchEventListener implements OFXBatchEventListener { ... public void error(OFXBatchErrorEvent e) {} ... } public class OFXBatchErrorEvent { public int errorCode; public String description; }
Remarks
The Error event is fired in case of exceptional conditions during message processing. Normally the class throws an exception.
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.
SSLServerAuthentication Event (OFXBatch Class)
Fired after the server presents its certificate to the client.
Syntax
public class DefaultOFXBatchEventListener implements OFXBatchEventListener { ... public void SSLServerAuthentication(OFXBatchSSLServerAuthenticationEvent e) {} ... } public class OFXBatchSSLServerAuthenticationEvent { public byte[] certEncoded; public String certSubject; public String certIssuer; public String status; public boolean accept; //read-write }
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 (OFXBatch Class)
Fired when secure connection progress messages are available.
Syntax
public class DefaultOFXBatchEventListener implements OFXBatchEventListener { ... public void SSLStatus(OFXBatchSSLStatusEvent e) {} ... } public class OFXBatchSSLStatusEvent { public String message; }
Remarks
The event is fired for informational and logging purposes only. This event tracks the progress of the connection.
Certificate Type
This is the digital certificate being used.
Remarks
This type describes the current digital certificate. The certificate may be a public or private key. The fields are used to identify or select certificates.
- EffectiveDate
- ExpirationDate
- ExtendedKeyUsage
- Fingerprint
- FingerprintSHA1
- FingerprintSHA256
- Issuer
- KeyPassword
- PrivateKey
- PrivateKeyAvailable
- PrivateKeyContainer
- PublicKey
- PublicKeyAlgorithm
- PublicKeyLength
- SerialNumber
- SignatureAlgorithm
- Store
- StorePassword
- StoreType
- SubjectAltNames
- ThumbprintMD5
- ThumbprintSHA1
- ThumbprintSHA256
- Usage
- UsageFlags
- Version
- Subject
- Encoded
Fields
EffectiveDate
String (read-only)
Default Value: ""
The date on which this certificate becomes valid. Before this date, it is not valid. The date is localized to the system's time zone. The following example illustrates the format of an encoded date:
23-Jan-2000 15:00:00.
ExpirationDate
String (read-only)
Default Value: ""
The date on which the certificate expires. After this date, the certificate will no longer be valid. The date is localized to the system's time zone. The following example illustrates the format of an encoded date:
23-Jan-2001 15:00:00.
ExtendedKeyUsage
String (read-only)
Default Value: ""
A comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs).
Fingerprint
String (read-only)
Default Value: ""
The hex-encoded, 16-byte MD5 fingerprint of the certificate. This property is primarily used for keys which do not have a corresponding X.509 public certificate, such as PEM keys that only contain a private key. It is commonly used for SSH keys.
The following example illustrates the format: bc:2a:72:af:fe:58:17:43:7a:5f:ba:5a:7c:90:f7:02
FingerprintSHA1
String (read-only)
Default Value: ""
The hex-encoded, 20-byte SHA-1 fingerprint of the certificate. This property is primarily used for keys which do not have a corresponding X.509 public certificate, such as PEM keys that only contain a private key. It is commonly used for SSH keys.
The following example illustrates the format: 30:7b:fa:38:65:83:ff:da:b4:4e:07:3f:17:b8:a4:ed:80:be:ff:84
FingerprintSHA256
String (read-only)
Default Value: ""
The hex-encoded, 32-byte SHA-256 fingerprint of the certificate. This property is primarily used for keys which do not have a corresponding X.509 public certificate, such as PEM keys that only contain a private key. It is commonly used for SSH keys.
The following example illustrates the format: 6a:80:5c:33:a9:43:ea:b0:96:12:8a:64:96:30:ef:4a:8a:96:86:ce:f4:c7:be:10:24:8e:2b:60:9e:f3:59:53
Issuer
String (read-only)
Default Value: ""
The issuer of the certificate. This field contains a string representation of the name of the issuing authority for the certificate.
KeyPassword
String
Default Value: ""
The password for the certificate's private key (if any).
Some certificate stores may individually protect certificates' private keys, separate from the standard protection offered by the StorePassword. This field can be used to read such password-protected private keys.
Note: This property defaults to the value of StorePassword. To clear it, you must set the property to the empty string (""). It can be set at any time, but when the private key's password is different from the store's password, then it must be set before calling PrivateKey.
PrivateKey
String (read-only)
Default Value: ""
The private key of the certificate (if available). The key is provided as PEM/Base64-encoded data.
Note: The PrivateKey may be available but not exportable. In this case, PrivateKey returns an empty string.
PrivateKeyAvailable
boolean (read-only)
Default Value: False
Whether a PrivateKey is available for the selected certificate. If PrivateKeyAvailable is True, the certificate may be used for authentication purposes (e.g., server authentication).
PrivateKeyContainer
String (read-only)
Default Value: ""
The name of the PrivateKey container for the certificate (if available). This functionality is available only on Windows platforms.
PublicKey
String (read-only)
Default Value: ""
The public key of the certificate. The key is provided as PEM/Base64-encoded data.
PublicKeyAlgorithm
String (read-only)
Default Value: ""
The textual description of the certificate's public key algorithm. The property contains either the name of the algorithm (e.g., "RSA" or "RSA_DH") or an object identifier (OID) string representing the algorithm.
PublicKeyLength
int (read-only)
Default Value: 0
The length of the certificate's public key (in bits). Common values are 512, 1024, and 2048.
SerialNumber
String (read-only)
Default Value: ""
The serial number of the certificate encoded as a string. The number is encoded as a series of hexadecimal digits, with each pair representing a byte of the serial number.
SignatureAlgorithm
String (read-only)
Default Value: ""
The text description of the certificate's signature algorithm. The property contains either the name of the algorithm (e.g., "RSA" or "RSA_MD5RSA") or an object identifier (OID) string representing the algorithm.
Store
String
Default Value: "MY"
The name of the certificate store for the client certificate.
The StoreType field denotes the type of the certificate store specified by Store. If the store is password-protected, specify the password in StorePassword.
Store is used in conjunction with the Subject field to specify client certificates. If Store has a value, and Subject or Encoded is set, a search for a certificate is initiated. Please see the Subject field for details.
Designations of certificate stores are platform dependent.
The following 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. |
In Java, the certificate store normally is a file containing certificates and optional private keys.
When the certificate store type is cstPFXFile, this property must be set to the name of the file. When the type is cstPFXBlob, the property must be set to the binary contents of a PFX file (i.e., PKCS#12 certificate store).
StoreB
byte[]
Default Value: "MY"
The name of the certificate store for the client certificate.
The StoreType field denotes the type of the certificate store specified by Store. If the store is password-protected, specify the password in StorePassword.
Store is used in conjunction with the Subject field to specify client certificates. If Store has a value, and Subject or Encoded is set, a search for a certificate is initiated. Please see the Subject field for details.
Designations of certificate stores are platform dependent.
The following 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. |
In Java, the certificate store normally is a file containing certificates and optional private keys.
When the certificate store type is cstPFXFile, this property must be set to the name of the file. When the type is cstPFXBlob, the property must be set to the binary contents of a PFX file (i.e., PKCS#12 certificate store).
StorePassword
String
Default Value: ""
If the type of certificate store requires a password, this field is used to specify the password needed to open the certificate store.
StoreType
int
Default Value: 0
The type of certificate store for this certificate.
The class supports both public and private keys in a variety of formats. When the cstAuto value is used, the class will automatically determine the type. This field can take one of the following values:
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 Store and set StorePassword 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. |
SubjectAltNames
String (read-only)
Default Value: ""
Comma-separated lists of alternative subject names for the certificate.
ThumbprintMD5
String (read-only)
Default Value: ""
The MD5 hash of the certificate. It is primarily used for X.509 certificates. If the hash does not already exist, it is automatically computed.
ThumbprintSHA1
String (read-only)
Default Value: ""
The SHA-1 hash of the certificate. It is primarily used for X.509 certificates. If the hash does not already exist, it is automatically computed.
ThumbprintSHA256
String (read-only)
Default Value: ""
The SHA-256 hash of the certificate. It is primarily used for X.509 certificates. If the hash does not already exist, it is automatically computed.
Usage
String (read-only)
Default Value: ""
The text description of UsageFlags.
This value will be one or more of the following strings and will be separated by commas:
- Digital Signature
- Non-Repudiation
- Key Encipherment
- Data Encipherment
- Key Agreement
- Certificate Signing
- CRL Signing
- Encipher Only
If the provider is OpenSSL, the value is a comma-separated list of X.509 certificate extension names.
UsageFlags
int (read-only)
Default Value: 0
The flags that show intended use for the certificate. The value of UsageFlags is a combination of the following flags:
0x80 | Digital Signature |
0x40 | Non-Repudiation |
0x20 | Key Encipherment |
0x10 | Data Encipherment |
0x08 | Key Agreement |
0x04 | Certificate Signing |
0x02 | CRL Signing |
0x01 | Encipher Only |
Please see the Usage field for a text representation of UsageFlags.
This functionality currently is not available when the provider is OpenSSL.
Version
String (read-only)
Default Value: ""
The certificate's version number. The possible values are the strings "V1", "V2", and "V3".
Subject
String
Default Value: ""
The subject of the certificate used for client authentication.
This field will be populated with the full subject of the loaded certificate. When loading a certificate, the subject is used to locate the certificate in the store.
If an exact match is not found, the store is searched for subjects containing the value of the property.
If a match is still not found, the property is set to an empty string, and no certificate is selected.
The special value "*" picks a random certificate in the certificate store.
The certificate subject is a comma-separated list of distinguished name fields and values. For instance, "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are 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.
Encoded
String
Default Value: ""
The certificate (PEM/Base64 encoded). This field is used to assign a specific certificate. The Store and Subject fields also may be used to specify a certificate.
When Encoded is set, a search is initiated in the current Store for the private key of the certificate. If the key is found, Subject is updated to reflect the full subject of the selected certificate; otherwise, Subject is set to an empty string.
EncodedB
byte[]
Default Value: ""
The certificate (PEM/Base64 encoded). This field is used to assign a specific certificate. The Store and Subject fields also may be used to specify a certificate.
When Encoded is set, a search is initiated in the current Store for the private key of the certificate. If the key is found, Subject is updated to reflect the full subject of the selected certificate; otherwise, Subject is set to an empty string.
Constructors
public Certificate();
Creates a instance whose properties can be set. This is useful for use with when generating new certificates.
public Certificate( certificateFile);
Opens CertificateFile and reads out the contents as an X.509 public key.
public Certificate( encoded);
Parses Encoded as an X.509 public key.
public Certificate( storeType, store, storePassword, subject);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X.509 certificate's subject Distinguished Name (DN). The Subject parameter can also take an MD5, SHA-1, or SHA-256 thumbprint of the certificate to load in a "Thumbprint=value" format.
public Certificate( storeType, store, storePassword, subject, configurationString);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store.
ConfigurationString is a newline-separated list of name-value pairs that may be used to modify the default behavior. Possible values include "PersistPFXKey", which shows whether or not the PFX key is persisted after performing operations with the private key. This correlates to the PKCS12_NO_PERSIST_KEY CryptoAPI option. The default value is True (the key is persisted). "Thumbprint" - an MD5, SHA-1, or SHA-256 thumbprint of the certificate to load. When specified, this value is used to select the certificate in the store. This is applicable to the cstUser , cstMachine , cstPublicKeyFile , and cstPFXFile store types. "UseInternalSecurityAPI" shows whether the platform (default) or the internal security API is used when performing certificate-related operations.
After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X.509 certificate's subject Distinguished Name (DN). The Subject parameter can also take an MD5, SHA-1, or SHA-256 thumbprint of the certificate to load in a "Thumbprint=value" format.
public Certificate( storeType, store, storePassword, encoded);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the class will load Encoded as an X.509 certificate and search the opened store for a corresponding private key.
public Certificate( storeType, store, storePassword, subject);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a byte array containing the certificate data. StorePassword is the password used to protect the store.
After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X.509 certificate's subject Distinguished Name (DN). The Subject parameter can also take an MD5, SHA-1, or SHA-256 thumbprint of the certificate to load in a "Thumbprint=value" format.
public Certificate( storeType, store, storePassword, subject, configurationString);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a byte array containing the certificate data. StorePassword is the password used to protect the store.
After the store has been successfully opened, the class will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X.509 certificate's subject Distinguished Name (DN). The Subject parameter can also take an MD5, SHA-1, or SHA-256 thumbprint of the certificate to load in a "Thumbprint=value" format.
public Certificate( storeType, store, storePassword, encoded);
StoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a byte array containing the certificate data. StorePassword is the password used to protect the store.
After the store has been successfully opened, the class will load Encoded as an X.509 certificate and search the opened store for a corresponding private key.
Firewall Type
The firewall the class will connect through.
Remarks
When connecting through a firewall, this type is used to specify different properties of the firewall, such as the firewall Host and the FirewallType.
Fields
AutoDetect
boolean
Default Value: False
Whether to automatically detect and use firewall system settings, if available.
Connection information will first be obtained from Java system properties, such as http.proxyHost and https.proxyHost. Java properties may be set in a variety of ways; please consult the Java documentation for information about how firewall and proxy values can be specified.
If no Java system properties define connection information, the class will inspect the Windows registry for connection information that may be present on the system (applicable only on Windows systems).
FirewallType
int
Default Value: 0
The type of firewall to connect through. The applicable values are as follows:
fwNone (0) | No firewall (default setting). |
fwTunnel (1) | Connect through a tunneling proxy. Port is set to 80. |
fwSOCKS4 (2) | Connect through a SOCKS4 Proxy. Port is set to 1080. |
fwSOCKS5 (3) | Connect through a SOCKS5 Proxy. Port is set to 1080. |
fwSOCKS4A (10) | Connect through a SOCKS4A Proxy. Port is set to 1080. |
Host
String
Default Value: ""
The name or IP address of the firewall (optional). If a Host is given, the requested connections will be authenticated through the specified firewall when connecting.
If this field is set to a Domain Name, a DNS request is initiated. Upon successful termination of the request, this field is set to the corresponding address. If the search is not successful, the class throws an exception.
Password
String
Default Value: ""
A password if authentication is to be used when connecting through the firewall. If Host is specified, the User and Password fields are used to connect and authenticate to the given firewall. If the authentication fails, the class throws an exception.
Port
int
Default Value: 0
The Transmission Control Protocol (TCP) port for the firewall Host. See the description of the Host field for details.
Note: This field is set automatically when FirewallType is set to a valid value. See the description of the FirewallType field for details.
User
String
Default Value: ""
A username if authentication is to be used when connecting through a firewall. If Host is specified, this field and the Password field are used to connect and authenticate to the given Firewall. If the authentication fails, the class throws an exception.
Constructors
public Firewall();
OFXBatchItem Type
This type corresponds to a single OFX batch item in the list of OFX batch items.
Remarks
OFXBatchItem objects are used when adding new items in the current OFX, or when listing OFX batch items (if any) returned by the FI OFX server (when the corresponding methods: PostRequest, ReadOFXDataFile, or WriteOFXDataFile are called).
Fields
Request
String
Default Value: ""
OFX request aggregate. The Request is obtained by setting it to a OFXRequest aggregate of a class that corresponds to that request type. For example:
OFXBatch.OFXBatchItemCount = 3;
OFXBatch.OFXBathcItems[0].Request = BankStatement.OFXRequest;
OFXBatch.OFXBathcItems[1].Request = CCStatement.OFXRequest;
OFXBatch.OFXBathcItems[2].Request = FIProfile.OFXRequest;
Message sets will/must appear in the following order in the batch request sent to the server: Signon, Signup, Bank statement, Intrabank funds transfers, Credit card statements, Loan statements, Investment statements, Interbank funds transfers, and FI Profile, regardless of their order while populating the OFXBatchItems. In the server response, the message sets will be returned in the server response in the same order.
RequestType
String (read-only)
Default Value: ""
The type of OFX request included in the batch. Request types supported by OFXBatch component are: Account Info, Bank, Credit Card, Loan, and Investment statement download, Intrabank and Interbank Transfer, Bill Pay, and FI Profile. The support for these requests depend whether the FI OFX server supports that request type and whether they allow it to be part of a batch request.
Possible values and their meanings are as follows:
Value | Meaning |
ACCTINFO | Account Information request |
STMT | Bank Statement request |
CCSTMT | Credit Card Statement request |
LOANSTMT | Loan Statement request |
INVSTMT | Investment Statement request |
INTRA | Intrabank Transfer request (Note: This is subject to synchronization and should be followed by calling the SynchronizeTransfers; method in BankTransfer class, depending on what was requested as part of the batch.) |
INTER | Interbank Transfer request (Note: This is subject to synchronization and should be followed by calling the SynchronizeTransfers; method in BankTransfer class, depending on what was requested as part of the batch.) |
BILLPAY | Bill Payment request (Note: This is subject to synchronization and should be followed by calling the SynchronizePayments; and/or SynchronizePayees methods in BillPayment class, depending on what was requested as part of the batch.) |
PROF | FI Profile request |
RequestUID
String (read-only)
Default Value: ""
The current batch item's unique transaction ID.
The value in Response is parsed out of the server's response to the batch and matched to the appropriate original Request using by matching the response UID to the RequestUID.
Response
String
Default Value: ""
The OFX response aggregate. This string represents the OFX response aggregate for the current Request. When the OFXBatch is posted, the Response field will be populated automatically with the server's response to the Request.
For example, if the batch request consisted of BankStatement, CCStatement and FIProfile, such as:
OFXBatch.OFXBatchItemCount = 3;
OFXBatch.OFXBatchItems[0].Request = BankStatement.OFXRequest;
OFXBatch.OFXBatchItems[1].Request = CCStatement.OFXRequest;
OFXBatch.OFXBatchItems[2].Request = FIProfile.OFXRequest;
Upon successful server response, the OFXResponse aggregate of the corresponding class should be set (in the same order as they were included in the batch request), for example:
BankStatement.OFXResponse = OFXBatch.OFXBatchItems[0].Response;
CCStatement.OFXResponse = OFXBatch.OFXBatchItems[1].Response;
FIProfile.OFXResponse = OFXBatch.OFXBatchItems[2].Response;
Properties of each class are now populated and ready for retrieval.
Constructors
public OFXBatchItem();
Proxy Type
The proxy the class will connect to.
Remarks
When connecting through a proxy, this type is used to specify different properties of the proxy, such as the Server and the AuthScheme.
Fields
AuthScheme
int
Default Value: 0
The type of authorization to perform when connecting to the proxy. This is used only when the User and Password fields are set.
AuthScheme should be set to authNone (3) when no authentication is expected.
By default, AuthScheme is authBasic (0), and if the User and Password fields are set, the class will attempt basic authentication.
If AuthScheme is set to authDigest (1), digest authentication will be attempted instead.
If AuthScheme is set to authProprietary (2), then the authorization token will not be generated by the class. Look at the configuration file for the class being used to find more information about manually setting this token.
If AuthScheme is set to authNtlm (4), NTLM authentication will be used.
For security reasons, setting this field will clear the values of User and Password.
AutoDetect
boolean
Default Value: False
Whether to automatically detect and use proxy system settings, if available. The default value is false.
Note: This setting is applicable only in Windows.
Password
String
Default Value: ""
A password if authentication is to be used for the proxy.
If AuthScheme is set to Basic Authentication, the User and Password fields are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password].
If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server.
If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation.
Port
int
Default Value: 80
The Transmission Control Protocol (TCP) port for the proxy Server (default 80). See the description of the Server field for details.
Server
String
Default Value: ""
If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified.
If the Server field is set to a domain name, a DNS request is initiated. Upon successful termination of the request, the Server field is set to the corresponding address. If the search is not successful, an error is returned.
SSL
int
Default Value: 0
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. |
User
String
Default Value: ""
A username if authentication is to be used for the proxy.
If AuthScheme is set to Basic Authentication, the User and Password fields are Base64 encoded and the proxy authentication token will be generated in the form Basic [encoded-user-password].
If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server.
If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation.
Constructors
public Proxy();
public Proxy( server, port);
public Proxy( server, port, user, password);
Config Settings (OFXBatch 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.
XML Config Settings
This option should be combined with Indent for full effect.
If you would like any other characters to be considered as name characters, you may set them as a string into this property.
If you would like any other characters to be considered as white space, you may set them as a string into this property.
If False (default) and Validate is set to False, the prefix is included in the Element parameter (e.g., ds:DigestMethod).
If True and Validate is set to False, the prefix is not included in the Element parameter (e.g., DigestMethod).
This setting is applicable only when Validate is False.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> ...
This option should be combined with EOL for full effect.
void xml_OnStartElement(object sender, XMLStartElementEventArgs e)
{
xml.Config("Interrupt");
}
Offset values start at 1.
Note: This applies only when BuildDOM is False.
By default, no additional processing is performed and the string is returned as is from the document. Strings may also be XML unescaped. Possible values are as follows:
0 (none - default) | No additional processing is performed. |
1 | Strings are XML unescaped. |
For instance, when set to 0, the following text may be fired through the Characters event:
&"<>
When set to 1, the following text would be fired through the Characters event:
&"<>
Base Config Settings
In some non-GUI applications, an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the class does not attempt to process external events.
- 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.
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.
Setting this configuration setting to true tells the class to use the internal implementation instead of using the system security libraries.
This setting is set to false by default on all platforms.
Trappable Errors (OFXBatch Class)
XML Errors
101 | Invalid attribute index. |
102 | No attributes available. |
103 | Invalid namespace index. |
104 | No namespaces available. |
105 | Invalid element index. |
106 | No elements available. |
107 | Attribute does not exist. |
201 | Unbalanced element tag. |
202 | Unknown element prefix (cannot find namespace). |
203 | Unknown attribute prefix (cannot find namespace). |
204 | Invalid XML markup. |
205 | Invalid end state for parser. |
206 | Document contains unbalanced elements. |
207 | Invalid XPath. |
208 | No such child. |
209 | Top element does not match start of path. |
210 | DOM tree unavailable (set BuildDOM to True and reparse). |
302 | Cannot open file. |
401 | Invalid XML would be generated. |
402 | An invalid XML name has been specified. |