OFTPClient Configuration

The component 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 component, access to these internal properties is provided through the Config method.

OFTPClient Configuration Settings

AcceptAnySFIDCode:   Indicates that all SFID codes are acceptable.

This setting controls whether the component checks the SFID codes when receiving files. When set to False (Default) and a file is received the component will check the client and server SFID codes sent by the server against the values specified in ClientSFIDCode and ServerSFIDCode. If they do not match an error is returned. In some situations it is necessary to consider any SFID code valid. To disable checking the SFID codes sent by the server set this to True.

AllowRetry:   Whether to send a retry indicator when rejecting a file.

When the server sends a file and it is rejected for any reason, if this setting is set to True the component will send a retry indicator value to the server to specify the file may be retried later.

When set to False (default) the component will send a value indicating the server should not retry the send operation.

CertificateType:   Specifies the type of certificate being supplied.

By default the component will use the certificate set in the Certificate property for all operations that require a certificate. This setting allows for different certificates to be set for specific operations. First, specify the CertificateType via this setting and then set the Certificate property. For instance:

component.Config("CertificateType=3");
component.Certificate = mySigningCertificate;
Possible values are:

0 (default)All Operations
1Session Authentication
2Decryption
3Signing
4Receipt Signing

ConnectionType:   Specifies the type of connection that will be created.

Use the ConnectionType setting to tell the component which type of connection to create. The default value is 0 (Both) in which the component can both send and receive files. However you can limit the component to only be able to send or receive files by specifying a value of 1 (Send Only) or 2 (Receive Only). Valid values are:

0Both (Default)
1Send Only
2Receive Only

CreditCount:   Specifies the credit value.

This setting defines the maximum credit value to be sent in the initial connection (SSID command). The default value is 99 and the maximum value is 999. When connecting, the server will also indicate the value it wishes to use for the credit count. The smaller of the two values will be used. This setting may be queried after connecting to determine the negotiated value.

DeleteOnError:   Whether received files are deleted when there is an error during processing.

By default this value is True. When set to False and receiving a file, if the file is encrypted, signed, or compressed the file will be decrypted, verified, or decompressed. If there is an error during processing the original unprocessed file will be placed in DownloadDirectory. In that case you may choose what to do with the file based on the error reported during processing.

When this is set to True (default) and there is an error during processing the original unprocessed file will be deleted and no files will be placed in DownloadDirectory.

DisconnectAfterEndSession:   Determines if the connection is closed immediately after ending the session.

By default when Logoff is called the component will close the TCP connection after ending the session (the ESID command is sent). To let the other side close the connection after it has received the end session command (ESID), set this to False.

EnforceProtocolVersion:   Requires the server to support the same OFTP version.

This settings controls the behavior when the server's OFTP version is different from the requested version. During the logon process the component will supply its OFTP Version to the server. The server will respond with the OFTP version it is using for the connection. If the version is not the same, the action of the component depends on this setting.

When set to True, if the server's OFTP version does not match the client's Version, the component throws an exception. When set to False (default), if the server's OFTP version does not match the client's Version, the component will use the lowest mutually supported version.

ExchangeBufferSize:   Specifies the data exchange buffer size in bytes.

This setting defines the data exchange buffer size to be sent in the initial connection (SSID command) in bytes. The default value is 2048. When connecting, the server will also indicate the value it wishes to use for the data exchange buffer size. The smaller of the two values will be used. This setting may be queried after connecting to determine the negotiated value.

ExchangeCertStoreType:   Specifies the store type when loading a certificate to be exchanged.

This specifies the certificate store type when loading a certificate that will be sent to the remote party. This is only applicable when calling ExchangeCertificate. The default value is "8" which indicates the certificate will be loaded from a file on disk. When the certificate is not in a .cer format or is located in the Windows certificate store this setting should be set to the appropriate value before calling ExchangeCertificate.

For a list of possible values please see StoreType. Also see ExchangeCertSubject.

ExchangeCertSubject:   The subject of the certificate being exchanged.

This specifies the subject of the certificate being exchanged. This will be used to load the appropriate certificate when ExchangeCertificate is called. This is used in conjunction with ExchangeCertStoreType and is only necessary when loading a certificate from a store that may hold more than one certificate (such as a Windows certificate store).

FailOnUntrustedCert:   Whether or not to throw an exception when untrusted certificates are used.

When TrustedCerts is populated the component will validate that loaded certificates were issued by a trusted CA in TrustedCerts. This setting controls the behavior when an untrusted certificate is found. By default this value is True and the component will throw an exception. If this is set to False the component will fire the Error event but the error will not be fatal and the operation will be allowed to continue.

FileDescription:   Additional description information sent with the file.

When sending a file this setting may be set to specify additional information. There is no restriction on the type of data supplied here. It may be set to a longer filename, or simply additional text data that you wish to pass to the receiver. The data supplied will be UTF-8 encoded by the component. The maximum length is 999 bytes (after UTF-8 encoding).

FileHashAlgorithm:   The hash algorithm to use when sending a file.

The file hash algorithm specified in this setting is used to calculate the hash sent along with an outgoing file. Possible values are:

0sha1
1sha256 (Default)
2sha512

FireEndResponseOnSend:   Determines if the EndResponse event is fired for outgoing EERP and NERPs.

If set to True (default) the component will fire the EndResponse event for both sent and received end responses. If set to False the EndResponse event will fire only for received (incoming) end responses. The Direction parameter of EndResponse determines if the end response is being sent or received. The default value is True.

FollowRedirects:   Determines behavior when importing trusted certificates and a HTTP redirect is returned.

When TrustedCertsData holds a URL and ImportTrustedCerts is called the component makes a HTTP request to obtain the trusted certificates. If the server returns a HTTP redirect this setting specifies how the component will handle it. Possible values are:

0 (default) Never follow redirects. An exception will be thrown.
1 Always follow redirects. The redirect will be automatically followed.
2 Follow same scheme redirects. Follow the redirect if it matches the same scheme (http:// or https://).

FriendlyLogFormat:   Determines if a more friendly format is applied to PITrail event out.

This setting effects the content of the Data parameter of the PITrail event. By default this setting is true and a format designed to be more easily read is used. If set to false the Data parameter will hold the raw unformatted protocol level content.

MaskSensitive:   Masks passwords in logs.

The default value is false. When set to true the component will mask passwords that would otherwise appear in its logs.

ReceiptHashAlgorithm:   The receipt hash algorithm to request when sending a file.

The receipt hash algorithm specified in this setting is sent to the receiving party when a file is sent, and the receiving party should use this value when calculating the hash returned in the EERP or NERP receipt. Possible values are:

0sha1 (Default)
1sha256
2sha512

ReceivedFileDateTime:   The datetime of the file being received.

This setting may be queried to obtain the datetime of the received file.

ReceivedFileDescription:   Additional description information received with the file.

Query this setting after receiving a file to obtain any additional information provided by the server. The data will be UTF-8 decoded by the component.

ReceivedFileEncryptionAlg:   The encryption algorithm used for the file being received.

This setting may be queried to obtain the encryption algorithm used for encryption of the file being received. The possible values are:

0 3DES (Triple Data Encryption Standard).
1 AES (Advanced Encryption Standard with key length of 128).

ReceivedFileName:   Returns the name of the received file.

This setting may be queried inside the EndTransfer event to obtain the name of the received file on disk. This includes the full path to the file on disk.

ReceivedFileNameFormat:   The name format of received files.

This setting specifies the format used when determining the local filename of a received file. The use of macros is supported to provide flexibility. This setting may include one or more of the following values:

  • %VirtualFileName%
  • %VirtualFileDate%
  • %Originator%
  • %Destination%
  • %UserData%
  • %CurrentTime%
  • %GUID%
An example value is "%VirtualFileName%_%VirtualFileDate%_%Destination%". The default value is "%VirtualFileName%".

The '%VirtualFileDate%' macro also supports date formatting through the use of an optional DateTime format string. The format of the macro with the date format string included is:

  • %VirtualFileDate:CustomFormat%
For example: "%VirtualFileDate:yyyyMMddHHmmssffff%"

The name format of received files.

This setting specifies the format used when determining the local filename of a received file. The use of macros is supported to provide flexibility. This setting may include one or more of the following values:

  • %VirtualFileName%
  • %VirtualFileDate%
  • %Originator%
  • %Destination%
  • %UserData%
  • %CurrentTime%
  • %GUID%
An example value is "%VirtualFileName%_%VirtualFileDate%_%Destination%". The default value is "%VirtualFileName%".

The '%VirtualFileDate%' macro also supports date formatting through the use of an optional DateTime format string. The format of the macro with the date format string included is:

  • %VirtualFileDate:CustomFormat%
For example: "%VirtualFileDate:yyyyMMddHHmmssffff%"

ReceivedFileNameFormat:   The name format of received files.

This setting specifies the format used when determining the local filename of a received file. The use of macros is supported to provide flexibility. This setting may include one or more of the following values:

  • %VirtualFileName%
  • %VirtualFileDate%
  • %Originator%
  • %Destination%
  • %UserData%
  • %CurrentTime%
  • %GUID%
An example value is "%VirtualFileName%_%VirtualFileDate%_%Destination%". The default value is "%VirtualFileName%".

The '%VirtualFileDate%' macro also supports date formatting through the use of an optional DateTime format string. The format of the macro with the date format string included is:

  • %VirtualFileDate:CustomFormat%
For example: "%VirtualFileDate:yyyyMMddHHmmssffff%"

The name format of received files.

This setting specifies the format used when determining the local filename of a received file. The use of macros is supported to provide flexibility. This setting may include one or more of the following values:

  • %VirtualFileName%
  • %VirtualFileDate%
  • %Originator%
  • %Destination%
  • %UserData%
  • %CurrentTime%
  • %GUID%
An example value is "%VirtualFileName%_%VirtualFileDate%_%Destination%". The default value is "%VirtualFileName%".

The '%VirtualFileDate%' macro also supports date formatting through the use of an optional DateTime format string. The format of the macro with the date format string included is:

  • %VirtualFileDate:CustomFormat%
For example: "%VirtualFileDate:yyyyMMddHHmmssffff%"

RecipientCertificateType:   Specifies the type of recipient certificate being supplied.

By default the component will use the certificate set in the RecipientCert property for all operations that require a certificate. This setting allows for different certificates to be set for specific operations. First, specify the RecipientCertificateType via this setting and then set the RecipientCert property. For instance:

component.Config("RecipientCertificateType=3");
component.RecipientCert = mySignatureVerificationCertificate;
Possible values are:

0 (default)All Operations
1Session Authentication
2Encryption
3Signature Verification
4Receipt Signature Verification

Retry:   Indicates whether the recipient allows the send to be retried.

When sending files the recipient may reject the file for a number of reasons. The recipient may indicate that the operation can be re-attempted later. Query this setting after a send attempt was rejected to determine if the recipient allows retries. This setting will return either True or False.

SendCDAfterEFPA:   Specifies whether a CD is always sent after receiving an EFPA.

When sending a file the recipient will respond with an EFPA once the file is received. Within this response is an indicator which tells the sender whether to issue a CD (Change Direction) command. The indicator is read by the component and a CD command is sent if requested. If a CD is not requested then no CD is sent.

When set to True, this overrides the default behavior and will always send a CD command regardless of whether the indicator is set in the EFPA.

This should only be set if there is a specific reason to do so. In most cases it is not necessary.

TempPath:   The path of a directory where temporary files will be created.

Under certain conditions, the component will create temporary files before processing a file. The location of the temporary files is determined by this setting. Temporary files are created if any of the following conditions are true.

Note that VirtualFileSecurityLevel is only applicable when Version is set to oftpVer20.

TrustedCertsData:   Specifies the source to be used when importing trusted certificates.

When ImportTrustedCerts is called it will attempt to import certificates from the location specified here. By default this is the URL provided by Odette (http://www.odette.org/TSL/TSL_OFTP2.XML). This is the live list of CA certificates hosted by Odette. This may also be set to an absolute file path to load certificates from an offline source, or a string value containing the trusted CA certificates.

VirtualFileDateFormat:   The DateTime format of received files.

This setting specifies the DateTime format used by the component when reporting the VirtualFileDate of received files. The default format is "MM/dd/yyyy HH:mm:ss".

When using OFTP v2.0 If the component is configured to respond to EERP and NERP messages asynchronously this should be set to the value "yyyyMMddHHmmssffff" or a similar format that includes the same level of accuracy. This is required to ensure that when calling SendEndResponse the value saved from within the EndTransfer event has the necessary data when sending a response.

Base Configuration Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

GUIAvailable:   Tells the component whether or not a message loop is available for processing events.

In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The component will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.

In some non-GUI applications an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the component does not attempt to process external events.

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g. RuntimeLicense, License File).
  • License Type: The type of license installed (e.g. Royalty Free, Single Server).
UseInternalSecurityAPI:   Tells the component whether or not to use the system security libraries or an internal implementation.

By default the component will use the system security libraries to perform cryptographic functions. When set to False calls to unmanaged code will be made. In certain environments this is not desirable. To use a completely managed security implementation set this setting to True. Setting this to True tells the component to use the internal implementation instead of using the system's security API.

Note: This setting is static. The value set is applicable to all components used in the application.

When this value is set the product's system DLL is no longer required as a reference, as all unmanaged code is stored in that file.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks EDI 2020 .NET Edition - Version 20.0 [Build 8203]