Check21 Control

Properties   Methods   Events   Config Settings   Errors  

The Check21 control is used to construct a file containing scanned images of paper checks, and optionally upload it to an FTPS server.

Syntax

Check21

Remarks

An X9.37 file created by this control will contain the following records:

  • File Header Record (1)
  • Cash Letter Header Record (1)
  • Bundle Header Record (1)
  • Check detail record structure (0 to CheckCount), which contains:
    • Check Detail Record (1)
    • Check Detail Addenda A (1)
    • Front Image View Detail Record (0 or 1)
    • Front Image View Data Record (0 or 1)
    • Back Image View Detail Record (0 or 1)
    • Back Image View Data Record (0 or 1)
  • Bundle Control Record (1)
  • Cash Letter Control Record (1)
  • File Control Record (1)

This control makes creating the above file very easy. First set the Origin properties with information about the institution that is originating this file, and the destination it is to be deposited to. Also set the ReturnRoutingNumber. Check21.OriginName = "First Bank of Thor" Check21.OriginRoutingNumber = "111012822" Check21.OriginContactName = "Jake Olsen" Check21.OriginContactPhone = "800-555-5555" Check21.DestinationRoutingNumber = "051000321" Check21.DestinationName = "First Bank of Loki" Check21.ReturnRoutingNumber = "111012822" This file must be differentiated from other files, so now set the CashLetterId and CycleNumber properties, as well as the FileName. (Alternatively FileName may be left empty, and the control will write the file to memory and store it in the FileData property).

Check21.CashLetterId = "123456" Check21.CycleNumber = "01" Check21.FileName = "sample_output.dat" This file is going to contain scanned images of paper checks, so RecordType should be set to rtChecksAndImages and make sure the DocumentationType is set to a compatible value ("G" through "J" are valid when RecordType is rtChecksAndImages). Check21.RecordType = rtChecksAndImages Check21.DocumentationType = "G" This sample file is to contain only one check, but a real file may contain any number of checks. To add a check, set the CheckCount, and then fill the Check array properties with information read off the check's MICR line, as well as the Payee's name and the amount of the check. Check21.CheckCount = 1 Check21.CheckMICROnUs(0) = "1234567890101" ' Account number on the check Check21.CheckMICRRoutingNumber(0) = "902113700" Check21.CheckAmount(0) = "50000" ' $500.00 Check21.CheckSequenceNumber(0) = "407" Check21.CheckPayeeName = "Bruce Banner" Then set information about the Bank of First Deposit. This may be identical to the Origin. The CheckBOFDConversionIndicator should also be set to "2" if this bank converted the original check into the image being included. Check21.CheckBOFDRoutingNumber(0) = "111012822" Check21.CheckBOFDAccountNumber(0) = "181818181818181818" Check21.CheckBOFDBranch(0) = "Asgard" Check21.CheckBOFDConversionIndicator(0) = "2" Finally, you must include images of the front and back of the check, and indicate the format and compression used to create those images. You may use CheckFrontImageFileName and CheckBackImageFileName properties to point to image files on disk, or you may set the binary data directly in CheckFrontImageData and CheckBackImageData. You also need to set a unique identifier that can be used to retrieve the images at a later date. Check21.CheckImageFormat(0) = ifTIFF ' default Check21.CheckImageCompression(0) = icJPEG ' default Check21.CheckCanRecreateImages(0) = True ' default Check21.CheckFrontImageFileName(0) = "front.jpg" Check21.CheckFrontImageReferenceKey(0) = "72234215front" Check21.CheckBackImageFileName(0) = "back.jpg" Check21.CheckBackImageReferenceKey(0) = "72234215back" Now call BuildFile to build the file and save it to the FileName you indicated earlier. If you have an FTPS server (TLS/SSL-secured FTP) to upload the files to, you may set the FTP properties and call BuildAndUploadFile method instead.

Property List


The following is the full list of the properties of the control with short descriptions. Click on the links for further details.

BusinessDateThe year, month, and day that designates the business date at the Bank of First Deposit.
CashLetterIdA code used to uniquely identify the cash letter inside the file.
CheckCountThe number of records in the Check arrays.
CheckAmountThe US dollar value of the check.
CheckBackImageCreationDateDate assigned by the image creator for the image contained in BackImageData .
CheckBackImageDataThis property contains the scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckBackImageFileNameThis property contains location of a scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckBackImageReferenceKeyA designator assigned by the ECE institution that uniquely identifies the BackImageData .
CheckBOFDAccountNumberA number that identifies the depository account at the Bank of First Deposit.
CheckBOFDBranchA code that identifies the branch at the Bank of First Deposit.
CheckBOFDConversionIndicatorA code that indicates the conversion within the processing institution between original paper check, image, and IRD.
CheckBOFDRoutingNumberA number that identifies the Bank of First Deposit.
CheckBOFDTruncatorIdentifies if this BOFD is the truncator of the original check.
CheckCanRecreateImagesA code that indicates whether the sender has the ability to recreate the check images (from the original source) for the duration of the agreed to retention time frame.
CheckFrontImageCreationDateDate assigned by the image creator for the image contained in FrontImageData .
CheckFrontImageDataThis property contains the scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckFrontImageFileNameThis property contains location of a scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .
CheckFrontImageReferenceKeyA designator assigned by the ECE institution that uniquely identifies the FrontImageData .
CheckImageCompressionA code that identifies the algorithm or method used to compress the images stored in the FrontImageData and BackImageData properties.
CheckImageCreatorRoutingNumberA number that identifies the financial institution that created the image (if different from BOFDRoutingNumber ).
CheckImageFormatA code that identifies the type of image format used for the images contained in the FrontImageData and BackImageData properties.
CheckMICRAuxOnUsA code used on commercial checks at the discretion of the payor bank, read off of the MICR line on a check.
CheckMICROnUsAccount number data specified by the payor bank and read from the MICR line on a check.
CheckMICRProcessingCodeThe external processing code from the MICR line of a check, if present.
CheckMICRRoutingNumberPayor bank routing number, read from the MICR line of a check.
CheckPayeeNameThe name of the payee from the check.
CheckSequenceNumberECE Institution Item Sequence Number, assigned by the institution that creates the file.
CollectionTypeA code that indicates the type of cash letter and bundle contained in the file.
CycleNumberDenotes the cycle under which the file is created.
DestinationNameThe short name that identifies the institution that receives the file.
DestinationRoutingNumberThis number identifies the institution that receives the file.
DocumentationTypeA code that indicates the type of documentation that supports all Checks records in the file.
FileDataContains the binary contents of the X9.37 file created by the BuildFile method.
FileNamePath and name of the file to be written to disk by the BuildFile method.
FTPPasswordThe password to login with.
FTPRemoteFileThe name of the file as it will appear on the server after upload.
FTPRemoteHostThe domain name or IP address of the FTP server the file is to be uploaded to.
FTPRemotePathThe current path on the FTP server.
FTPRemotePortThe port for the FTP service (default is 21).
FTPTimeoutA timeout to use when uploading via FTP.
FTPUserThe user id to login as.
OriginContactNameA contact at the institution that creates the file.
OriginContactPhoneThe phone number of the ContactName at the institution that created the file.
OriginNameThe short name of the ECE institution that created the file.
OriginRoutingNumberA number that identifies the ECE institution that originates the file.
RecordTypeA code that indicates the type of records contained in this file.
ReturnRoutingNumberA routing number indicating the location to which returns and return notifications should be sent.
SettlementDateThe date that the institution that created the file expects settlement.
SSLAcceptServerCertEffectiveDateThe date on which this certificate becomes valid.
SSLAcceptServerCertExpirationDateThe date on which the certificate expires.
SSLAcceptServerCertExtendedKeyUsageA comma-delimited list of extended key usage identifiers.
SSLAcceptServerCertFingerprintThe hex-encoded, 16-byte MD5 fingerprint of the certificate.
SSLAcceptServerCertFingerprintSHA1The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.
SSLAcceptServerCertFingerprintSHA256The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.
SSLAcceptServerCertIssuerThe issuer of the certificate.
SSLAcceptServerCertPrivateKeyThe private key of the certificate (if available).
SSLAcceptServerCertPrivateKeyAvailableWhether a PrivateKey is available for the selected certificate.
SSLAcceptServerCertPrivateKeyContainerThe name of the PrivateKey container for the certificate (if available).
SSLAcceptServerCertPublicKeyThe public key of the certificate.
SSLAcceptServerCertPublicKeyAlgorithmThe textual description of the certificate's public key algorithm.
SSLAcceptServerCertPublicKeyLengthThe length of the certificate's public key (in bits).
SSLAcceptServerCertSerialNumberThe serial number of the certificate encoded as a string.
SSLAcceptServerCertSignatureAlgorithmThe text description of the certificate's signature algorithm.
SSLAcceptServerCertStoreThe name of the certificate store for the client certificate.
SSLAcceptServerCertStorePasswordIf the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
SSLAcceptServerCertStoreTypeThe type of certificate store for this certificate.
SSLAcceptServerCertSubjectAltNamesComma-separated lists of alternative subject names for the certificate.
SSLAcceptServerCertThumbprintMD5The MD5 hash of the certificate.
SSLAcceptServerCertThumbprintSHA1The SHA-1 hash of the certificate.
SSLAcceptServerCertThumbprintSHA256The SHA-256 hash of the certificate.
SSLAcceptServerCertUsageThe text description of UsageFlags .
SSLAcceptServerCertUsageFlagsThe flags that show intended use for the certificate.
SSLAcceptServerCertVersionThe certificate's version number.
SSLAcceptServerCertSubjectThe subject of the certificate used for client authentication.
SSLAcceptServerCertEncodedThe certificate (PEM/Base64 encoded).
SSLCertEffectiveDateThe date on which this certificate becomes valid.
SSLCertExpirationDateThe date on which the certificate expires.
SSLCertExtendedKeyUsageA comma-delimited list of extended key usage identifiers.
SSLCertFingerprintThe hex-encoded, 16-byte MD5 fingerprint of the certificate.
SSLCertFingerprintSHA1The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.
SSLCertFingerprintSHA256The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.
SSLCertIssuerThe issuer of the certificate.
SSLCertPrivateKeyThe private key of the certificate (if available).
SSLCertPrivateKeyAvailableWhether a PrivateKey is available for the selected certificate.
SSLCertPrivateKeyContainerThe name of the PrivateKey container for the certificate (if available).
SSLCertPublicKeyThe public key of the certificate.
SSLCertPublicKeyAlgorithmThe textual description of the certificate's public key algorithm.
SSLCertPublicKeyLengthThe length of the certificate's public key (in bits).
SSLCertSerialNumberThe serial number of the certificate encoded as a string.
SSLCertSignatureAlgorithmThe text description of the certificate's signature algorithm.
SSLCertStoreThe name of the certificate store for the client certificate.
SSLCertStorePasswordIf the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
SSLCertStoreTypeThe type of certificate store for this certificate.
SSLCertSubjectAltNamesComma-separated lists of alternative subject names for the certificate.
SSLCertThumbprintMD5The MD5 hash of the certificate.
SSLCertThumbprintSHA1The SHA-1 hash of the certificate.
SSLCertThumbprintSHA256The SHA-256 hash of the certificate.
SSLCertUsageThe text description of UsageFlags .
SSLCertUsageFlagsThe flags that show intended use for the certificate.
SSLCertVersionThe certificate's version number.
SSLCertSubjectThe subject of the certificate used for client authentication.
SSLCertEncodedThe certificate (PEM/Base64 encoded).
SSLProviderThe Secure Sockets Layer/Transport Layer Security (SSL/TLS) implementation to use.
SSLServerCertEffectiveDateThe date on which this certificate becomes valid.
SSLServerCertExpirationDateThe date on which the certificate expires.
SSLServerCertExtendedKeyUsageA comma-delimited list of extended key usage identifiers.
SSLServerCertFingerprintThe hex-encoded, 16-byte MD5 fingerprint of the certificate.
SSLServerCertFingerprintSHA1The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.
SSLServerCertFingerprintSHA256The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.
SSLServerCertIssuerThe issuer of the certificate.
SSLServerCertPrivateKeyThe private key of the certificate (if available).
SSLServerCertPrivateKeyAvailableWhether a PrivateKey is available for the selected certificate.
SSLServerCertPrivateKeyContainerThe name of the PrivateKey container for the certificate (if available).
SSLServerCertPublicKeyThe public key of the certificate.
SSLServerCertPublicKeyAlgorithmThe textual description of the certificate's public key algorithm.
SSLServerCertPublicKeyLengthThe length of the certificate's public key (in bits).
SSLServerCertSerialNumberThe serial number of the certificate encoded as a string.
SSLServerCertSignatureAlgorithmThe text description of the certificate's signature algorithm.
SSLServerCertStoreThe name of the certificate store for the client certificate.
SSLServerCertStorePasswordIf the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.
SSLServerCertStoreTypeThe type of certificate store for this certificate.
SSLServerCertSubjectAltNamesComma-separated lists of alternative subject names for the certificate.
SSLServerCertThumbprintMD5The MD5 hash of the certificate.
SSLServerCertThumbprintSHA1The SHA-1 hash of the certificate.
SSLServerCertThumbprintSHA256The SHA-256 hash of the certificate.
SSLServerCertUsageThe text description of UsageFlags .
SSLServerCertUsageFlagsThe flags that show intended use for the certificate.
SSLServerCertVersionThe certificate's version number.
SSLServerCertSubjectThe subject of the certificate used for client authentication.
SSLServerCertEncodedThe certificate (PEM/Base64 encoded).
SSLStartModeThis property determines how the control starts the Secure Sockets Layer (SSL) negotiation.

Method List


The following is the full list of the methods of the control with short descriptions. Click on the links for further details.

BuildAndUploadFileBuilds an X9.37 file and uploads it to an FTP server.
BuildFileBuilds an X9.37 file.
ConfigSets or retrieves a configuration setting.
DoEventsThis method processes events from the internal message queue.
InterruptThis method interrupts the current method.
ResetReset the internal state of the control and all properties to their default values.

Event List


The following is the full list of the events fired by the control with short descriptions. Click on the links for further details.

ErrorInformation about non-fatal errors encountered during file construction.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusFired when secure connection progress messages are available.
StatusTraces the commands sent to the server, and the respective replies.

Config Settings


The following is a list of config settings for the control with short descriptions. Click on the links for further details.

AllowAllBOFDIndicatorsAllows for any value to be specified within the BOFDIndicator field.
ArchiveTypeIndicates the type of archive that supports each Check in this file.
ASCIIOutputIndicates whether to output ASCII or EBCDIC.
BOFDIndicatorIndicates whether the origin is also the bank of first deposit.
BundleCountTotal number of bundles in the file.
BundleCreationDateThe date the bundle is created.
BundleIdUnique identifier for the bundle inside the Cash Letter.
BundleIndexIndex of the current bundle.
CashLetterCreationDateThe date the cash letter is created.
CashLetterCreationTimeThe time the cash letter is created.
CheckIsCredit[i]Indicates whether a Check is to be sent as a Credit (61) Record.
CountryCodeA code that identifies the country in which the payor bank is located.
DetailAddendumRecordNumberThe Check Detail Addendum A Record Number.
FedWorkTypeFederal Reserve work type.
FileCreationDateThe date the file is created.
FileCreationTimeThe time the file is created.
FileIdA code used to uniquely identify this file.
FileUserFieldA User Field.
IncludeAddendAWhether to include Detail Addendum A Record.
OverwriteIndicates whether local files can be overwritten.
OverwriteRemoteFileIndicates whether remote files can be overwritten on the FTP server.
ResendIndicatorIndicates whether the file being built has been previously transmitted in its entirety.
ReservedFieldA field reserved for future use.
ReturnAcceptanceA code that indicates whether the institution that creates this file will or will not support electronic return processing.
TestFileIndicates whether the file being built is a test file or a production file.
CodePageThe system code page used for Unicode to Multibyte translations.
MaskSensitiveDataWhether sensitive data is masked in log messages.
UseInternalSecurityAPIWhether or not to use the system security libraries or an internal implementation.

BusinessDate Property (Check21 Control)

The year, month, and day that designates the business date at the Bank of First Deposit.

Syntax

check21control.BusinessDate[=string]

Default Value

""

Remarks

This property is 8 characters in length and in the format "YYYYMMDD". If no value is supplied in this property the current system date will be used.

This property is part of the Cash Letter Header record (type 10), Bundle Header record (type 20), Check Detail Addendum A record (type 26), and Image View Data record (type 52).

Data Type

String

CashLetterId Property (Check21 Control)

A code used to uniquely identify the cash letter inside the file.

Syntax

check21control.CashLetterId[=string]

Default Value

""

Remarks

This code identifies the cash letter, and is assigned by the institution that creates the file. This property is part of the Cash Letter Header record (type 10), and is 8 characters in length. The same value will also be used in the Bundle Header Record (type 20) for the "Bundle Id".

Data Type

String

CheckCount Property (Check21 Control)

The number of records in the Check arrays.

Syntax

check21control.CheckCount[=integer]

Default Value

0

Remarks

This property controls the size of the following arrays:

The array indices start at 0 and end at CheckCount - 1.

This property is not available at design time.

Data Type

Integer

CheckAmount Property (Check21 Control)

The US dollar value of the check.

Syntax

check21control.CheckAmount(CheckIndex)[=string]

Default Value

""

Remarks

The US dollar value of the check. This property is part of the Check detail record (type 25), and is 10 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBackImageCreationDate Property (Check21 Control)

Date assigned by the image creator for the image contained in BackImageData .

Syntax

check21control.CheckBackImageCreationDate(CheckIndex)[=string]

Default Value

""

Remarks

Date assigned by the image creator for the image contained in CheckBackImageData. This property is part of the Image View Detail record (type 50), and is in the format "YYYYMMDD".

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBackImageData Property (Check21 Control)

This property contains the scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .

Syntax

check21control.CheckBackImageData(CheckIndex)[=string]

Default Value

""

Remarks

This property contains the scanned image of the back of the physical check, in the format specified by CheckImageFormat and compressed using the designated CheckImageCompression. You may either specify the raw binary image data in this property, or specify the path and filename of an image on disk in the CheckBackImageFileName property. If both are specified CheckBackImageData will be used. If both properties are left empty, no records referencing the back image of the check will be added to the file.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .CheckBackImageDataB.

This property is not available at design time.

Data Type

Binary String

CheckBackImageFileName Property (Check21 Control)

This property contains location of a scanned image of the back of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .

Syntax

check21control.CheckBackImageFileName(CheckIndex)[=string]

Default Value

""

Remarks

This property contains location of a scanned image of the back of the physical check, in the format specified by CheckImageFormat and compressed using the designated CheckImageCompression. You may either specify the path and filename of an image on disk in this property, or you may set the raw binary image data in the CheckBackImageData property. If both properties are specified CheckBackImageData will be used and CheckBackImageFileName will be ignored. If both properties are left empty, no records referencing the back image of the check will be added to the file.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBackImageReferenceKey Property (Check21 Control)

A designator assigned by the ECE institution that uniquely identifies the BackImageData .

Syntax

check21control.CheckBackImageReferenceKey(CheckIndex)[=string]

Default Value

""

Remarks

A designator assigned by the ECE institution that uniquely identifies the CheckBackImageData. This designator could be a key that would be used by the creating institution to located the unique associated image, or it could provide a full access path and name that would allow direct external look up and access of the image. For example, this could be a URL.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBOFDAccountNumber Property (Check21 Control)

A number that identifies the depository account at the Bank of First Deposit.

Syntax

check21control.CheckBOFDAccountNumber(CheckIndex)[=string]

Default Value

""

Remarks

A number that identifies the depository account at the Bank of First Deposit. This property is part of the Check Detail Addendum A record (type 26), and is 18 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBOFDBranch Property (Check21 Control)

A code that identifies the branch at the Bank of First Deposit.

Syntax

check21control.CheckBOFDBranch(CheckIndex)[=string]

Default Value

""

Remarks

A code that identifies the branch at the Bank of First Deposit. This property is part of the Check Detail Addendum A record (type 26), and is 5 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBOFDConversionIndicator Property (Check21 Control)

A code that indicates the conversion within the processing institution between original paper check, image, and IRD.

Syntax

check21control.CheckBOFDConversionIndicator(CheckIndex)[=string]

Default Value

""

Remarks

A code that indicates the conversion within the processing institution between original paper check, image, and IRD. The indicator is specific to the action of this BOFD endorser. This property is part of the Check Detail Addendum A record (type 26), and may be set to one of the following values:

0Did not convert physical document.
1Original paper converted to IRD.
2Original paper converted to image.
3IRD converted to another IRD.
4Ird converted to image of IRD.
5Image converted to an IRD.
6Image converted to another image (ie: transcoded).
7Did not convert image (ie: same as source).
8Undetermined.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBOFDRoutingNumber Property (Check21 Control)

A number that identifies the Bank of First Deposit.

Syntax

check21control.CheckBOFDRoutingNumber(CheckIndex)[=string]

Default Value

""

Remarks

A number that identifies the Bank of First Deposit. This property is part of the Check Detail Addendum A record (type 26), and is exactly 9 characters long, including the check digit.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckBOFDTruncator Property (Check21 Control)

Identifies if this BOFD is the truncator of the original check.

Syntax

check21control.CheckBOFDTruncator(CheckIndex)[=boolean]

Default Value

True

Remarks

Identifies if this BOFD is the truncator of the original check. This property is part of the Check Detail Addendum A record (type 26), and is True by default.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

Boolean

CheckCanRecreateImages Property (Check21 Control)

A code that indicates whether the sender has the ability to recreate the check images (from the original source) for the duration of the agreed to retention time frame.

Syntax

check21control.CheckCanRecreateImages(CheckIndex)[=boolean]

Default Value

True

Remarks

A code that indicates whether the sender has the ability to recreate the check images (from the original source) for the duration of the agreed to retention time frame.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

Boolean

CheckFrontImageCreationDate Property (Check21 Control)

Date assigned by the image creator for the image contained in FrontImageData .

Syntax

check21control.CheckFrontImageCreationDate(CheckIndex)[=string]

Default Value

""

Remarks

Date assigned by the image creator for the image contained in CheckFrontImageData. This property is part of the Image View Detail record (type 50), and is in the format "YYYYMMDD".

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckFrontImageData Property (Check21 Control)

This property contains the scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .

Syntax

check21control.CheckFrontImageData(CheckIndex)[=string]

Default Value

""

Remarks

This property contains the scanned image of the front of the physical check, in the format specified by CheckImageFormat and compressed using the designated CheckImageCompression. You may either specify the raw binary image data in this property, or specify the path and filename of an image on disk in the CheckFrontImageFileName property. If both are specified CheckFrontImageData will be used. If both properties are left empty, no records referencing the front image of the check will be added to the file.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .CheckFrontImageDataB.

This property is not available at design time.

Data Type

Binary String

CheckFrontImageFileName Property (Check21 Control)

This property contains location of a scanned image of the front of the physical check, in the format specified by ImageFormat and compressed using the designated ImageCompression .

Syntax

check21control.CheckFrontImageFileName(CheckIndex)[=string]

Default Value

""

Remarks

This property contains location of a scanned image of the front of the physical check, in the format specified by CheckImageFormat and compressed using the designated CheckImageCompression. You may either specify the path and filename of an image on disk in this property, or you may set the raw binary image data in the CheckFrontImageData property. If both properties are specified CheckFrontImageData will be used and CheckFrontImageFileName will be ignored. If both properties are left empty, no records referencing the front image of the check will be added to the file.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckFrontImageReferenceKey Property (Check21 Control)

A designator assigned by the ECE institution that uniquely identifies the FrontImageData .

Syntax

check21control.CheckFrontImageReferenceKey(CheckIndex)[=string]

Default Value

""

Remarks

A designator assigned by the ECE institution that uniquely identifies the CheckFrontImageData. This designator could be a key that would be used by the creating institution to located the unique associated image, or it could provide a full access path and name that would allow direct external look up and access of the image. For example, this could be a URL.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckImageCompression Property (Check21 Control)

A code that identifies the algorithm or method used to compress the images stored in the FrontImageData and BackImageData properties.

Syntax

check21control.CheckImageCompression(CheckIndex)[=integer]

Possible Values

icFacsimile(0), 
icJPEG(1), 
icABIC(2), 
icPNG(21), 
icJBIG(22), 
icJPEG2000(23)

Default Value

1

Remarks

A code that identifies the algorithm or method used to compress the images stored in the CheckFrontImageData and CheckBackImageData properties. Values 0-20 may be used without a pre-existing agreement. Values 21-99 shall only be used when an agreement exists indicating that sender and receiver both support the specified image compression method and the method is specified below or on the X9 web site. This property is part of the Image View Detail record (type 50), and may be any of the values below:

icFacsimile (0)Group 4 facsimile compression
icJPEG (1)JPEG Baseline
icABIC (2)ABIC
3-20Reserved (agreement is not required)
icPNG (21)PNG
icJBIG (22)JBIG
icJPEG2000 (23)JPEG 2000
24-99Reserved for emerging image compression technologies as defined on the X9 web site. Only supported under agreement.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

Integer

CheckImageCreatorRoutingNumber Property (Check21 Control)

A number that identifies the financial institution that created the image (if different from BOFDRoutingNumber ).

Syntax

check21control.CheckImageCreatorRoutingNumber(CheckIndex)[=string]

Default Value

""

Remarks

A number that identifies the financial institution that created the image (if different from CheckBOFDRoutingNumber). This property is part of the Image View Detail record (type 50), and is exactly 9 characters long, including the check digit.

If this property is not specified the Originator routing number will be used.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckImageFormat Property (Check21 Control)

A code that identifies the type of image format used for the images contained in the FrontImageData and BackImageData properties.

Syntax

check21control.CheckImageFormat(CheckIndex)[=integer]

Possible Values

ifTIFF(0), 
ifIOCA(1), 
ifPNG(20), 
ifJFIF(21), 
ifSPIFF(22), 
ifJBIG(23), 
ifJPEG2000(24)

Default Value

0

Remarks

A code that identifies the type of image format used for the images contained in the CheckFrontImageData and CheckBackImageData properties. Values 0-19 may e used without a pre-existing agreement. Values 20-99 shall only be used when an agreement exists indicating that the sender and receiver both support the specified image format type and the type is specified below or on the X9 web site. The image format type is also commonly specified by reference to the file extension used when the CheckFrontImageData or CheckBackImageData is saved as an image file. The file extension for each image format is included below for reference.

ifTIFF (0)TIFF 6, extension: TIF.
ifIOCA (1)IOCA FS11, extension: ICA.
2-19Reserved (agreement is not required)
ifPNG (20)Portable Network Graphics, extension: PNG.
ifJFIF (21)JPEG File Interchange Format, extension: JPG.
ifSPIFF (22)Still Picture Interchange File Format, extension: SPF.
ifJBIG (23) JBIG data stream, extension: JBG.
ifJPEG2000 (24)JPEG 2000, extension: JP2.
25-99Reserved for image format and encapsulation technologies as defined on the X9 web site. Only supported under agreement.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

Integer

CheckMICRAuxOnUs Property (Check21 Control)

A code used on commercial checks at the discretion of the payor bank, read off of the MICR line on a check.

Syntax

check21control.CheckMICRAuxOnUs(CheckIndex)[=string]

Default Value

""

Remarks

A code used on commercial checks at the discretion of the payor bank, read off of the MICR line on a check. This property is part of the Check detail record (type 25), and is 15 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckMICROnUs Property (Check21 Control)

Account number data specified by the payor bank and read from the MICR line on a check.

Syntax

check21control.CheckMICROnUs(CheckIndex)[=string]

Default Value

""

Remarks

Account number data specified by the payor bank and read from the MICR line on a check. On-Us data usually consists of the payor's account number, a serial number or transaction code, or both.

ANS X9.37 requires the collecting bank to capture the entire On-Us field from the physical check. Blanks are to be suppressed, dashes are optional, and each On-Us symbol must be translated to a forward slash ('/'). This property is part of the Check detail record (type 25), and is 20 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckMICRProcessingCode Property (Check21 Control)

The external processing code from the MICR line of a check, if present.

Syntax

check21control.CheckMICRProcessingCode(CheckIndex)[=string]

Default Value

""

Remarks

The external processing code from the MICR line of a check, if present. This is also known as "Position 44",. and is used for special purposes as authorized by the Accredited Standards Committee X9. This property is part of the Check detail record (type 25), and is 1 character in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckMICRRoutingNumber Property (Check21 Control)

Payor bank routing number, read from the MICR line of a check.

Syntax

check21control.CheckMICRRoutingNumber(CheckIndex)[=string]

Default Value

""

Remarks

Payor bank routing number, read from the MICR line of a check. This number identifies the institution by or through which the item is payable. This property is part of the Check detail record (type 25), and is exactly 9 characters long, including the check digit.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckPayeeName Property (Check21 Control)

The name of the payee from the check.

Syntax

check21control.CheckPayeeName(CheckIndex)[=string]

Default Value

""

Remarks

The name of the payee from the check. This property is part of the Check Detail Addendum A record (type 26), and is 15 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CheckSequenceNumber Property (Check21 Control)

ECE Institution Item Sequence Number, assigned by the institution that creates the file.

Syntax

check21control.CheckSequenceNumber(CheckIndex)[=string]

Default Value

""

Remarks

ECE Institution Item Sequence Number, assigned by the institution that creates the file. The ECE institution must construct the sequence number to guarantee uniqueness for a given OriginRoutingNumber, BusinessDate, and CycleNumber. This property is part of the Check detail record (type 25) and Image View Data Record (type 52), and is 15 characters in length.

The CheckIndex parameter specifies the index of the item in the array. The size of the array is controlled by the CheckCount property.

This property is not available at design time.

Data Type

String

CollectionType Property (Check21 Control)

A code that indicates the type of cash letter and bundle contained in the file.

Syntax

check21control.CollectionType[=integer]

Possible Values

ctForwardInfo(1), 
ctFowardPresentment(2), 
ctForwardSameDay(3), 
ctNoDetail(20)

Default Value

1

Remarks

This property is part of the Cash Letter Header record (type 10), and is exactly 2 characters in length. Valid values for this property are listed below.

ctForwardInfo (1)Preliminary Forward Information - Used when information may change and the information is treated as not final.
ctForwardPresentment (2)Forward Presentment - For the collection and settlement of checks (demand instruments). Data is treated as final.
ctForwardSameDay (3)Forward Presentment, Same-Day Settlement - For the collection and settlement of checks (demand instruments) presented under the Federal Reserve's same day settlement amendments to Regulation CC. Data is treated as final.
ctNoDetail (20)No Detail - There are no checks contained within the file.

Data Type

Integer

CycleNumber Property (Check21 Control)

Denotes the cycle under which the file is created.

Syntax

check21control.CycleNumber[=string]

Default Value

""

Remarks

This code is assigned by the institution that creates the file. This property is part of the Bundle Header record (type 20) and Image View Data record (type 52).

Data Type

String

DestinationName Property (Check21 Control)

The short name that identifies the institution that receives the file.

Syntax

check21control.DestinationName[=string]

Default Value

""

Remarks

This property is part of the File Header record (type 01), and is exactly 9 characters long, including the check digit.

Data Type

String

DestinationRoutingNumber Property (Check21 Control)

This number identifies the institution that receives the file.

Syntax

check21control.DestinationRoutingNumber[=string]

Default Value

""

Remarks

This property is part of the File Header record (type 01), Cash Letter Header Record (type 10), and Bundle Header Record (type 20), and is exactly 9 characters long including the check digit.

Data Type

String

DocumentationType Property (Check21 Control)

A code that indicates the type of documentation that supports all Checks records in the file.

Syntax

check21control.DocumentationType[=string]

Default Value

""

Remarks

This property is part of the Cash Letter record (type 10) and Check detail record (type 25), and may be any of the values listed below:

ANo image provided, paper provided separately.
BNo image provided, paper provided separately, image upon request.
CImage provided separately, no paper provided.
DImage provided separately, no paper provided, image upon request.
EImage and paper provided separately.
FImage and paper provided separately, image upon request.
GImage included, no paper provided.
HImage included, no paper provided, image upon request.
IImage included, paper provided separately.
JImage included, paper provided separately, image upon request.
KNo image provided, no paper provided.
LNo image provided, no paper provided, image upon request.
MNo image provided, Electronic Check provided separately.

Data Type

String

FileData Property (Check21 Control)

Contains the binary contents of the X9.37 file created by the BuildFile method.

Syntax

check21control.FileData

Default Value

""

Remarks

If FileName is specified BuildFile will save to disk, and FileData will remain empty. However if FileName is blank, the file will be created in-memory and stored in this property.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .FileDataB.

This property is read-only.

Data Type

Binary String

FileName Property (Check21 Control)

Path and name of the file to be written to disk by the BuildFile method.

Syntax

check21control.FileName[=string]

Default Value

""

Remarks

If FileName is blank, the BuildFile method will create the file in-memory and store it in the FileData property.

When using the BuildAndUploadFile method, FileName is used slightly different. If a path and filename is specified, the file will be written to disk and uploaded to the FTPRemoteHost. If FileName contains only a path (and ends in "/" or "\"), that directory will be used to store temporary files before uploading to the FTPRemoteHost. If FileName is blank the system temp directory will be used. All temporary files are deleted after a successful upload.

Data Type

String

FTPPassword Property (Check21 Control)

The password to login with.

Syntax

check21control.FTPPassword[=string]

Default Value

""

Remarks

The password to login with. This property must be set before the control begins a file upload.

This property is not available at design time.

Data Type

String

FTPRemoteFile Property (Check21 Control)

The name of the file as it will appear on the server after upload.

Syntax

check21control.FTPRemoteFile[=string]

Default Value

""

Remarks

The name of the file as it will appear on the server after upload. The FTPRemoteFile can contain only the file name, an absolute path and filename, or a relative path based on FTPRemotePath.

This property is not available at design time.

Data Type

String

FTPRemoteHost Property (Check21 Control)

The domain name or IP address of the FTP server the file is to be uploaded to.

Syntax

check21control.FTPRemoteHost[=string]

Default Value

""

Remarks

The domain name or IP address of the FTP server the file is to be uploaded to.

The FTPRemoteHost property specifies the IP address (IP number in dotted internet format) or Domain Name of the FTP server. It is set before a connection is attempted and cannot be changed once a connection is in progress.

If the FTPRemoteHost property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the FTPRemoteHost property is set to the corresponding address. If the search is not successful, an error is returned.

If the control is configured to use a SOCKS firewall, the value assigned to this property may be preceded with an "*". If this is the case, the host name is passed to the firewall unresolved and the firewall performs the DNS resolution.

This property is not available at design time.

Data Type

String

FTPRemotePath Property (Check21 Control)

The current path on the FTP server.

Syntax

check21control.FTPRemotePath[=string]

Default Value

""

Remarks

The current path on the FTP server. The FTPRemotePath shows the current working directory on the FTP server. It can also be used to change the working directory by setting it to an absolute directory path, or a relative path with respect to the existing value of FTPRemotePath.

If the first two bytes of the new path are "..", then a change to one level above in the directory tree is performed.

The FTPRemotePath must be set before the control begins a file upload.

This property is not available at design time.

Data Type

String

FTPRemotePort Property (Check21 Control)

The port for the FTP service (default is 21).

Syntax

check21control.FTPRemotePort[=integer]

Default Value

21

Remarks

The port for the FTP service (default is 21). A valid port number (a value between 1 and 65535) is required for the connection to take place. The property must be set before a connection is attempted and cannot be changed once a connection is established. Any attempt to change this property while connected will fail with an error.

This property is not available at design time.

Data Type

Integer

FTPTimeout Property (Check21 Control)

A timeout to use when uploading via FTP.

Syntax

check21control.FTPTimeout[=integer]

Default Value

60

Remarks

A timeout to use when uploading via FTP.

When uploading the X9.37 file to the FTP FTPRemoteHost, the control will use this property to determine how long to wait for the operation to complete before returning control. The FTPTimeout property cannot be set to 0

The default value for the Timeout property is 60 (seconds).

This property is not available at design time.

Data Type

Integer

FTPUser Property (Check21 Control)

The user id to login as.

Syntax

check21control.FTPUser[=string]

Default Value

""

Remarks

The user id to login as. This property must be set before the control begins a file upload.

This property is not available at design time.

Data Type

String

OriginContactName Property (Check21 Control)

A contact at the institution that creates the file.

Syntax

check21control.OriginContactName[=string]

Default Value

""

Remarks

A contact at the institution that creates the file. This property is part of the File Control record (type 99), and is 14 characters in length.

This property is not available at design time.

Data Type

String

OriginContactPhone Property (Check21 Control)

The phone number of the ContactName at the institution that created the file.

Syntax

check21control.OriginContactPhone[=string]

Default Value

""

Remarks

The phone number of the OriginContactName at the institution that created the file. This property is part of the Cash Letter Header record (type 10) and File Control record (type 99), and is 10 characters in length.

This property is not available at design time.

Data Type

String

OriginName Property (Check21 Control)

The short name of the ECE institution that created the file.

Syntax

check21control.OriginName[=string]

Default Value

""

Remarks

The short name of the ECE institution that created the file. This property is part of the Cash Letter Header record (type 10) and Cash Letter Control record (type 90), and is 14 characters in length.

This property is not available at design time.

Data Type

String

OriginRoutingNumber Property (Check21 Control)

A number that identifies the ECE institution that originates the file.

Syntax

check21control.OriginRoutingNumber[=string]

Default Value

""

Remarks

A number that identifies the ECE institution that originates the file. This property is part of the File Header record (type 01) and Cash Letter Header record (type 10), and Bundle Header record (type 20), and is exactly 9 characters long including the check digit.

This property is not available at design time.

Data Type

String

RecordType Property (Check21 Control)

A code that indicates the type of records contained in this file.

Syntax

check21control.RecordType[=integer]

Possible Values

rtNoChecks(0), 
rtChecksNoImages(1), 
rtChecksAndImages(2), 
rtImagesForCashLetter(3)

Default Value

0

Remarks

If an image is associated with any (even one) CheckDetail detail record, this property must be set to rtChecksAndImages or rtImagesForCashLetter. This property is part of the Cash Letter record (type 10) and may be set to any of the values listed below:

rtNoChecksNo electronic check records or image records. (only applicable for an empty cash letter with no Checks.)
rtChecksNoImagesFile contains electronic check records with no images.
rtChecksAndImagesFile contains electronic check records with images.
rtImagesForCashLetterFile contains electronic check records and images that correspond to a previously sent file (ie, a file sent with a RecordType of rtChecksNoImages). The Checks in this file that contain posting data shall not be changed from the previously sent file with CollectionType 1 or 2.

Data Type

Integer

ReturnRoutingNumber Property (Check21 Control)

A routing number indicating the location to which returns and return notifications should be sent.

Syntax

check21control.ReturnRoutingNumber[=string]

Default Value

""

Remarks

This routing number is specified by the institution that creates the file, and specifies the location to which returns, return notifications, and preliminary return notifications should be sent. This property is part of the Bundle Header record (type 20), and is exactly 9 characters long including the check digit.

Data Type

String

SettlementDate Property (Check21 Control)

The date that the institution that created the file expects settlement.

Syntax

check21control.SettlementDate[=string]

Default Value

""

Remarks

This property is part of the Cash Letter Control record (type 90), and is in the format YYYYMMDD.

Data Type

String

SSLAcceptServerCertEffectiveDate Property (Check21 Control)

The date on which this certificate becomes valid.

Syntax

check21control.SSLAcceptServerCertEffectiveDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertExpirationDate Property (Check21 Control)

The date on which the certificate expires.

Syntax

check21control.SSLAcceptServerCertExpirationDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertExtendedKeyUsage Property (Check21 Control)

A comma-delimited list of extended key usage identifiers.

Syntax

check21control.SSLAcceptServerCertExtendedKeyUsage

Default Value

""

Remarks

A comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs).

This property is read-only.

Data Type

String

SSLAcceptServerCertFingerprint Property (Check21 Control)

The hex-encoded, 16-byte MD5 fingerprint of the certificate.

Syntax

check21control.SSLAcceptServerCertFingerprint

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLAcceptServerCertFingerprintSHA1 Property (Check21 Control)

The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.

Syntax

check21control.SSLAcceptServerCertFingerprintSHA1

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLAcceptServerCertFingerprintSHA256 Property (Check21 Control)

The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.

Syntax

check21control.SSLAcceptServerCertFingerprintSHA256

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLAcceptServerCertIssuer Property (Check21 Control)

The issuer of the certificate.

Syntax

check21control.SSLAcceptServerCertIssuer

Default Value

""

Remarks

The issuer of the certificate. This property contains a string representation of the name of the issuing authority for the certificate.

This property is read-only.

Data Type

String

SSLAcceptServerCertPrivateKey Property (Check21 Control)

The private key of the certificate (if available).

Syntax

check21control.SSLAcceptServerCertPrivateKey

Default Value

""

Remarks

The private key of the certificate (if available). The key is provided as PEM/Base64-encoded data.

Note: The SSLAcceptServerCertPrivateKey may be available but not exportable. In this case, SSLAcceptServerCertPrivateKey returns an empty string.

This property is read-only.

Data Type

String

SSLAcceptServerCertPrivateKeyAvailable Property (Check21 Control)

Whether a PrivateKey is available for the selected certificate.

Syntax

check21control.SSLAcceptServerCertPrivateKeyAvailable

Default Value

False

Remarks

Whether a SSLAcceptServerCertPrivateKey is available for the selected certificate. If SSLAcceptServerCertPrivateKeyAvailable is True, the certificate may be used for authentication purposes (e.g., server authentication).

This property is read-only.

Data Type

Boolean

SSLAcceptServerCertPrivateKeyContainer Property (Check21 Control)

The name of the PrivateKey container for the certificate (if available).

Syntax

check21control.SSLAcceptServerCertPrivateKeyContainer

Default Value

""

Remarks

The name of the SSLAcceptServerCertPrivateKey container for the certificate (if available). This functionality is available only on Windows platforms.

This property is read-only.

Data Type

String

SSLAcceptServerCertPublicKey Property (Check21 Control)

The public key of the certificate.

Syntax

check21control.SSLAcceptServerCertPublicKey

Default Value

""

Remarks

The public key of the certificate. The key is provided as PEM/Base64-encoded data.

This property is read-only.

Data Type

String

SSLAcceptServerCertPublicKeyAlgorithm Property (Check21 Control)

The textual description of the certificate's public key algorithm.

Syntax

check21control.SSLAcceptServerCertPublicKeyAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertPublicKeyLength Property (Check21 Control)

The length of the certificate's public key (in bits).

Syntax

check21control.SSLAcceptServerCertPublicKeyLength

Default Value

0

Remarks

The length of the certificate's public key (in bits). Common values are 512, 1024, and 2048.

This property is read-only.

Data Type

Integer

SSLAcceptServerCertSerialNumber Property (Check21 Control)

The serial number of the certificate encoded as a string.

Syntax

check21control.SSLAcceptServerCertSerialNumber

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertSignatureAlgorithm Property (Check21 Control)

The text description of the certificate's signature algorithm.

Syntax

check21control.SSLAcceptServerCertSignatureAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertStore Property (Check21 Control)

The name of the certificate store for the client certificate.

Syntax

check21control.SSLAcceptServerCertStore[=string]

Default Value

"MY"

Remarks

The name of the certificate store for the client certificate.

The SSLAcceptServerCertStoreType property denotes the type of the certificate store specified by SSLAcceptServerCertStore. If the store is password-protected, specify the password in SSLAcceptServerCertStorePassword.

SSLAcceptServerCertStore is used in conjunction with the SSLAcceptServerCertSubject property to specify client certificates. If SSLAcceptServerCertStore has a value, and SSLAcceptServerCertSubject or SSLAcceptServerCertEncoded is set, a search for a certificate is initiated. Please see the SSLAcceptServerCertSubject property for details.

Designations of certificate stores are platform dependent.

The following designations are the most common User and Machine certificate stores in Windows:

MYA certificate store holding personal certificates with their associated private keys.
CACertifying authority certificates.
ROOTRoot 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).

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLAcceptServerCertStoreB.

Data Type

Binary String

SSLAcceptServerCertStorePassword Property (Check21 Control)

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

Syntax

check21control.SSLAcceptServerCertStorePassword[=string]

Default Value

""

Remarks

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

Data Type

String

SSLAcceptServerCertStoreType Property (Check21 Control)

The type of certificate store for this certificate.

Syntax

check21control.SSLAcceptServerCertStoreType[=integer]

Possible Values

cstUser(0), 
cstMachine(1), 
cstPFXFile(2), 
cstPFXBlob(3), 
cstJKSFile(4), 
cstJKSBlob(5), 
cstPEMKeyFile(6), 
cstPEMKeyBlob(7), 
cstPublicKeyFile(8), 
cstPublicKeyBlob(9), 
cstSSHPublicKeyBlob(10), 
cstP7BFile(11), 
cstP7BBlob(12), 
cstSSHPublicKeyFile(13), 
cstPPKFile(14), 
cstPPKBlob(15), 
cstXMLFile(16), 
cstXMLBlob(17), 
cstJWKFile(18), 
cstJWKBlob(19), 
cstSecurityKey(20), 
cstBCFKSFile(21), 
cstBCFKSBlob(22), 
cstPKCS11(23), 
cstAuto(99)

Default Value

0

Remarks

The type of certificate store for this certificate.

The control supports both public and private keys in a variety of formats. When the cstAuto value is used, the control will automatically determine the type. This property can take one of the following values:

0 (cstUser - default)For Windows, this specifies that the certificate store is a certificate store owned by the current user.

Note: This store type is not available in Java.

1 (cstMachine)For Windows, this specifies that the certificate store is a machine store.

Note: This store type is not available in Java.

2 (cstPFXFile)The certificate store is the name of a PFX (PKCS#12) file containing certificates.
3 (cstPFXBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format.
4 (cstJKSFile)The certificate store is the name of a Java Key Store (JKS) file containing certificates.

Note: This store type is only available in Java.

5 (cstJKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.

Note: This store type is only available in Java.

6 (cstPEMKeyFile)The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
7 (cstPEMKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate.
8 (cstPublicKeyFile)The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
9 (cstPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate.
10 (cstSSHPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key.
11 (cstP7BFile)The certificate store is the name of a PKCS#7 file containing certificates.
12 (cstP7BBlob)The certificate store is a string (binary) representing a certificate store in PKCS#7 format.
13 (cstSSHPublicKeyFile)The certificate store is the name of a file that contains an SSH-style public key.
14 (cstPPKFile)The certificate store is the name of a file that contains a PPK (PuTTY Private Key).
15 (cstPPKBlob)The certificate store is a string (binary) that contains a PPK (PuTTY Private Key).
16 (cstXMLFile)The certificate store is the name of a file that contains a certificate in XML format.
17 (cstXMLBlob)The certificate store is a string that contains a certificate in XML format.
18 (cstJWKFile)The certificate store is the name of a file that contains a JWK (JSON Web Key).
19 (cstJWKBlob)The certificate store is a string that contains a JWK (JSON Web Key).
21 (cstBCFKSFile)The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).

Note: This store type is only available in Java and .NET.

22 (cstBCFKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.

Note: This store type is only available in Java and .NET.

23 (cstPKCS11)The certificate is present on a physical security key accessible via a PKCS#11 interface.

To use a security key, the necessary data must first be collected using the CertMgr control. 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 SSLAcceptServerCertStore and set SSLAcceptServerCertStorePassword to the PIN.

Code Example. SSH Authentication with Security Key: certmgr.CertStoreType = CertStoreTypes.cstPKCS11; certmgr.OnCertList += (s, e) => { secKeyBlob = e.CertEncoded; }; certmgr.CertStore = @"C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll"; certmgr.CertStorePassword = "123456"; //PIN certmgr.ListStoreCertificates(); sftp.SSHCert = new Certificate(CertStoreTypes.cstPKCS11, secKeyBlob, "123456", "*"); sftp.SSHUser = "test"; sftp.SSHLogon("myhost", 22);

99 (cstAuto)The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically.

Data Type

Integer

SSLAcceptServerCertSubjectAltNames Property (Check21 Control)

Comma-separated lists of alternative subject names for the certificate.

Syntax

check21control.SSLAcceptServerCertSubjectAltNames

Default Value

""

Remarks

Comma-separated lists of alternative subject names for the certificate.

This property is read-only.

Data Type

String

SSLAcceptServerCertThumbprintMD5 Property (Check21 Control)

The MD5 hash of the certificate.

Syntax

check21control.SSLAcceptServerCertThumbprintMD5

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertThumbprintSHA1 Property (Check21 Control)

The SHA-1 hash of the certificate.

Syntax

check21control.SSLAcceptServerCertThumbprintSHA1

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertThumbprintSHA256 Property (Check21 Control)

The SHA-256 hash of the certificate.

Syntax

check21control.SSLAcceptServerCertThumbprintSHA256

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertUsage Property (Check21 Control)

The text description of UsageFlags .

Syntax

check21control.SSLAcceptServerCertUsage

Default Value

""

Remarks

The text description of SSLAcceptServerCertUsageFlags.

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.

This property is read-only.

Data Type

String

SSLAcceptServerCertUsageFlags Property (Check21 Control)

The flags that show intended use for the certificate.

Syntax

check21control.SSLAcceptServerCertUsageFlags

Default Value

0

Remarks

The flags that show intended use for the certificate. The value of SSLAcceptServerCertUsageFlags is a combination of the following flags:

0x80Digital Signature
0x40Non-Repudiation
0x20Key Encipherment
0x10Data Encipherment
0x08Key Agreement
0x04Certificate Signing
0x02CRL Signing
0x01Encipher Only

Please see the SSLAcceptServerCertUsage property for a text representation of SSLAcceptServerCertUsageFlags.

This functionality currently is not available when the provider is OpenSSL.

This property is read-only.

Data Type

Integer

SSLAcceptServerCertVersion Property (Check21 Control)

The certificate's version number.

Syntax

check21control.SSLAcceptServerCertVersion

Default Value

""

Remarks

The certificate's version number. The possible values are the strings "V1", "V2", and "V3".

This property is read-only.

Data Type

String

SSLAcceptServerCertSubject Property (Check21 Control)

The subject of the certificate used for client authentication.

Syntax

check21control.SSLAcceptServerCertSubject[=string]

Default Value

""

Remarks

The subject of the certificate used for client authentication.

This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.

If a matching certificate is found, the property is set to the full subject of the matching certificate.

If an exact match is not found, the store is searched for subjects containing the value of the property.

If a match is still not found, the property is set to an empty string, and no certificate is selected.

The special value "*" picks a random certificate in the certificate store.

The certificate subject is a comma-separated list of distinguished name fields and values. For instance, "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are as follows:

FieldMeaning
CNCommon Name. This is commonly a hostname like www.server.com.
OOrganization
OUOrganizational Unit
LLocality
SState
CCountry
EEmail Address

If a field value contains a comma, it must be quoted.

Data Type

String

SSLAcceptServerCertEncoded Property (Check21 Control)

The certificate (PEM/Base64 encoded).

Syntax

check21control.SSLAcceptServerCertEncoded[=string]

Default Value

""

Remarks

The certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLAcceptServerCertStore and SSLAcceptServerCertSubject properties also may be used to specify a certificate.

When SSLAcceptServerCertEncoded is set, a search is initiated in the current SSLAcceptServerCertStore for the private key of the certificate. If the key is found, SSLAcceptServerCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLAcceptServerCertSubject is set to an empty string.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLAcceptServerCertEncodedB.

This property is not available at design time.

Data Type

Binary String

SSLCertEffectiveDate Property (Check21 Control)

The date on which this certificate becomes valid.

Syntax

check21control.SSLCertEffectiveDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertExpirationDate Property (Check21 Control)

The date on which the certificate expires.

Syntax

check21control.SSLCertExpirationDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertExtendedKeyUsage Property (Check21 Control)

A comma-delimited list of extended key usage identifiers.

Syntax

check21control.SSLCertExtendedKeyUsage

Default Value

""

Remarks

A comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs).

This property is read-only.

Data Type

String

SSLCertFingerprint Property (Check21 Control)

The hex-encoded, 16-byte MD5 fingerprint of the certificate.

Syntax

check21control.SSLCertFingerprint

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLCertFingerprintSHA1 Property (Check21 Control)

The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.

Syntax

check21control.SSLCertFingerprintSHA1

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLCertFingerprintSHA256 Property (Check21 Control)

The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.

Syntax

check21control.SSLCertFingerprintSHA256

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLCertIssuer Property (Check21 Control)

The issuer of the certificate.

Syntax

check21control.SSLCertIssuer

Default Value

""

Remarks

The issuer of the certificate. This property contains a string representation of the name of the issuing authority for the certificate.

This property is read-only.

Data Type

String

SSLCertPrivateKey Property (Check21 Control)

The private key of the certificate (if available).

Syntax

check21control.SSLCertPrivateKey

Default Value

""

Remarks

The private key of the certificate (if available). The key is provided as PEM/Base64-encoded data.

Note: The SSLCertPrivateKey may be available but not exportable. In this case, SSLCertPrivateKey returns an empty string.

This property is read-only.

Data Type

String

SSLCertPrivateKeyAvailable Property (Check21 Control)

Whether a PrivateKey is available for the selected certificate.

Syntax

check21control.SSLCertPrivateKeyAvailable

Default Value

False

Remarks

Whether a SSLCertPrivateKey is available for the selected certificate. If SSLCertPrivateKeyAvailable is True, the certificate may be used for authentication purposes (e.g., server authentication).

This property is read-only.

Data Type

Boolean

SSLCertPrivateKeyContainer Property (Check21 Control)

The name of the PrivateKey container for the certificate (if available).

Syntax

check21control.SSLCertPrivateKeyContainer

Default Value

""

Remarks

The name of the SSLCertPrivateKey container for the certificate (if available). This functionality is available only on Windows platforms.

This property is read-only.

Data Type

String

SSLCertPublicKey Property (Check21 Control)

The public key of the certificate.

Syntax

check21control.SSLCertPublicKey

Default Value

""

Remarks

The public key of the certificate. The key is provided as PEM/Base64-encoded data.

This property is read-only.

Data Type

String

SSLCertPublicKeyAlgorithm Property (Check21 Control)

The textual description of the certificate's public key algorithm.

Syntax

check21control.SSLCertPublicKeyAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertPublicKeyLength Property (Check21 Control)

The length of the certificate's public key (in bits).

Syntax

check21control.SSLCertPublicKeyLength

Default Value

0

Remarks

The length of the certificate's public key (in bits). Common values are 512, 1024, and 2048.

This property is read-only.

Data Type

Integer

SSLCertSerialNumber Property (Check21 Control)

The serial number of the certificate encoded as a string.

Syntax

check21control.SSLCertSerialNumber

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertSignatureAlgorithm Property (Check21 Control)

The text description of the certificate's signature algorithm.

Syntax

check21control.SSLCertSignatureAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertStore Property (Check21 Control)

The name of the certificate store for the client certificate.

Syntax

check21control.SSLCertStore[=string]

Default Value

"MY"

Remarks

The name of the certificate store for the client certificate.

The SSLCertStoreType property denotes the type of the certificate store specified by SSLCertStore. If the store is password-protected, specify the password in SSLCertStorePassword.

SSLCertStore is used in conjunction with the SSLCertSubject property to specify client certificates. If SSLCertStore has a value, and SSLCertSubject or SSLCertEncoded is set, a search for a certificate is initiated. Please see the SSLCertSubject property for details.

Designations of certificate stores are platform dependent.

The following designations are the most common User and Machine certificate stores in Windows:

MYA certificate store holding personal certificates with their associated private keys.
CACertifying authority certificates.
ROOTRoot 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).

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLCertStoreB.

Data Type

Binary String

SSLCertStorePassword Property (Check21 Control)

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

Syntax

check21control.SSLCertStorePassword[=string]

Default Value

""

Remarks

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

Data Type

String

SSLCertStoreType Property (Check21 Control)

The type of certificate store for this certificate.

Syntax

check21control.SSLCertStoreType[=integer]

Possible Values

cstUser(0), 
cstMachine(1), 
cstPFXFile(2), 
cstPFXBlob(3), 
cstJKSFile(4), 
cstJKSBlob(5), 
cstPEMKeyFile(6), 
cstPEMKeyBlob(7), 
cstPublicKeyFile(8), 
cstPublicKeyBlob(9), 
cstSSHPublicKeyBlob(10), 
cstP7BFile(11), 
cstP7BBlob(12), 
cstSSHPublicKeyFile(13), 
cstPPKFile(14), 
cstPPKBlob(15), 
cstXMLFile(16), 
cstXMLBlob(17), 
cstJWKFile(18), 
cstJWKBlob(19), 
cstSecurityKey(20), 
cstBCFKSFile(21), 
cstBCFKSBlob(22), 
cstPKCS11(23), 
cstAuto(99)

Default Value

0

Remarks

The type of certificate store for this certificate.

The control supports both public and private keys in a variety of formats. When the cstAuto value is used, the control will automatically determine the type. This property can take one of the following values:

0 (cstUser - default)For Windows, this specifies that the certificate store is a certificate store owned by the current user.

Note: This store type is not available in Java.

1 (cstMachine)For Windows, this specifies that the certificate store is a machine store.

Note: This store type is not available in Java.

2 (cstPFXFile)The certificate store is the name of a PFX (PKCS#12) file containing certificates.
3 (cstPFXBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format.
4 (cstJKSFile)The certificate store is the name of a Java Key Store (JKS) file containing certificates.

Note: This store type is only available in Java.

5 (cstJKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.

Note: This store type is only available in Java.

6 (cstPEMKeyFile)The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
7 (cstPEMKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate.
8 (cstPublicKeyFile)The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
9 (cstPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate.
10 (cstSSHPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key.
11 (cstP7BFile)The certificate store is the name of a PKCS#7 file containing certificates.
12 (cstP7BBlob)The certificate store is a string (binary) representing a certificate store in PKCS#7 format.
13 (cstSSHPublicKeyFile)The certificate store is the name of a file that contains an SSH-style public key.
14 (cstPPKFile)The certificate store is the name of a file that contains a PPK (PuTTY Private Key).
15 (cstPPKBlob)The certificate store is a string (binary) that contains a PPK (PuTTY Private Key).
16 (cstXMLFile)The certificate store is the name of a file that contains a certificate in XML format.
17 (cstXMLBlob)The certificate store is a string that contains a certificate in XML format.
18 (cstJWKFile)The certificate store is the name of a file that contains a JWK (JSON Web Key).
19 (cstJWKBlob)The certificate store is a string that contains a JWK (JSON Web Key).
21 (cstBCFKSFile)The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).

Note: This store type is only available in Java and .NET.

22 (cstBCFKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.

Note: This store type is only available in Java and .NET.

23 (cstPKCS11)The certificate is present on a physical security key accessible via a PKCS#11 interface.

To use a security key, the necessary data must first be collected using the CertMgr control. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use.

When using a certificate, pass the previously saved security key information as the SSLCertStore and set SSLCertStorePassword to the PIN.

Code Example. SSH Authentication with Security Key: certmgr.CertStoreType = CertStoreTypes.cstPKCS11; certmgr.OnCertList += (s, e) => { secKeyBlob = e.CertEncoded; }; certmgr.CertStore = @"C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll"; certmgr.CertStorePassword = "123456"; //PIN certmgr.ListStoreCertificates(); sftp.SSHCert = new Certificate(CertStoreTypes.cstPKCS11, secKeyBlob, "123456", "*"); sftp.SSHUser = "test"; sftp.SSHLogon("myhost", 22);

99 (cstAuto)The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically.

Data Type

Integer

SSLCertSubjectAltNames Property (Check21 Control)

Comma-separated lists of alternative subject names for the certificate.

Syntax

check21control.SSLCertSubjectAltNames

Default Value

""

Remarks

Comma-separated lists of alternative subject names for the certificate.

This property is read-only.

Data Type

String

SSLCertThumbprintMD5 Property (Check21 Control)

The MD5 hash of the certificate.

Syntax

check21control.SSLCertThumbprintMD5

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertThumbprintSHA1 Property (Check21 Control)

The SHA-1 hash of the certificate.

Syntax

check21control.SSLCertThumbprintSHA1

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertThumbprintSHA256 Property (Check21 Control)

The SHA-256 hash of the certificate.

Syntax

check21control.SSLCertThumbprintSHA256

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLCertUsage Property (Check21 Control)

The text description of UsageFlags .

Syntax

check21control.SSLCertUsage

Default Value

""

Remarks

The text description of SSLCertUsageFlags.

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.

This property is read-only.

Data Type

String

SSLCertUsageFlags Property (Check21 Control)

The flags that show intended use for the certificate.

Syntax

check21control.SSLCertUsageFlags

Default Value

0

Remarks

The flags that show intended use for the certificate. The value of SSLCertUsageFlags is a combination of the following flags:

0x80Digital Signature
0x40Non-Repudiation
0x20Key Encipherment
0x10Data Encipherment
0x08Key Agreement
0x04Certificate Signing
0x02CRL Signing
0x01Encipher Only

Please see the SSLCertUsage property for a text representation of SSLCertUsageFlags.

This functionality currently is not available when the provider is OpenSSL.

This property is read-only.

Data Type

Integer

SSLCertVersion Property (Check21 Control)

The certificate's version number.

Syntax

check21control.SSLCertVersion

Default Value

""

Remarks

The certificate's version number. The possible values are the strings "V1", "V2", and "V3".

This property is read-only.

Data Type

String

SSLCertSubject Property (Check21 Control)

The subject of the certificate used for client authentication.

Syntax

check21control.SSLCertSubject[=string]

Default Value

""

Remarks

The subject of the certificate used for client authentication.

This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.

If a matching certificate is found, the property is set to the full subject of the matching certificate.

If an exact match is not found, the store is searched for subjects containing the value of the property.

If a match is still not found, the property is set to an empty string, and no certificate is selected.

The special value "*" picks a random certificate in the certificate store.

The certificate subject is a comma-separated list of distinguished name fields and values. For instance, "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are as follows:

FieldMeaning
CNCommon Name. This is commonly a hostname like www.server.com.
OOrganization
OUOrganizational Unit
LLocality
SState
CCountry
EEmail Address

If a field value contains a comma, it must be quoted.

Data Type

String

SSLCertEncoded Property (Check21 Control)

The certificate (PEM/Base64 encoded).

Syntax

check21control.SSLCertEncoded[=string]

Default Value

""

Remarks

The certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLCertStore and SSLCertSubject properties also may be used to specify a certificate.

When SSLCertEncoded is set, a search is initiated in the current SSLCertStore for the private key of the certificate. If the key is found, SSLCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLCertSubject is set to an empty string.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLCertEncodedB.

This property is not available at design time.

Data Type

Binary String

SSLProvider Property (Check21 Control)

The Secure Sockets Layer/Transport Layer Security (SSL/TLS) implementation to use.

Syntax

check21control.SSLProvider[=integer]

Possible Values

sslpAutomatic(0), 
sslpPlatform(1), 
sslpInternal(2)

Default Value

0

Remarks

This property specifies the SSL/TLS implementation to use. In most cases the default value of 0 (Automatic) is recommended and should not be changed. When set to 0 (Automatic), the control 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.
Additional Notes

In most cases using the default value (Automatic) is recommended. The control will select a provider depending on the current platform.

When Automatic is selected, the platform implementation is used by default. When TLS 1.3 is enabled via SSLEnabledProtocols, the internal implementation is used.

Data Type

Integer

SSLServerCertEffectiveDate Property (Check21 Control)

The date on which this certificate becomes valid.

Syntax

check21control.SSLServerCertEffectiveDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertExpirationDate Property (Check21 Control)

The date on which the certificate expires.

Syntax

check21control.SSLServerCertExpirationDate

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertExtendedKeyUsage Property (Check21 Control)

A comma-delimited list of extended key usage identifiers.

Syntax

check21control.SSLServerCertExtendedKeyUsage

Default Value

""

Remarks

A comma-delimited list of extended key usage identifiers. These are the same as ASN.1 object identifiers (OIDs).

This property is read-only.

Data Type

String

SSLServerCertFingerprint Property (Check21 Control)

The hex-encoded, 16-byte MD5 fingerprint of the certificate.

Syntax

check21control.SSLServerCertFingerprint

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLServerCertFingerprintSHA1 Property (Check21 Control)

The hex-encoded, 20-byte SHA-1 fingerprint of the certificate.

Syntax

check21control.SSLServerCertFingerprintSHA1

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLServerCertFingerprintSHA256 Property (Check21 Control)

The hex-encoded, 32-byte SHA-256 fingerprint of the certificate.

Syntax

check21control.SSLServerCertFingerprintSHA256

Default Value

""

Remarks

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

This property is read-only.

Data Type

String

SSLServerCertIssuer Property (Check21 Control)

The issuer of the certificate.

Syntax

check21control.SSLServerCertIssuer

Default Value

""

Remarks

The issuer of the certificate. This property contains a string representation of the name of the issuing authority for the certificate.

This property is read-only.

Data Type

String

SSLServerCertPrivateKey Property (Check21 Control)

The private key of the certificate (if available).

Syntax

check21control.SSLServerCertPrivateKey

Default Value

""

Remarks

The private key of the certificate (if available). The key is provided as PEM/Base64-encoded data.

Note: The SSLServerCertPrivateKey may be available but not exportable. In this case, SSLServerCertPrivateKey returns an empty string.

This property is read-only.

Data Type

String

SSLServerCertPrivateKeyAvailable Property (Check21 Control)

Whether a PrivateKey is available for the selected certificate.

Syntax

check21control.SSLServerCertPrivateKeyAvailable

Default Value

False

Remarks

Whether a SSLServerCertPrivateKey is available for the selected certificate. If SSLServerCertPrivateKeyAvailable is True, the certificate may be used for authentication purposes (e.g., server authentication).

This property is read-only.

Data Type

Boolean

SSLServerCertPrivateKeyContainer Property (Check21 Control)

The name of the PrivateKey container for the certificate (if available).

Syntax

check21control.SSLServerCertPrivateKeyContainer

Default Value

""

Remarks

The name of the SSLServerCertPrivateKey container for the certificate (if available). This functionality is available only on Windows platforms.

This property is read-only.

Data Type

String

SSLServerCertPublicKey Property (Check21 Control)

The public key of the certificate.

Syntax

check21control.SSLServerCertPublicKey

Default Value

""

Remarks

The public key of the certificate. The key is provided as PEM/Base64-encoded data.

This property is read-only.

Data Type

String

SSLServerCertPublicKeyAlgorithm Property (Check21 Control)

The textual description of the certificate's public key algorithm.

Syntax

check21control.SSLServerCertPublicKeyAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertPublicKeyLength Property (Check21 Control)

The length of the certificate's public key (in bits).

Syntax

check21control.SSLServerCertPublicKeyLength

Default Value

0

Remarks

The length of the certificate's public key (in bits). Common values are 512, 1024, and 2048.

This property is read-only.

Data Type

Integer

SSLServerCertSerialNumber Property (Check21 Control)

The serial number of the certificate encoded as a string.

Syntax

check21control.SSLServerCertSerialNumber

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertSignatureAlgorithm Property (Check21 Control)

The text description of the certificate's signature algorithm.

Syntax

check21control.SSLServerCertSignatureAlgorithm

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertStore Property (Check21 Control)

The name of the certificate store for the client certificate.

Syntax

check21control.SSLServerCertStore

Default Value

"MY"

Remarks

The name of the certificate store for the client certificate.

The SSLServerCertStoreType property denotes the type of the certificate store specified by SSLServerCertStore. If the store is password-protected, specify the password in SSLServerCertStorePassword.

SSLServerCertStore is used in conjunction with the SSLServerCertSubject property to specify client certificates. If SSLServerCertStore has a value, and SSLServerCertSubject or SSLServerCertEncoded is set, a search for a certificate is initiated. Please see the SSLServerCertSubject property for details.

Designations of certificate stores are platform dependent.

The following designations are the most common User and Machine certificate stores in Windows:

MYA certificate store holding personal certificates with their associated private keys.
CACertifying authority certificates.
ROOTRoot 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).

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLServerCertStoreB.

This property is read-only.

Data Type

Binary String

SSLServerCertStorePassword Property (Check21 Control)

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

Syntax

check21control.SSLServerCertStorePassword

Default Value

""

Remarks

If the type of certificate store requires a password, this property is used to specify the password needed to open the certificate store.

This property is read-only.

Data Type

String

SSLServerCertStoreType Property (Check21 Control)

The type of certificate store for this certificate.

Syntax

check21control.SSLServerCertStoreType

Possible Values

cstUser(0), 
cstMachine(1), 
cstPFXFile(2), 
cstPFXBlob(3), 
cstJKSFile(4), 
cstJKSBlob(5), 
cstPEMKeyFile(6), 
cstPEMKeyBlob(7), 
cstPublicKeyFile(8), 
cstPublicKeyBlob(9), 
cstSSHPublicKeyBlob(10), 
cstP7BFile(11), 
cstP7BBlob(12), 
cstSSHPublicKeyFile(13), 
cstPPKFile(14), 
cstPPKBlob(15), 
cstXMLFile(16), 
cstXMLBlob(17), 
cstJWKFile(18), 
cstJWKBlob(19), 
cstSecurityKey(20), 
cstBCFKSFile(21), 
cstBCFKSBlob(22), 
cstPKCS11(23), 
cstAuto(99)

Default Value

0

Remarks

The type of certificate store for this certificate.

The control supports both public and private keys in a variety of formats. When the cstAuto value is used, the control will automatically determine the type. This property can take one of the following values:

0 (cstUser - default)For Windows, this specifies that the certificate store is a certificate store owned by the current user.

Note: This store type is not available in Java.

1 (cstMachine)For Windows, this specifies that the certificate store is a machine store.

Note: This store type is not available in Java.

2 (cstPFXFile)The certificate store is the name of a PFX (PKCS#12) file containing certificates.
3 (cstPFXBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format.
4 (cstJKSFile)The certificate store is the name of a Java Key Store (JKS) file containing certificates.

Note: This store type is only available in Java.

5 (cstJKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.

Note: This store type is only available in Java.

6 (cstPEMKeyFile)The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
7 (cstPEMKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate.
8 (cstPublicKeyFile)The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
9 (cstPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate.
10 (cstSSHPublicKeyBlob)The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key.
11 (cstP7BFile)The certificate store is the name of a PKCS#7 file containing certificates.
12 (cstP7BBlob)The certificate store is a string (binary) representing a certificate store in PKCS#7 format.
13 (cstSSHPublicKeyFile)The certificate store is the name of a file that contains an SSH-style public key.
14 (cstPPKFile)The certificate store is the name of a file that contains a PPK (PuTTY Private Key).
15 (cstPPKBlob)The certificate store is a string (binary) that contains a PPK (PuTTY Private Key).
16 (cstXMLFile)The certificate store is the name of a file that contains a certificate in XML format.
17 (cstXMLBlob)The certificate store is a string that contains a certificate in XML format.
18 (cstJWKFile)The certificate store is the name of a file that contains a JWK (JSON Web Key).
19 (cstJWKBlob)The certificate store is a string that contains a JWK (JSON Web Key).
21 (cstBCFKSFile)The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).

Note: This store type is only available in Java and .NET.

22 (cstBCFKSBlob)The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.

Note: This store type is only available in Java and .NET.

23 (cstPKCS11)The certificate is present on a physical security key accessible via a PKCS#11 interface.

To use a security key, the necessary data must first be collected using the CertMgr control. 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 SSLServerCertStore and set SSLServerCertStorePassword to the PIN.

Code Example. SSH Authentication with Security Key: certmgr.CertStoreType = CertStoreTypes.cstPKCS11; certmgr.OnCertList += (s, e) => { secKeyBlob = e.CertEncoded; }; certmgr.CertStore = @"C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll"; certmgr.CertStorePassword = "123456"; //PIN certmgr.ListStoreCertificates(); sftp.SSHCert = new Certificate(CertStoreTypes.cstPKCS11, secKeyBlob, "123456", "*"); sftp.SSHUser = "test"; sftp.SSHLogon("myhost", 22);

99 (cstAuto)The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically.

This property is read-only.

Data Type

Integer

SSLServerCertSubjectAltNames Property (Check21 Control)

Comma-separated lists of alternative subject names for the certificate.

Syntax

check21control.SSLServerCertSubjectAltNames

Default Value

""

Remarks

Comma-separated lists of alternative subject names for the certificate.

This property is read-only.

Data Type

String

SSLServerCertThumbprintMD5 Property (Check21 Control)

The MD5 hash of the certificate.

Syntax

check21control.SSLServerCertThumbprintMD5

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertThumbprintSHA1 Property (Check21 Control)

The SHA-1 hash of the certificate.

Syntax

check21control.SSLServerCertThumbprintSHA1

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertThumbprintSHA256 Property (Check21 Control)

The SHA-256 hash of the certificate.

Syntax

check21control.SSLServerCertThumbprintSHA256

Default Value

""

Remarks

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.

This property is read-only.

Data Type

String

SSLServerCertUsage Property (Check21 Control)

The text description of UsageFlags .

Syntax

check21control.SSLServerCertUsage

Default Value

""

Remarks

The text description of SSLServerCertUsageFlags.

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.

This property is read-only.

Data Type

String

SSLServerCertUsageFlags Property (Check21 Control)

The flags that show intended use for the certificate.

Syntax

check21control.SSLServerCertUsageFlags

Default Value

0

Remarks

The flags that show intended use for the certificate. The value of SSLServerCertUsageFlags is a combination of the following flags:

0x80Digital Signature
0x40Non-Repudiation
0x20Key Encipherment
0x10Data Encipherment
0x08Key Agreement
0x04Certificate Signing
0x02CRL Signing
0x01Encipher Only

Please see the SSLServerCertUsage property for a text representation of SSLServerCertUsageFlags.

This functionality currently is not available when the provider is OpenSSL.

This property is read-only.

Data Type

Integer

SSLServerCertVersion Property (Check21 Control)

The certificate's version number.

Syntax

check21control.SSLServerCertVersion

Default Value

""

Remarks

The certificate's version number. The possible values are the strings "V1", "V2", and "V3".

This property is read-only.

Data Type

String

SSLServerCertSubject Property (Check21 Control)

The subject of the certificate used for client authentication.

Syntax

check21control.SSLServerCertSubject

Default Value

""

Remarks

The subject of the certificate used for client authentication.

This property must be set after all other certificate properties are set. When this property is set, a search is performed in the current certificate store to locate a certificate with a matching subject.

If a matching certificate is found, the property is set to the full subject of the matching certificate.

If an exact match is not found, the store is searched for subjects containing the value of the property.

If a match is still not found, the property is set to an empty string, and no certificate is selected.

The special value "*" picks a random certificate in the certificate store.

The certificate subject is a comma-separated list of distinguished name fields and values. For instance, "CN=www.server.com, OU=test, C=US, E=support@nsoftware.com". Common fields and their meanings are as follows:

FieldMeaning
CNCommon Name. This is commonly a hostname like www.server.com.
OOrganization
OUOrganizational Unit
LLocality
SState
CCountry
EEmail Address

If a field value contains a comma, it must be quoted.

This property is read-only.

Data Type

String

SSLServerCertEncoded Property (Check21 Control)

The certificate (PEM/Base64 encoded).

Syntax

check21control.SSLServerCertEncoded

Default Value

""

Remarks

The certificate (PEM/Base64 encoded). This property is used to assign a specific certificate. The SSLServerCertStore and SSLServerCertSubject properties also may be used to specify a certificate.

When SSLServerCertEncoded is set, a search is initiated in the current SSLServerCertStore for the private key of the certificate. If the key is found, SSLServerCertSubject is updated to reflect the full subject of the selected certificate; otherwise, SSLServerCertSubject is set to an empty string.

To read or write binary data to the property, a Variant (Byte Array) version is provided in .SSLServerCertEncodedB.

This property is read-only and not available at design time.

Data Type

Binary String

SSLStartMode Property (Check21 Control)

This property determines how the control starts the Secure Sockets Layer (SSL) negotiation.

Syntax

check21control.SSLStartMode[=integer]

Possible Values

sslAutomatic(0), 
sslImplicit(1), 
sslExplicit(2), 
sslNone(3)

Default Value

3

Remarks

The SSLStartMode property may have one of the following values:

0 (sslAutomatic)If the remote port is set to the standard plaintext port of the protocol (where applicable), the control will behave the same as if SSLStartMode is set to sslExplicit. In all other cases, SSL negotiation will be implicit (sslImplicit).
1 (sslImplicit)The SSL negotiation will start immediately after the connection is established.
2 (sslExplicit)The control will first connect in plaintext, and then will explicitly start SSL negotiation through a protocol command such as STARTTLS.
3 (sslNone - default)No SSL negotiation; no SSL security. All communication will be in plaintext mode.

Data Type

Integer

BuildAndUploadFile Method (Check21 Control)

Builds an X9.37 file and uploads it to an FTP server.

Syntax

check21control.BuildAndUploadFile 

Remarks

This method builds a complete X9.37 file and uploads it to the server specified in the FTPRemoteHost property. If an FileName is specified, it will be saved on the local disc as well. If FileName contains only a path (FileName must terminate in a "/" or "\"), that path will be used to create a temporary file which will be deleted after the upload. If FileName is empty, the system temp directory will be used for creating the temporary file.

An X9.37 file created by this control will contain the following records:

  • File Header Record (1)
  • Cash Letter Header Record (1)
  • Bundle Header Record (1)
  • Check detail record structure (0 to CheckCount), which contains:
    • Check Detail Record (1)
    • Check Detail Addenda A (1)
    • Front Image View Detail Record (0 or 1)
    • Front Image View Data Record (0 or 1)
    • Back Image View Detail Record (0 or 1)
    • Back Image View Data Record (0 or 1)
  • Bundle Control Record (1)
  • Cash Letter Control Record (1)
  • File Control Record (1)

BuildFile Method (Check21 Control)

Builds an X9.37 file.

Syntax

check21control.BuildFile 

Remarks

This method builds a complete X9.37 file. If the FileName is specified, the file will be saved to the path and filename indicated there. If no FileName is given, the resultant file will be stored in memory, and can be accessed in the FileData property.

An X9.37 file created by this control will contain the following records:

  • File Header Record (1)
  • Cash Letter Header Record (1)
  • Bundle Header Record (1)
  • Check detail record structure (0 to CheckCount), which contains:
    • Check Detail Record (1)
    • Check Detail Addenda A (1)
    • Front Image View Detail Record (0 or 1)
    • Front Image View Data Record (0 or 1)
    • Back Image View Detail Record (0 or 1)
    • Back Image View Data Record (0 or 1)
  • Bundle Control Record (1)
  • Cash Letter Control Record (1)
  • File Control Record (1)

Config Method (Check21 Control)

Sets or retrieves a configuration setting.

Syntax

check21control.Config ConfigurationString

Remarks

Config is a generic method available in every control. It is used to set and retrieve configuration settings for the control.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the control, 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.

DoEvents Method (Check21 Control)

This method processes events from the internal message queue.

Syntax

check21control.DoEvents 

Remarks

When DoEvents is called, the control processes any available events. If no events are available, it waits for a preset period of time, and then returns.

Interrupt Method (Check21 Control)

This method interrupts the current method.

Syntax

check21control.Interrupt 

Remarks

If there is no method in progress, Interrupt simply returns, doing nothing.

Reset Method (Check21 Control)

Reset the internal state of the control and all properties to their default values.

Syntax

check21control.Reset 

Remarks

The Reset method doesn't have any parameters and doesn't return any value.

Error Event (Check21 Control)

Information about non-fatal errors encountered during file construction.

Syntax

Sub check21control_Error(ErrorCode As Integer, Description As String)

Remarks

The Error event is fired to warn the user that it may be operating differently than the user expects. For instance, if the CollectionType is set to ctNoDetail, but check detail records are provided in the Checks array properties the control will fire this event indicating that the specified Checks were ignored.

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

SSLServerAuthentication Event (Check21 Control)

Fired after the server presents its certificate to the client.

Syntax

Sub check21control_SSLServerAuthentication(CertEncoded As String, CertSubject As String, CertIssuer As String, Status As String, Accept As Boolean)

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 (Check21 Control)

Fired when secure connection progress messages are available.

Syntax

Sub check21control_SSLStatus(Message As String)

Remarks

The event is fired for informational and logging purposes only. This event tracks the progress of the connection.

Status Event (Check21 Control)

Traces the commands sent to the server, and the respective replies.

Syntax

Sub check21control_Status(Message As String)

Remarks

The Status event is useful for debugging purposes. It shows all the interaction between the client and the server, line by line.

Config Settings (Check21 Control)

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

Check21 Config Settings

AllowAllBOFDIndicators:   Allows for any value to be specified within the BOFDIndicator field.

The default value is False, indicating that the BOFDIndicator is limited to the allowable values listed.

ArchiveType:   Indicates the type of archive that supports each Check in this file.

This code indicates the way the Checks are archived. Access method, availability, and timeframes shall be defined by clearing arrangements. Valid values for this field include:

" " (space)Default value (not specified)
AMicrofilm.
BImage.
CPaper.
DMicrofilm and image.
EMicrofilm and paper.
FImage and paper.
GMicrofilm, image, and paper.
HElectronic Check Instrument.
INone.
ASCIIOutput:   Indicates whether to output ASCII or EBCDIC.

If set to True, the control will create check21 files using the ASCII character set instead of the default EBCDIC character set.

BOFDIndicator:   Indicates whether the origin is also the bank of first deposit.

This code indicates whether the ECE institution specified in the Origin properties is the Bank of First Deposit (BOFD). Allowable values include:

Y Indicates ECE institution is BOFD. (default)
N Indicates ECE institution is not BOFD.
U Indicates ECE institution relationship to BOFD is undetermined.
This setting is global for all checks.
BundleCount:   Total number of bundles in the file.

By default, each cash letter contains one bundle. If you wish to specify multiple bundles, increase the BundleCount and then set the BundleIndex to the bundle you wish to operate on. The CycleNumber, ReturnRoutingNumber, and Checks properties should be set for each bundle contained in the file.

BundleCreationDate:   The date the bundle is created.

The control normally uses the current system date when building the bundle inside a file. You can override this functionality by setting the BundleCreationDate manually through Config.

BundleId:   Unique identifier for the bundle inside the Cash Letter.

The control normally uses the same CashLetterId as the BundleId when constructing a bundle header record. You can override this functionality by setting the BundleId manually through Config.

BundleIndex:   Index of the current bundle.

By default, each cash letter contains one bundle. If you wish to specify multiple bundles, increase the BundleCount and then set the BundleIndex to the bundle you wish to operate on. The CycleNumber, ReturnRoutingNumber, and Checks properties should be set for each bundle contained in the file.

CashLetterCreationDate:   The date the cash letter is created.

The control normally uses the current system date when building the cash letter inside a file. You can override this functionality by setting the CashLetterCreationDate manually through Config.

CashLetterCreationTime:   The time the cash letter is created.

The control normally uses the current system time when building a the cash letter inside a file. You can override this functionality by setting the CashLetterCreationTime manually through Config.

CheckIsCredit[i]:   Indicates whether a Check is to be sent as a Credit (61) Record.

Valid array indices are from 0 to Checks.Count - 1.

When set to True, the Check at the specified index 'i' will be sent as a Credit Record (61) within the X9.37 file. The DocumentationType is used in the creation of this record as are the following Checks fields: MICRAuxOnUs, MICRProcessingCode, MICRRoutingNumber, MICROnUs, Amount, and SequenceNumber. The default value is False.

CountryCode:   A code that identifies the country in which the payor bank is located.

The default is "US".

DetailAddendumRecordNumber:   The Check Detail Addendum A Record Number.

This field is used to specify the record number within the Check Detail Addendum A Record. The default value used is '0' but can be changed with this field.

FedWorkType:   Federal Reserve work type.

A code that specifies the Federal Reserve work type. Valid values include:

1City.
2City Group.
3City Fine Sort.
4RCPC.
5RCPC Group.
6RCPC Fine Sort.
7High Dollar Group Sort.
8Country.
9Country Group Sort.
0Country Fine Sort.
AOther District.
BOther District Group Sort.
CMixed.
DCity/RCPC Mixed.
EPayor Group Sort.
FileCreationDate:   The date the file is created.

The control normally uses the current system date when building a file. You can override this functionality by setting the FileCreationDate manually through Config.

FileCreationTime:   The time the file is created.

The control normally uses the current system time when building a file. You can override this functionality by setting the FileCreationTime manually through Config.

FileId:   A code used to uniquely identify this file.

This 1-character code permits multiple files, created on the same date, same time, and between the same institutions to be distinguished from one another. This property is part of the File Header record (type 01), and has a default value of "0".

FileUserField:   A User Field.

A field used at the discretion of users.

IncludeAddendA:   Whether to include Detail Addendum A Record.

Whether to include Detail Addendum A Record (Record 26) in the file. Default value is True. If set to False the Detail Addendum A Record will not be included in the file.

Overwrite:   Indicates whether local files can be overwritten.

If the file specified by FileName exists and Overwrite is False, BuildFile and BuildAndUploadFile will fail with an error indicating the file exists. Overwrite is true by default.

OverwriteRemoteFile:   Indicates whether remote files can be overwritten on the FTP server.

If the file specified by FTPRemoteFile exists and OverwriteRemoteFile is False, BuildAndUploadFile will fail with an error indicating the file exists. OverwriteRemoteFile is true by default.

ResendIndicator:   Indicates whether the file being built has been previously transmitted in its entirety.

The default value for this setting is False.

ReservedField:   A field reserved for future use.

A field reserved for future use by the Accredited Standards Committee X9.

ReturnAcceptance:   A code that indicates whether the institution that creates this file will or will not support electronic return processing.

Valid values include:

0Will not accept any electronic information (default).
1Will accept preliminary return notifications, returns, and final return notifications.
2Will accept preliminary return notifications and returns.
3Will accept preliminary return notifications and final return notifications.
4Will accept returns and final return notifications.
5Will accept preliminary return notifications only.
6Will accept returns only.
7Will accept final return notifications only.
8Will accept preliminary return notifications, returns, final return notifications, and image returns.
9Will accept preliminary return notifications, returns, and image returns.
AWill accept preliminary return notifications, final return notifications, and image returns.
BWill accept returns, final return notifications, and image returns.
CWill accept preliminary return notifications and image returns.
DWill accept returns and image returns.
EWill accept final return notifications and image returns.
FWill accept image returns only.
TestFile:   Indicates whether the file being built is a test file or a production file.

The default value for TestFile is False, indicating that production files are being construction.

Base Config Settings

CodePage:   The system code page used for Unicode to Multibyte translations.

The default code page is Unicode UTF-8 (65001).

The following is a list of valid code page identifiers:

IdentifierName
037IBM EBCDIC - U.S./Canada
437OEM - United States
500IBM EBCDIC - International
708Arabic - ASMO 708
709Arabic - ASMO 449+, BCON V4
710Arabic - Transparent Arabic
720Arabic - Transparent ASMO
737OEM - Greek (formerly 437G)
775OEM - Baltic
850OEM - Multilingual Latin I
852OEM - Latin II
855OEM - Cyrillic (primarily Russian)
857OEM - Turkish
858OEM - Multilingual Latin I + Euro symbol
860OEM - Portuguese
861OEM - Icelandic
862OEM - Hebrew
863OEM - Canadian-French
864OEM - Arabic
865OEM - Nordic
866OEM - Russian
869OEM - Modern Greek
870IBM EBCDIC - Multilingual/ROECE (Latin-2)
874ANSI/OEM - Thai (same as 28605, ISO 8859-15)
875IBM EBCDIC - Modern Greek
932ANSI/OEM - Japanese, Shift-JIS
936ANSI/OEM - Simplified Chinese (PRC, Singapore)
949ANSI/OEM - Korean (Unified Hangul Code)
950ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC)
1026IBM EBCDIC - Turkish (Latin-5)
1047IBM EBCDIC - Latin 1/Open System
1140IBM EBCDIC - U.S./Canada (037 + Euro symbol)
1141IBM EBCDIC - Germany (20273 + Euro symbol)
1142IBM EBCDIC - Denmark/Norway (20277 + Euro symbol)
1143IBM EBCDIC - Finland/Sweden (20278 + Euro symbol)
1144IBM EBCDIC - Italy (20280 + Euro symbol)
1145IBM EBCDIC - Latin America/Spain (20284 + Euro symbol)
1146IBM EBCDIC - United Kingdom (20285 + Euro symbol)
1147IBM EBCDIC - France (20297 + Euro symbol)
1148IBM EBCDIC - International (500 + Euro symbol)
1149IBM EBCDIC - Icelandic (20871 + Euro symbol)
1200Unicode UCS-2 Little-Endian (BMP of ISO 10646)
1201Unicode UCS-2 Big-Endian
1250ANSI - Central European
1251ANSI - Cyrillic
1252ANSI - Latin I
1253ANSI - Greek
1254ANSI - Turkish
1255ANSI - Hebrew
1256ANSI - Arabic
1257ANSI - Baltic
1258ANSI/OEM - Vietnamese
1361Korean (Johab)
10000MAC - Roman
10001MAC - Japanese
10002MAC - Traditional Chinese (Big5)
10003MAC - Korean
10004MAC - Arabic
10005MAC - Hebrew
10006MAC - Greek I
10007MAC - Cyrillic
10008MAC - Simplified Chinese (GB 2312)
10010MAC - Romania
10017MAC - Ukraine
10021MAC - Thai
10029MAC - Latin II
10079MAC - Icelandic
10081MAC - Turkish
10082MAC - Croatia
12000Unicode UCS-4 Little-Endian
12001Unicode UCS-4 Big-Endian
20000CNS - Taiwan
20001TCA - Taiwan
20002Eten - Taiwan
20003IBM5550 - Taiwan
20004TeleText - Taiwan
20005Wang - Taiwan
20105IA5 IRV International Alphabet No. 5 (7-bit)
20106IA5 German (7-bit)
20107IA5 Swedish (7-bit)
20108IA5 Norwegian (7-bit)
20127US-ASCII (7-bit)
20261T.61
20269ISO 6937 Non-Spacing Accent
20273IBM EBCDIC - Germany
20277IBM EBCDIC - Denmark/Norway
20278IBM EBCDIC - Finland/Sweden
20280IBM EBCDIC - Italy
20284IBM EBCDIC - Latin America/Spain
20285IBM EBCDIC - United Kingdom
20290IBM EBCDIC - Japanese Katakana Extended
20297IBM EBCDIC - France
20420IBM EBCDIC - Arabic
20423IBM EBCDIC - Greek
20424IBM EBCDIC - Hebrew
20833IBM EBCDIC - Korean Extended
20838IBM EBCDIC - Thai
20866Russian - KOI8-R
20871IBM EBCDIC - Icelandic
20880IBM EBCDIC - Cyrillic (Russian)
20905IBM EBCDIC - Turkish
20924IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol)
20932JIS X 0208-1990 & 0121-1990
20936Simplified Chinese (GB2312)
21025IBM EBCDIC - Cyrillic (Serbian, Bulgarian)
21027Extended Alpha Lowercase
21866Ukrainian (KOI8-U)
28591ISO 8859-1 Latin I
28592ISO 8859-2 Central Europe
28593ISO 8859-3 Latin 3
28594ISO 8859-4 Baltic
28595ISO 8859-5 Cyrillic
28596ISO 8859-6 Arabic
28597ISO 8859-7 Greek
28598ISO 8859-8 Hebrew
28599ISO 8859-9 Latin 5
28605ISO 8859-15 Latin 9
29001Europa 3
38598ISO 8859-8 Hebrew
50220ISO 2022 Japanese with no halfwidth Katakana
50221ISO 2022 Japanese with halfwidth Katakana
50222ISO 2022 Japanese JIS X 0201-1989
50225ISO 2022 Korean
50227ISO 2022 Simplified Chinese
50229ISO 2022 Traditional Chinese
50930Japanese (Katakana) Extended
50931US/Canada and Japanese
50933Korean Extended and Korean
50935Simplified Chinese Extended and Simplified Chinese
50936Simplified Chinese
50937US/Canada and Traditional Chinese
50939Japanese (Latin) Extended and Japanese
51932EUC - Japanese
51936EUC - Simplified Chinese
51949EUC - Korean
51950EUC - Traditional Chinese
52936HZ-GB2312 Simplified Chinese
54936Windows XP: GB18030 Simplified Chinese (4 Byte)
57002ISCII Devanagari
57003ISCII Bengali
57004ISCII Tamil
57005ISCII Telugu
57006ISCII Assamese
57007ISCII Oriya
57008ISCII Kannada
57009ISCII Malayalam
57010ISCII Gujarati
57011ISCII Punjabi
65000Unicode UTF-7
65001Unicode UTF-8
The following is a list of valid code page identifiers for Mac OS only:
IdentifierName
1ASCII
2NEXTSTEP
3JapaneseEUC
4UTF8
5ISOLatin1
6Symbol
7NonLossyASCII
8ShiftJIS
9ISOLatin2
10Unicode
11WindowsCP1251
12WindowsCP1252
13WindowsCP1253
14WindowsCP1254
15WindowsCP1250
21ISO2022JP
30MacOSRoman
10UTF16String
0x90000100UTF16BigEndian
0x94000100UTF16LittleEndian
0x8c000100UTF32String
0x98000100UTF32BigEndian
0x9c000100UTF32LittleEndian
65536Proprietary

MaskSensitiveData:   Whether sensitive data is masked in log messages.

In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to to mask sensitive data. The default is .

This setting only works on these controls: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.

UseInternalSecurityAPI:   Whether or not to use the system security libraries or an internal implementation.

When set to , the control will use the system security libraries by default to perform cryptographic functions where applicable.

Setting this configuration setting to tells the control to use the internal implementation instead of using the system security libraries.

This setting is set to by default on all platforms.

Trappable Errors (Check21 Control)

Check21 Errors

20144    Busy performing current action

The control may also return one of the following error codes, which are inherited from other controls.