OFXBatch Class
Properties Methods Events Config Settings Errors
Enables sending of multiple requests to an OFX server through a single connection.
Syntax
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. |
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. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitiveData | 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. |
UseInternalSecurityAPI | Whether or not to use the system security libraries or an internal implementation. |
FIId Property (OFXBatch Class)
Financial institution identifier.
Syntax
ANSI (Cross Platform) char* GetFIId();
int SetFIId(const char* lpszFIId); Unicode (Windows) LPWSTR GetFIId();
INT SetFIId(LPCWSTR lpszFIId);
char* inebank_ofxbatch_getfiid(void* lpObj);
int inebank_ofxbatch_setfiid(void* lpObj, const char* lpszFIId);
QString GetFIId();
int SetFIId(QString qsFIId);
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.
Data Type
String
FIOrganization Property (OFXBatch Class)
Financial institution organization name.
Syntax
ANSI (Cross Platform) char* GetFIOrganization();
int SetFIOrganization(const char* lpszFIOrganization); Unicode (Windows) LPWSTR GetFIOrganization();
INT SetFIOrganization(LPCWSTR lpszFIOrganization);
char* inebank_ofxbatch_getfiorganization(void* lpObj);
int inebank_ofxbatch_setfiorganization(void* lpObj, const char* lpszFIOrganization);
QString GetFIOrganization();
int SetFIOrganization(QString qsFIOrganization);
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.
Data Type
String
Firewall Property (OFXBatch Class)
A set of properties related to firewall access.
Syntax
InEBankFirewall* GetFirewall(); int SetFirewall(InEBankFirewall* val);
int inebank_ofxbatch_getfirewallautodetect(void* lpObj);
int inebank_ofxbatch_setfirewallautodetect(void* lpObj, int bFirewallAutoDetect);
int inebank_ofxbatch_getfirewalltype(void* lpObj);
int inebank_ofxbatch_setfirewalltype(void* lpObj, int iFirewallType);
char* inebank_ofxbatch_getfirewallhost(void* lpObj);
int inebank_ofxbatch_setfirewallhost(void* lpObj, const char* lpszFirewallHost);
char* inebank_ofxbatch_getfirewallpassword(void* lpObj);
int inebank_ofxbatch_setfirewallpassword(void* lpObj, const char* lpszFirewallPassword);
int inebank_ofxbatch_getfirewallport(void* lpObj);
int inebank_ofxbatch_setfirewallport(void* lpObj, int iFirewallPort);
char* inebank_ofxbatch_getfirewalluser(void* lpObj);
int inebank_ofxbatch_setfirewalluser(void* lpObj, const char* lpszFirewallUser);
bool GetFirewallAutoDetect();
int SetFirewallAutoDetect(bool bFirewallAutoDetect); int GetFirewallType();
int SetFirewallType(int iFirewallType); QString GetFirewallHost();
int SetFirewallHost(QString qsFirewallHost); QString GetFirewallPassword();
int SetFirewallPassword(QString qsFirewallPassword); int GetFirewallPort();
int SetFirewallPort(int iFirewallPort); QString GetFirewallUser();
int SetFirewallUser(QString qsFirewallUser);
Remarks
This is a Firewall-type property, which contains fields describing the firewall through which the class will attempt to connect.
Data Type
FIUrl Property (OFXBatch Class)
Financial institution URL.
Syntax
ANSI (Cross Platform) char* GetFIUrl();
int SetFIUrl(const char* lpszFIUrl); Unicode (Windows) LPWSTR GetFIUrl();
INT SetFIUrl(LPCWSTR lpszFIUrl);
char* inebank_ofxbatch_getfiurl(void* lpObj);
int inebank_ofxbatch_setfiurl(void* lpObj, const char* lpszFIUrl);
QString GetFIUrl();
int SetFIUrl(QString qsFIUrl);
Default Value
""
Remarks
This is the URL of the OFX Financial Institution to which the class will signon and fetch data.
Data Type
String
OFXAppId Property (OFXBatch Class)
OFX application identifier.
Syntax
ANSI (Cross Platform) char* GetOFXAppId();
int SetOFXAppId(const char* lpszOFXAppId); Unicode (Windows) LPWSTR GetOFXAppId();
INT SetOFXAppId(LPCWSTR lpszOFXAppId);
char* inebank_ofxbatch_getofxappid(void* lpObj);
int inebank_ofxbatch_setofxappid(void* lpObj, const char* lpszOFXAppId);
QString GetOFXAppId();
int SetOFXAppId(QString qsOFXAppId);
Default Value
""
Remarks
This is the unique identifier of the user's OFX application.
Data Type
String
OFXAppVersion Property (OFXBatch Class)
OFX application version.
Syntax
ANSI (Cross Platform) char* GetOFXAppVersion();
int SetOFXAppVersion(const char* lpszOFXAppVersion); Unicode (Windows) LPWSTR GetOFXAppVersion();
INT SetOFXAppVersion(LPCWSTR lpszOFXAppVersion);
char* inebank_ofxbatch_getofxappversion(void* lpObj);
int inebank_ofxbatch_setofxappversion(void* lpObj, const char* lpszOFXAppVersion);
QString GetOFXAppVersion();
int SetOFXAppVersion(QString qsOFXAppVersion);
Default Value
""
Remarks
This is the version of the user's OFX application.
Data Type
String
OFXBatchItems Property (OFXBatch Class)
A list of items (requests/response pairs) that make up the current OFX batch.
Syntax
InEBankList<InEBankOFXBatchItem>* GetOFXBatchItems(); int SetOFXBatchItems(InEBankList<InEBankOFXBatchItem>* val);
int inebank_ofxbatch_getofxbatchitemcount(void* lpObj);
int inebank_ofxbatch_setofxbatchitemcount(void* lpObj, int iOFXBatchItemCount);
char* inebank_ofxbatch_getofxbatchitemrequest(void* lpObj, int ofxbatchitemindex);
int inebank_ofxbatch_setofxbatchitemrequest(void* lpObj, int ofxbatchitemindex, const char* lpszOFXBatchItemRequest);
char* inebank_ofxbatch_getofxbatchitemrequesttype(void* lpObj, int ofxbatchitemindex);
char* inebank_ofxbatch_getofxbatchitemrequestuid(void* lpObj, int ofxbatchitemindex);
char* inebank_ofxbatch_getofxbatchitemresponse(void* lpObj, int ofxbatchitemindex);
int inebank_ofxbatch_setofxbatchitemresponse(void* lpObj, int ofxbatchitemindex, const char* lpszOFXBatchItemResponse);
int GetOFXBatchItemCount();
int SetOFXBatchItemCount(int iOFXBatchItemCount); QString GetOFXBatchItemRequest(int iOFXBatchItemIndex);
int SetOFXBatchItemRequest(int iOFXBatchItemIndex, QString qsOFXBatchItemRequest); QString GetOFXBatchItemRequestType(int iOFXBatchItemIndex); QString GetOFXBatchItemRequestUID(int iOFXBatchItemIndex); QString GetOFXBatchItemResponse(int iOFXBatchItemIndex);
int SetOFXBatchItemResponse(int iOFXBatchItemIndex, QString qsOFXBatchItemResponse);
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.
Data Type
OFXPassword Property (OFXBatch Class)
User's password.
Syntax
ANSI (Cross Platform) char* GetOFXPassword();
int SetOFXPassword(const char* lpszOFXPassword); Unicode (Windows) LPWSTR GetOFXPassword();
INT SetOFXPassword(LPCWSTR lpszOFXPassword);
char* inebank_ofxbatch_getofxpassword(void* lpObj);
int inebank_ofxbatch_setofxpassword(void* lpObj, const char* lpszOFXPassword);
QString GetOFXPassword();
int SetOFXPassword(QString qsOFXPassword);
Default Value
""
Remarks
This is the password used when signing on to the OFX Financial Institution's service.
Data Type
String
OFXUser Property (OFXBatch Class)
User's id.
Syntax
ANSI (Cross Platform) char* GetOFXUser();
int SetOFXUser(const char* lpszOFXUser); Unicode (Windows) LPWSTR GetOFXUser();
INT SetOFXUser(LPCWSTR lpszOFXUser);
char* inebank_ofxbatch_getofxuser(void* lpObj);
int inebank_ofxbatch_setofxuser(void* lpObj, const char* lpszOFXUser);
QString GetOFXUser();
int SetOFXUser(QString qsOFXUser);
Default Value
""
Remarks
This is the UserID used when signing on to the OFX Financial Institution's service.
Data Type
String
Proxy Property (OFXBatch Class)
A set of properties related to proxy access.
Syntax
InEBankProxy* GetProxy(); int SetProxy(InEBankProxy* val);
int inebank_ofxbatch_getproxyauthscheme(void* lpObj);
int inebank_ofxbatch_setproxyauthscheme(void* lpObj, int iProxyAuthScheme);
int inebank_ofxbatch_getproxyautodetect(void* lpObj);
int inebank_ofxbatch_setproxyautodetect(void* lpObj, int bProxyAutoDetect);
char* inebank_ofxbatch_getproxypassword(void* lpObj);
int inebank_ofxbatch_setproxypassword(void* lpObj, const char* lpszProxyPassword);
int inebank_ofxbatch_getproxyport(void* lpObj);
int inebank_ofxbatch_setproxyport(void* lpObj, int iProxyPort);
char* inebank_ofxbatch_getproxyserver(void* lpObj);
int inebank_ofxbatch_setproxyserver(void* lpObj, const char* lpszProxyServer);
int inebank_ofxbatch_getproxyssl(void* lpObj);
int inebank_ofxbatch_setproxyssl(void* lpObj, int iProxySSL);
char* inebank_ofxbatch_getproxyuser(void* lpObj);
int inebank_ofxbatch_setproxyuser(void* lpObj, const char* lpszProxyUser);
int GetProxyAuthScheme();
int SetProxyAuthScheme(int iProxyAuthScheme); bool GetProxyAutoDetect();
int SetProxyAutoDetect(bool bProxyAutoDetect); QString GetProxyPassword();
int SetProxyPassword(QString qsProxyPassword); int GetProxyPort();
int SetProxyPort(int iProxyPort); QString GetProxyServer();
int SetProxyServer(QString qsProxyServer); int GetProxySSL();
int SetProxySSL(int iProxySSL); QString GetProxyUser();
int SetProxyUser(QString qsProxyUser);
Remarks
This property contains fields describing the proxy through which the class will attempt to connect.
Data Type
SSLAcceptServerCert Property (OFXBatch Class)
Instructs the class to unconditionally accept the server certificate that matches the supplied certificate.
Syntax
InEBankCertificate* GetSSLAcceptServerCert(); int SetSSLAcceptServerCert(InEBankCertificate* val);
char* inebank_ofxbatch_getsslacceptservercerteffectivedate(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertexpirationdate(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertextendedkeyusage(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertfingerprint(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertfingerprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertfingerprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertissuer(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertprivatekey(void* lpObj);
int inebank_ofxbatch_getsslacceptservercertprivatekeyavailable(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertprivatekeycontainer(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertpublickey(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertpublickeyalgorithm(void* lpObj);
int inebank_ofxbatch_getsslacceptservercertpublickeylength(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertserialnumber(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertsignaturealgorithm(void* lpObj);
int inebank_ofxbatch_getsslacceptservercertstore(void* lpObj, char** lpSSLAcceptServerCertStore, int* lenSSLAcceptServerCertStore);
int inebank_ofxbatch_setsslacceptservercertstore(void* lpObj, const char* lpSSLAcceptServerCertStore, int lenSSLAcceptServerCertStore);
char* inebank_ofxbatch_getsslacceptservercertstorepassword(void* lpObj);
int inebank_ofxbatch_setsslacceptservercertstorepassword(void* lpObj, const char* lpszSSLAcceptServerCertStorePassword);
int inebank_ofxbatch_getsslacceptservercertstoretype(void* lpObj);
int inebank_ofxbatch_setsslacceptservercertstoretype(void* lpObj, int iSSLAcceptServerCertStoreType);
char* inebank_ofxbatch_getsslacceptservercertsubjectaltnames(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertthumbprintmd5(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertthumbprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertthumbprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertusage(void* lpObj);
int inebank_ofxbatch_getsslacceptservercertusageflags(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertversion(void* lpObj);
char* inebank_ofxbatch_getsslacceptservercertsubject(void* lpObj);
int inebank_ofxbatch_setsslacceptservercertsubject(void* lpObj, const char* lpszSSLAcceptServerCertSubject);
int inebank_ofxbatch_getsslacceptservercertencoded(void* lpObj, char** lpSSLAcceptServerCertEncoded, int* lenSSLAcceptServerCertEncoded);
int inebank_ofxbatch_setsslacceptservercertencoded(void* lpObj, const char* lpSSLAcceptServerCertEncoded, int lenSSLAcceptServerCertEncoded);
QString GetSSLAcceptServerCertEffectiveDate(); QString GetSSLAcceptServerCertExpirationDate(); QString GetSSLAcceptServerCertExtendedKeyUsage(); QString GetSSLAcceptServerCertFingerprint(); QString GetSSLAcceptServerCertFingerprintSHA1(); QString GetSSLAcceptServerCertFingerprintSHA256(); QString GetSSLAcceptServerCertIssuer(); QString GetSSLAcceptServerCertPrivateKey(); bool GetSSLAcceptServerCertPrivateKeyAvailable(); QString GetSSLAcceptServerCertPrivateKeyContainer(); QString GetSSLAcceptServerCertPublicKey(); QString GetSSLAcceptServerCertPublicKeyAlgorithm(); int GetSSLAcceptServerCertPublicKeyLength(); QString GetSSLAcceptServerCertSerialNumber(); QString GetSSLAcceptServerCertSignatureAlgorithm(); QByteArray GetSSLAcceptServerCertStore();
int SetSSLAcceptServerCertStore(QByteArray qbaSSLAcceptServerCertStore); QString GetSSLAcceptServerCertStorePassword();
int SetSSLAcceptServerCertStorePassword(QString qsSSLAcceptServerCertStorePassword); int GetSSLAcceptServerCertStoreType();
int SetSSLAcceptServerCertStoreType(int iSSLAcceptServerCertStoreType); QString GetSSLAcceptServerCertSubjectAltNames(); QString GetSSLAcceptServerCertThumbprintMD5(); QString GetSSLAcceptServerCertThumbprintSHA1(); QString GetSSLAcceptServerCertThumbprintSHA256(); QString GetSSLAcceptServerCertUsage(); int GetSSLAcceptServerCertUsageFlags(); QString GetSSLAcceptServerCertVersion(); QString GetSSLAcceptServerCertSubject();
int SetSSLAcceptServerCertSubject(QString qsSSLAcceptServerCertSubject); QByteArray GetSSLAcceptServerCertEncoded();
int SetSSLAcceptServerCertEncoded(QByteArray qbaSSLAcceptServerCertEncoded);
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.
Data Type
SSLCert Property (OFXBatch Class)
The certificate to be used during Secure Sockets Layer (SSL) negotiation.
Syntax
InEBankCertificate* GetSSLCert(); int SetSSLCert(InEBankCertificate* val);
char* inebank_ofxbatch_getsslcerteffectivedate(void* lpObj);
char* inebank_ofxbatch_getsslcertexpirationdate(void* lpObj);
char* inebank_ofxbatch_getsslcertextendedkeyusage(void* lpObj);
char* inebank_ofxbatch_getsslcertfingerprint(void* lpObj);
char* inebank_ofxbatch_getsslcertfingerprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslcertfingerprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslcertissuer(void* lpObj);
char* inebank_ofxbatch_getsslcertprivatekey(void* lpObj);
int inebank_ofxbatch_getsslcertprivatekeyavailable(void* lpObj);
char* inebank_ofxbatch_getsslcertprivatekeycontainer(void* lpObj);
char* inebank_ofxbatch_getsslcertpublickey(void* lpObj);
char* inebank_ofxbatch_getsslcertpublickeyalgorithm(void* lpObj);
int inebank_ofxbatch_getsslcertpublickeylength(void* lpObj);
char* inebank_ofxbatch_getsslcertserialnumber(void* lpObj);
char* inebank_ofxbatch_getsslcertsignaturealgorithm(void* lpObj);
int inebank_ofxbatch_getsslcertstore(void* lpObj, char** lpSSLCertStore, int* lenSSLCertStore);
int inebank_ofxbatch_setsslcertstore(void* lpObj, const char* lpSSLCertStore, int lenSSLCertStore);
char* inebank_ofxbatch_getsslcertstorepassword(void* lpObj);
int inebank_ofxbatch_setsslcertstorepassword(void* lpObj, const char* lpszSSLCertStorePassword);
int inebank_ofxbatch_getsslcertstoretype(void* lpObj);
int inebank_ofxbatch_setsslcertstoretype(void* lpObj, int iSSLCertStoreType);
char* inebank_ofxbatch_getsslcertsubjectaltnames(void* lpObj);
char* inebank_ofxbatch_getsslcertthumbprintmd5(void* lpObj);
char* inebank_ofxbatch_getsslcertthumbprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslcertthumbprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslcertusage(void* lpObj);
int inebank_ofxbatch_getsslcertusageflags(void* lpObj);
char* inebank_ofxbatch_getsslcertversion(void* lpObj);
char* inebank_ofxbatch_getsslcertsubject(void* lpObj);
int inebank_ofxbatch_setsslcertsubject(void* lpObj, const char* lpszSSLCertSubject);
int inebank_ofxbatch_getsslcertencoded(void* lpObj, char** lpSSLCertEncoded, int* lenSSLCertEncoded);
int inebank_ofxbatch_setsslcertencoded(void* lpObj, const char* lpSSLCertEncoded, int lenSSLCertEncoded);
QString GetSSLCertEffectiveDate(); QString GetSSLCertExpirationDate(); QString GetSSLCertExtendedKeyUsage(); QString GetSSLCertFingerprint(); QString GetSSLCertFingerprintSHA1(); QString GetSSLCertFingerprintSHA256(); QString GetSSLCertIssuer(); QString GetSSLCertPrivateKey(); bool GetSSLCertPrivateKeyAvailable(); QString GetSSLCertPrivateKeyContainer(); QString GetSSLCertPublicKey(); QString GetSSLCertPublicKeyAlgorithm(); int GetSSLCertPublicKeyLength(); QString GetSSLCertSerialNumber(); QString GetSSLCertSignatureAlgorithm(); QByteArray GetSSLCertStore();
int SetSSLCertStore(QByteArray qbaSSLCertStore); QString GetSSLCertStorePassword();
int SetSSLCertStorePassword(QString qsSSLCertStorePassword); int GetSSLCertStoreType();
int SetSSLCertStoreType(int iSSLCertStoreType); QString GetSSLCertSubjectAltNames(); QString GetSSLCertThumbprintMD5(); QString GetSSLCertThumbprintSHA1(); QString GetSSLCertThumbprintSHA256(); QString GetSSLCertUsage(); int GetSSLCertUsageFlags(); QString GetSSLCertVersion(); QString GetSSLCertSubject();
int SetSSLCertSubject(QString qsSSLCertSubject); QByteArray GetSSLCertEncoded();
int SetSSLCertEncoded(QByteArray qbaSSLCertEncoded);
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.
Data Type
SSLProvider Property (OFXBatch Class)
The Secure Sockets Layer/Transport Layer Security (SSL/TLS) implementation to use.
Syntax
ANSI (Cross Platform) int GetSSLProvider();
int SetSSLProvider(int iSSLProvider); Unicode (Windows) INT GetSSLProvider();
INT SetSSLProvider(INT iSSLProvider);
Possible Values
SSLP_AUTOMATIC(0),
SSLP_PLATFORM(1),
SSLP_INTERNAL(2)
int inebank_ofxbatch_getsslprovider(void* lpObj);
int inebank_ofxbatch_setsslprovider(void* lpObj, int iSSLProvider);
int GetSSLProvider();
int SetSSLProvider(int iSSLProvider);
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, 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
SSLServerCert Property (OFXBatch Class)
The server certificate for the last established connection.
Syntax
InEBankCertificate* GetSSLServerCert();
char* inebank_ofxbatch_getsslservercerteffectivedate(void* lpObj);
char* inebank_ofxbatch_getsslservercertexpirationdate(void* lpObj);
char* inebank_ofxbatch_getsslservercertextendedkeyusage(void* lpObj);
char* inebank_ofxbatch_getsslservercertfingerprint(void* lpObj);
char* inebank_ofxbatch_getsslservercertfingerprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslservercertfingerprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslservercertissuer(void* lpObj);
char* inebank_ofxbatch_getsslservercertprivatekey(void* lpObj);
int inebank_ofxbatch_getsslservercertprivatekeyavailable(void* lpObj);
char* inebank_ofxbatch_getsslservercertprivatekeycontainer(void* lpObj);
char* inebank_ofxbatch_getsslservercertpublickey(void* lpObj);
char* inebank_ofxbatch_getsslservercertpublickeyalgorithm(void* lpObj);
int inebank_ofxbatch_getsslservercertpublickeylength(void* lpObj);
char* inebank_ofxbatch_getsslservercertserialnumber(void* lpObj);
char* inebank_ofxbatch_getsslservercertsignaturealgorithm(void* lpObj);
int inebank_ofxbatch_getsslservercertstore(void* lpObj, char** lpSSLServerCertStore, int* lenSSLServerCertStore);
char* inebank_ofxbatch_getsslservercertstorepassword(void* lpObj);
int inebank_ofxbatch_getsslservercertstoretype(void* lpObj);
char* inebank_ofxbatch_getsslservercertsubjectaltnames(void* lpObj);
char* inebank_ofxbatch_getsslservercertthumbprintmd5(void* lpObj);
char* inebank_ofxbatch_getsslservercertthumbprintsha1(void* lpObj);
char* inebank_ofxbatch_getsslservercertthumbprintsha256(void* lpObj);
char* inebank_ofxbatch_getsslservercertusage(void* lpObj);
int inebank_ofxbatch_getsslservercertusageflags(void* lpObj);
char* inebank_ofxbatch_getsslservercertversion(void* lpObj);
char* inebank_ofxbatch_getsslservercertsubject(void* lpObj);
int inebank_ofxbatch_getsslservercertencoded(void* lpObj, char** lpSSLServerCertEncoded, int* lenSSLServerCertEncoded);
QString GetSSLServerCertEffectiveDate(); QString GetSSLServerCertExpirationDate(); QString GetSSLServerCertExtendedKeyUsage(); QString GetSSLServerCertFingerprint(); QString GetSSLServerCertFingerprintSHA1(); QString GetSSLServerCertFingerprintSHA256(); QString GetSSLServerCertIssuer(); QString GetSSLServerCertPrivateKey(); bool GetSSLServerCertPrivateKeyAvailable(); QString GetSSLServerCertPrivateKeyContainer(); QString GetSSLServerCertPublicKey(); QString GetSSLServerCertPublicKeyAlgorithm(); int GetSSLServerCertPublicKeyLength(); QString GetSSLServerCertSerialNumber(); QString GetSSLServerCertSignatureAlgorithm(); QByteArray GetSSLServerCertStore(); QString GetSSLServerCertStorePassword(); int GetSSLServerCertStoreType(); QString GetSSLServerCertSubjectAltNames(); QString GetSSLServerCertThumbprintMD5(); QString GetSSLServerCertThumbprintSHA1(); QString GetSSLServerCertThumbprintSHA256(); QString GetSSLServerCertUsage(); int GetSSLServerCertUsageFlags(); QString GetSSLServerCertVersion(); QString GetSSLServerCertSubject(); QByteArray GetSSLServerCertEncoded();
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.
Data Type
Timeout Property (OFXBatch Class)
The timeout for the class.
Syntax
ANSI (Cross Platform) int GetTimeout();
int SetTimeout(int iTimeout); Unicode (Windows) INT GetTimeout();
INT SetTimeout(INT iTimeout);
int inebank_ofxbatch_gettimeout(void* lpObj);
int inebank_ofxbatch_settimeout(void* lpObj, int iTimeout);
int GetTimeout();
int SetTimeout(int iTimeout);
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 fails with an error.
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.
Data Type
Integer
Config Method (OFXBatch Class)
Sets or retrieves a configuration setting.
Syntax
ANSI (Cross Platform) char* Config(const char* lpszConfigurationString); Unicode (Windows) LPWSTR Config(LPCWSTR lpszConfigurationString);
char* inebank_ofxbatch_config(void* lpObj, const char* lpszConfigurationString);
QString Config(const QString& qsConfigurationString);
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.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
PostRequest Method (OFXBatch Class)
Submits a batch of requests to an OFX server through a single connection.
Syntax
ANSI (Cross Platform) int PostRequest(); Unicode (Windows) INT PostRequest();
int inebank_ofxbatch_postrequest(void* lpObj);
int 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.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
ReadOFXDataFile Method (OFXBatch Class)
Reads an OFX response from a file.
Syntax
ANSI (Cross Platform) int ReadOFXDataFile(const char* lpszFileName); Unicode (Windows) INT ReadOFXDataFile(LPCWSTR lpszFileName);
int inebank_ofxbatch_readofxdatafile(void* lpObj, const char* lpszFileName);
int ReadOFXDataFile(const QString& qsFileName);
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:
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
Reset Method (OFXBatch Class)
Reset the internal state of the class and all properties to their default values.
Syntax
ANSI (Cross Platform) int Reset(); Unicode (Windows) INT Reset();
int inebank_ofxbatch_reset(void* lpObj);
int Reset();
Remarks
The Reset method does not have any parameters and does not return any value.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
WriteOFXDataFile Method (OFXBatch Class)
Writes the OFX response sent by the server to a file.
Syntax
ANSI (Cross Platform) int WriteOFXDataFile(const char* lpszFileName); Unicode (Windows) INT WriteOFXDataFile(LPCWSTR lpszFileName);
int inebank_ofxbatch_writeofxdatafile(void* lpObj, const char* lpszFileName);
int WriteOFXDataFile(const QString& qsFileName);
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.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
ConnectionStatus Event (OFXBatch Class)
Fired to indicate changes in the connection state.
Syntax
ANSI (Cross Platform) virtual int FireConnectionStatus(OFXBatchConnectionStatusEventParams *e);
typedef struct {
const char *ConnectionEvent;
int StatusCode;
const char *Description; int reserved; } OFXBatchConnectionStatusEventParams;
Unicode (Windows) virtual INT FireConnectionStatus(OFXBatchConnectionStatusEventParams *e);
typedef struct {
LPCWSTR ConnectionEvent;
INT StatusCode;
LPCWSTR Description; INT reserved; } OFXBatchConnectionStatusEventParams;
#define EID_OFXBATCH_CONNECTIONSTATUS 1 virtual INT INEBANK_CALL FireConnectionStatus(LPSTR &lpszConnectionEvent, INT &iStatusCode, LPSTR &lpszDescription);
class OFXBatchConnectionStatusEventParams { public: const QString &ConnectionEvent(); int StatusCode(); const QString &Description(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void ConnectionStatus(OFXBatchConnectionStatusEventParams *e);
// Or, subclass OFXBatch and override this emitter function. virtual int FireConnectionStatus(OFXBatchConnectionStatusEventParams *e) {...}
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
ANSI (Cross Platform) virtual int FireError(OFXBatchErrorEventParams *e);
typedef struct {
int ErrorCode;
const char *Description; int reserved; } OFXBatchErrorEventParams;
Unicode (Windows) virtual INT FireError(OFXBatchErrorEventParams *e);
typedef struct {
INT ErrorCode;
LPCWSTR Description; INT reserved; } OFXBatchErrorEventParams;
#define EID_OFXBATCH_ERROR 2 virtual INT INEBANK_CALL FireError(INT &iErrorCode, LPSTR &lpszDescription);
class OFXBatchErrorEventParams { public: int ErrorCode(); const QString &Description(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void Error(OFXBatchErrorEventParams *e);
// Or, subclass OFXBatch and override this emitter function. virtual int FireError(OFXBatchErrorEventParams *e) {...}
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.
SSLServerAuthentication Event (OFXBatch Class)
Fired after the server presents its certificate to the client.
Syntax
ANSI (Cross Platform) virtual int FireSSLServerAuthentication(OFXBatchSSLServerAuthenticationEventParams *e);
typedef struct {
const char *CertEncoded; int lenCertEncoded;
const char *CertSubject;
const char *CertIssuer;
const char *Status;
int Accept; int reserved; } OFXBatchSSLServerAuthenticationEventParams;
Unicode (Windows) virtual INT FireSSLServerAuthentication(OFXBatchSSLServerAuthenticationEventParams *e);
typedef struct {
LPCSTR CertEncoded; INT lenCertEncoded;
LPCWSTR CertSubject;
LPCWSTR CertIssuer;
LPCWSTR Status;
BOOL Accept; INT reserved; } OFXBatchSSLServerAuthenticationEventParams;
#define EID_OFXBATCH_SSLSERVERAUTHENTICATION 3 virtual INT INEBANK_CALL FireSSLServerAuthentication(LPSTR &lpCertEncoded, INT &lenCertEncoded, LPSTR &lpszCertSubject, LPSTR &lpszCertIssuer, LPSTR &lpszStatus, BOOL &bAccept);
class OFXBatchSSLServerAuthenticationEventParams { public: const QByteArray &CertEncoded(); const QString &CertSubject(); const QString &CertIssuer(); const QString &Status(); bool Accept(); void SetAccept(bool bAccept); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void SSLServerAuthentication(OFXBatchSSLServerAuthenticationEventParams *e);
// Or, subclass OFXBatch and override this emitter function. virtual int FireSSLServerAuthentication(OFXBatchSSLServerAuthenticationEventParams *e) {...}
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
ANSI (Cross Platform) virtual int FireSSLStatus(OFXBatchSSLStatusEventParams *e);
typedef struct {
const char *Message; int reserved; } OFXBatchSSLStatusEventParams;
Unicode (Windows) virtual INT FireSSLStatus(OFXBatchSSLStatusEventParams *e);
typedef struct {
LPCWSTR Message; INT reserved; } OFXBatchSSLStatusEventParams;
#define EID_OFXBATCH_SSLSTATUS 4 virtual INT INEBANK_CALL FireSSLStatus(LPSTR &lpszMessage);
class OFXBatchSSLStatusEventParams { public: const QString &Message(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void SSLStatus(OFXBatchSSLStatusEventParams *e);
// Or, subclass OFXBatch and override this emitter function. virtual int FireSSLStatus(OFXBatchSSLStatusEventParams *e) {...}
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.
Syntax
InEBankCertificate (declared in inebank.h)
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
- PrivateKey
- PrivateKeyAvailable
- PrivateKeyContainer
- PublicKey
- PublicKeyAlgorithm
- PublicKeyLength
- SerialNumber
- SignatureAlgorithm
- Store
- StorePassword
- StoreType
- SubjectAltNames
- ThumbprintMD5
- ThumbprintSHA1
- ThumbprintSHA256
- Usage
- UsageFlags
- Version
- Subject
- Encoded
Fields
EffectiveDate
char* (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
char* (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
char* (read-only)
Default Value: ""
A comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs).
Fingerprint
char* (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
char* (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
char* (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
char* (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.
PrivateKey
char* (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
int (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
char* (read-only)
Default Value: ""
The name of the PrivateKey container for the certificate (if available). This functionality is available only on Windows platforms.
PublicKey
char* (read-only)
Default Value: ""
The public key of the certificate. The key is provided as PEM/Base64-encoded data.
PublicKeyAlgorithm
char* (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
char* (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
char* (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
char*
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. |
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
char*
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
char* (read-only)
Default Value: ""
Comma-separated lists of alternative subject names for the certificate.
ThumbprintMD5
char* (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
char* (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
char* (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
char* (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
char* (read-only)
Default Value: ""
The certificate's version number. The possible values are the strings "V1", "V2", and "V3".
Subject
char*
Default Value: ""
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 field 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.
Encoded
char*
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
Certificate()
Creates a instance whose properties can be set. This is useful for use with when generating new certificates.
Certificate(const char* lpEncoded, int lenEncoded)
Parses Encoded as an X.509 public key.
Certificate(int iStoreType, const char* lpStore, int lenStore, const char* lpszStorePassword, const char* lpszSubject)
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 component 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.
Firewall Type
The firewall the component will connect through.
Syntax
InEBankFirewall (declared in inebank.h)
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
int
Default Value: FALSE
Whether to automatically detect and use firewall system settings, if available.
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
char*
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 fails with an error.
Password
char*
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 fails with an error.
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
char*
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 fails with an error.
Constructors
Firewall()
OFXBatchItem Type
This type corresponds to a single OFX batch item in the list of OFX batch items.
Syntax
InEBankOFXBatchItem (declared in inebank.h)
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
char*
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
char* (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
char* (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
char*
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
OFXBatchItem()
Proxy Type
The proxy the component will connect to.
Syntax
InEBankProxy (declared in inebank.h)
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
int
Default Value: FALSE
Whether to automatically detect and use proxy system settings, if available. The default value is false.
Password
char*
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
char*
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
char*
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
Proxy()
Proxy(const char* lpszServer, int iPort)
Proxy(const char* lpszServer, int iPort, const char* lpszUser, const char* lpszPassword)
InEBankList Type
Syntax
InEBankList<T> (declared in inebank.h)
Remarks
InEBankList is a generic class that is used to hold a collection of objects of type T, where T is one of the custom types supported by the OFXBatch class.
Methods | |
GetCount |
This method returns the current size of the collection.
int GetCount() {}
|
SetCount |
This method sets the size of the collection. This method returns 0 if setting the size was successful; or -1 if the collection is ReadOnly. When adding additional objects to a collection call this method to specify the new size. Increasing the size of the collection preserves existing objects in the collection.
int SetCount(int count) {}
|
Get |
This method gets the item at the specified position. The index parameter specifies the index of the item in the collection. This method returns NULL if an invalid index is specified.
T* Get(int index) {}
|
Set |
This method sets the item at the specified position. The index parameter specifies the index of the item in the collection that is being set. This method returns -1 if an invalid index is specified. Note: Objects created using the new operator must be freed using the delete operator; they will not be automatically freed by the class.
T* Set(int index, T* value) {}
|
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
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 |
- 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.
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 (OFXBatch Class)
Error Handling (C++)
Call the GetLastErrorCode() method to obtain the last called method's result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. Known error codes are listed below. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
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. |